PhpParser\NodeVisitor\NameResolverTest::testAddRuntimeResolvedNamespacedName PHP Method

testAddRuntimeResolvedNamespacedName() public method

    public function testAddRuntimeResolvedNamespacedName() {
        $stmts = array(
            new Stmt\Namespace_(new Name('NS'), array(
                new Expr\FuncCall(new Name('foo')),
                new Expr\ConstFetch(new Name('FOO')),
            )),
            new Stmt\Namespace_(null, array(
                new Expr\FuncCall(new Name('foo')),
                new Expr\ConstFetch(new Name('FOO')),
            )),
        );

        $traverser = new PhpParser\NodeTraverser;
        $traverser->addVisitor(new NameResolver);
        $stmts = $traverser->traverse($stmts);
        
        $this->assertSame('NS\\foo', (string) $stmts[0]->stmts[0]->name->getAttribute('namespacedName'));
        $this->assertSame('NS\\FOO', (string) $stmts[0]->stmts[1]->name->getAttribute('namespacedName'));

        $this->assertFalse($stmts[1]->stmts[0]->name->hasAttribute('namespacedName'));
        $this->assertFalse($stmts[1]->stmts[1]->name->hasAttribute('namespacedName'));
    }