Mercurial > hg > isophonics-drupal-site
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4c8ae668cc8c |
---|---|
1 <?php | |
2 | |
3 namespace PhpParser\Builder; | |
4 | |
5 use PhpParser\Comment\Doc; | |
6 use PhpParser\Node; | |
7 use PhpParser\Node\Stmt; | |
8 | |
9 class NamespaceTest extends \PHPUnit_Framework_TestCase | |
10 { | |
11 protected function createNamespaceBuilder($fqn) { | |
12 return new Namespace_($fqn); | |
13 } | |
14 | |
15 public function testCreation() { | |
16 $stmt1 = new Stmt\Class_('SomeClass'); | |
17 $stmt2 = new Stmt\Interface_('SomeInterface'); | |
18 $stmt3 = new Stmt\Function_('someFunction'); | |
19 $docComment = new Doc('/** Test */'); | |
20 $expected = new Stmt\Namespace_( | |
21 new Node\Name('Name\Space'), | |
22 array($stmt1, $stmt2, $stmt3), | |
23 array('comments' => array($docComment)) | |
24 ); | |
25 | |
26 $node = $this->createNamespaceBuilder('Name\Space') | |
27 ->addStmt($stmt1) | |
28 ->addStmts(array($stmt2, $stmt3)) | |
29 ->setDocComment($docComment) | |
30 ->getNode() | |
31 ; | |
32 $this->assertEquals($expected, $node); | |
33 | |
34 $node = $this->createNamespaceBuilder(new Node\Name(array('Name', 'Space'))) | |
35 ->setDocComment($docComment) | |
36 ->addStmts(array($stmt1, $stmt2)) | |
37 ->addStmt($stmt3) | |
38 ->getNode() | |
39 ; | |
40 $this->assertEquals($expected, $node); | |
41 | |
42 $node = $this->createNamespaceBuilder(null)->getNode(); | |
43 $this->assertNull($node->name); | |
44 $this->assertEmpty($node->stmts); | |
45 } | |
46 } |