annotate vendor/nikic/php-parser/test/PhpParser/Builder/NamespaceTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@13 1 <?php declare(strict_types=1);
Chris@0 2
Chris@0 3 namespace PhpParser\Builder;
Chris@0 4
Chris@0 5 use PhpParser\Comment\Doc;
Chris@0 6 use PhpParser\Node;
Chris@0 7 use PhpParser\Node\Stmt;
Chris@0 8
Chris@17 9 class NamespaceTest extends \PHPUnit\Framework\TestCase
Chris@0 10 {
Chris@0 11 protected function createNamespaceBuilder($fqn) {
Chris@0 12 return new Namespace_($fqn);
Chris@0 13 }
Chris@0 14
Chris@0 15 public function testCreation() {
Chris@0 16 $stmt1 = new Stmt\Class_('SomeClass');
Chris@0 17 $stmt2 = new Stmt\Interface_('SomeInterface');
Chris@0 18 $stmt3 = new Stmt\Function_('someFunction');
Chris@0 19 $docComment = new Doc('/** Test */');
Chris@0 20 $expected = new Stmt\Namespace_(
Chris@0 21 new Node\Name('Name\Space'),
Chris@13 22 [$stmt1, $stmt2, $stmt3],
Chris@13 23 ['comments' => [$docComment]]
Chris@0 24 );
Chris@0 25
Chris@0 26 $node = $this->createNamespaceBuilder('Name\Space')
Chris@0 27 ->addStmt($stmt1)
Chris@13 28 ->addStmts([$stmt2, $stmt3])
Chris@0 29 ->setDocComment($docComment)
Chris@0 30 ->getNode()
Chris@0 31 ;
Chris@0 32 $this->assertEquals($expected, $node);
Chris@0 33
Chris@13 34 $node = $this->createNamespaceBuilder(new Node\Name(['Name', 'Space']))
Chris@0 35 ->setDocComment($docComment)
Chris@13 36 ->addStmts([$stmt1, $stmt2])
Chris@0 37 ->addStmt($stmt3)
Chris@0 38 ->getNode()
Chris@0 39 ;
Chris@0 40 $this->assertEquals($expected, $node);
Chris@0 41
Chris@0 42 $node = $this->createNamespaceBuilder(null)->getNode();
Chris@0 43 $this->assertNull($node->name);
Chris@0 44 $this->assertEmpty($node->stmts);
Chris@0 45 }
Chris@0 46 }