forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace PhpParser\Builder;
 | 
						|
 | 
						|
use PhpParser\Node;
 | 
						|
use PhpParser\Node\Stmt;
 | 
						|
 | 
						|
class NamespaceTest extends \PHPUnit_Framework_TestCase
 | 
						|
{
 | 
						|
    protected function createNamespaceBuilder($fqn) {
 | 
						|
        return new Namespace_($fqn);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testCreation() {
 | 
						|
        $stmt1 = new Stmt\Class_('SomeClass');
 | 
						|
        $stmt2 = new Stmt\Interface_('SomeInterface');
 | 
						|
        $stmt3 = new Stmt\Function_('someFunction');
 | 
						|
        $expected = new Stmt\Namespace_(
 | 
						|
            new Node\Name('Name\Space'),
 | 
						|
            array($stmt1, $stmt2, $stmt3)
 | 
						|
        );
 | 
						|
 | 
						|
        $node = $this->createNamespaceBuilder('Name\Space')
 | 
						|
            ->addStmt($stmt1)
 | 
						|
            ->addStmts(array($stmt2, $stmt3))
 | 
						|
            ->getNode()
 | 
						|
        ;
 | 
						|
        $this->assertEquals($expected, $node);
 | 
						|
 | 
						|
        $node = $this->createNamespaceBuilder(new Node\Name(array('Name', 'Space')))
 | 
						|
            ->addStmts(array($stmt1, $stmt2))
 | 
						|
            ->addStmt($stmt3)
 | 
						|
            ->getNode()
 | 
						|
        ;
 | 
						|
        $this->assertEquals($expected, $node);
 | 
						|
 | 
						|
        $node = $this->createNamespaceBuilder(null)->getNode();
 | 
						|
        $this->assertNull($node->name);
 | 
						|
        $this->assertEmpty($node->stmts);
 | 
						|
    }
 | 
						|
}
 |