adaeb3a5edaef899148639e930e3b518495a4d58
[yaffs-website] / vendor / nikic / php-parser / test / PhpParser / Builder / UseTest.php
1 <?php
2
3 use PhpParser\Builder;
4 use PhpParser\Node\Name;
5 use PhpParser\Node\Stmt;
6
7 class UseTest extends \PHPUnit_Framework_TestCase
8 {
9     protected function createUseBuilder($name, $type = Stmt\Use_::TYPE_NORMAL) {
10         return new Builder\Use_($name, $type);
11     }
12
13     public function testCreation() {
14         $node = $this->createUseBuilder('Foo\Bar')->getNode();
15         $this->assertEquals(new Stmt\Use_(array(
16             new Stmt\UseUse(new Name('Foo\Bar'), 'Bar')
17         )), $node);
18
19         $node = $this->createUseBuilder(new Name('Foo\Bar'))->as('XYZ')->getNode();
20         $this->assertEquals(new Stmt\Use_(array(
21             new Stmt\UseUse(new Name('Foo\Bar'), 'XYZ')
22         )), $node);
23
24         $node = $this->createUseBuilder('foo\bar', Stmt\Use_::TYPE_FUNCTION)->as('foo')->getNode();
25         $this->assertEquals(new Stmt\Use_(array(
26             new Stmt\UseUse(new Name('foo\bar'), 'foo')
27         ), Stmt\Use_::TYPE_FUNCTION), $node);
28     }
29
30     public function testNonExistingMethod() {
31         $this->setExpectedException('LogicException', 'Method "foo" does not exist');
32         $builder = $this->createUseBuilder('Test');
33         $builder->foo();
34     }
35 }