Mercurial > hg > isophonics-drupal-site
diff vendor/nikic/php-parser/test/PhpParser/Builder/NamespaceTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 5fb285c0d0e3 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/nikic/php-parser/test/PhpParser/Builder/NamespaceTest.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,46 @@ +<?php + +namespace PhpParser\Builder; + +use PhpParser\Comment\Doc; +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'); + $docComment = new Doc('/** Test */'); + $expected = new Stmt\Namespace_( + new Node\Name('Name\Space'), + array($stmt1, $stmt2, $stmt3), + array('comments' => array($docComment)) + ); + + $node = $this->createNamespaceBuilder('Name\Space') + ->addStmt($stmt1) + ->addStmts(array($stmt2, $stmt3)) + ->setDocComment($docComment) + ->getNode() + ; + $this->assertEquals($expected, $node); + + $node = $this->createNamespaceBuilder(new Node\Name(array('Name', 'Space'))) + ->setDocComment($docComment) + ->addStmts(array($stmt1, $stmt2)) + ->addStmt($stmt3) + ->getNode() + ; + $this->assertEquals($expected, $node); + + $node = $this->createNamespaceBuilder(null)->getNode(); + $this->assertNull($node->name); + $this->assertEmpty($node->stmts); + } +}