Mercurial > hg > isophonics-drupal-site
annotate vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 5fb285c0d0e3 |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace PhpParser\Builder; |
Chris@0 | 4 |
Chris@0 | 5 use PhpParser\Comment; |
Chris@0 | 6 use PhpParser\Node\Name; |
Chris@0 | 7 use PhpParser\Node\Stmt; |
Chris@0 | 8 |
Chris@0 | 9 class TraitTest extends \PHPUnit_Framework_TestCase |
Chris@0 | 10 { |
Chris@0 | 11 protected function createTraitBuilder($class) { |
Chris@0 | 12 return new Trait_($class); |
Chris@0 | 13 } |
Chris@0 | 14 |
Chris@0 | 15 public function testStmtAddition() { |
Chris@0 | 16 $method1 = new Stmt\ClassMethod('test1'); |
Chris@0 | 17 $method2 = new Stmt\ClassMethod('test2'); |
Chris@0 | 18 $method3 = new Stmt\ClassMethod('test3'); |
Chris@0 | 19 $prop = new Stmt\Property(Stmt\Class_::MODIFIER_PUBLIC, array( |
Chris@0 | 20 new Stmt\PropertyProperty('test') |
Chris@0 | 21 )); |
Chris@0 | 22 $use = new Stmt\TraitUse([new Name('OtherTrait')]); |
Chris@0 | 23 $trait = $this->createTraitBuilder('TestTrait') |
Chris@0 | 24 ->setDocComment('/** Nice trait */') |
Chris@0 | 25 ->addStmt($method1) |
Chris@0 | 26 ->addStmts([$method2, $method3]) |
Chris@0 | 27 ->addStmt($prop) |
Chris@0 | 28 ->addStmt($use) |
Chris@0 | 29 ->getNode(); |
Chris@0 | 30 $this->assertEquals(new Stmt\Trait_('TestTrait', [ |
Chris@0 | 31 'stmts' => [$use, $prop, $method1, $method2, $method3] |
Chris@0 | 32 ], [ |
Chris@0 | 33 'comments' => [ |
Chris@0 | 34 new Comment\Doc('/** Nice trait */') |
Chris@0 | 35 ] |
Chris@0 | 36 ]), $trait); |
Chris@0 | 37 } |
Chris@0 | 38 |
Chris@0 | 39 /** |
Chris@0 | 40 * @expectedException \LogicException |
Chris@0 | 41 * @expectedExceptionMessage Unexpected node of type "Stmt_Echo" |
Chris@0 | 42 */ |
Chris@0 | 43 public function testInvalidStmtError() { |
Chris@0 | 44 $this->createTraitBuilder('Test') |
Chris@0 | 45 ->addStmt(new Stmt\Echo_(array())) |
Chris@0 | 46 ; |
Chris@0 | 47 } |
Chris@0 | 48 } |