Mercurial > hg > isophonics-drupal-site
view vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php @ 12:7a779792577d
Update Drupal core to v8.4.5 (via Composer)
author | Chris Cannam |
---|---|
date | Fri, 23 Feb 2018 15:52:07 +0000 |
parents | 4c8ae668cc8c |
children | 5fb285c0d0e3 |
line wrap: on
line source
<?php namespace PhpParser\Builder; use PhpParser\Comment; use PhpParser\Node\Name; use PhpParser\Node\Stmt; class TraitTest extends \PHPUnit_Framework_TestCase { protected function createTraitBuilder($class) { return new Trait_($class); } public function testStmtAddition() { $method1 = new Stmt\ClassMethod('test1'); $method2 = new Stmt\ClassMethod('test2'); $method3 = new Stmt\ClassMethod('test3'); $prop = new Stmt\Property(Stmt\Class_::MODIFIER_PUBLIC, array( new Stmt\PropertyProperty('test') )); $use = new Stmt\TraitUse([new Name('OtherTrait')]); $trait = $this->createTraitBuilder('TestTrait') ->setDocComment('/** Nice trait */') ->addStmt($method1) ->addStmts([$method2, $method3]) ->addStmt($prop) ->addStmt($use) ->getNode(); $this->assertEquals(new Stmt\Trait_('TestTrait', [ 'stmts' => [$use, $prop, $method1, $method2, $method3] ], [ 'comments' => [ new Comment\Doc('/** Nice trait */') ] ]), $trait); } /** * @expectedException \LogicException * @expectedExceptionMessage Unexpected node of type "Stmt_Echo" */ public function testInvalidStmtError() { $this->createTraitBuilder('Test') ->addStmt(new Stmt\Echo_(array())) ; } }