Mercurial > hg > isophonics-drupal-site
annotate vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FirstFindingVisitorTest.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@13 | 2 |
Chris@13 | 3 namespace PhpParser\NodeVisitor; |
Chris@13 | 4 |
Chris@13 | 5 use PhpParser\Node; |
Chris@13 | 6 use PhpParser\Node\Expr; |
Chris@13 | 7 use PhpParser\NodeTraverser; |
Chris@13 | 8 |
Chris@17 | 9 class FirstFindingVisitorTest extends \PHPUnit\Framework\TestCase |
Chris@13 | 10 { |
Chris@13 | 11 public function testFindFirstVariable() { |
Chris@13 | 12 $traverser = new NodeTraverser(); |
Chris@13 | 13 $visitor = new FirstFindingVisitor(function(Node $node) { |
Chris@13 | 14 return $node instanceof Node\Expr\Variable; |
Chris@13 | 15 }); |
Chris@13 | 16 $traverser->addVisitor($visitor); |
Chris@13 | 17 |
Chris@13 | 18 $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); |
Chris@13 | 19 $stmts = [new Node\Stmt\Expression($assign)]; |
Chris@13 | 20 |
Chris@13 | 21 $traverser->traverse($stmts); |
Chris@13 | 22 $this->assertSame($assign->var, $visitor->getFoundNode()); |
Chris@13 | 23 } |
Chris@13 | 24 |
Chris@13 | 25 public function testFindNone() { |
Chris@13 | 26 $traverser = new NodeTraverser(); |
Chris@13 | 27 $visitor = new FirstFindingVisitor(function(Node $node) { |
Chris@13 | 28 return $node instanceof Node\Expr\BinaryOp; |
Chris@13 | 29 }); |
Chris@13 | 30 $traverser->addVisitor($visitor); |
Chris@13 | 31 |
Chris@13 | 32 $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); |
Chris@13 | 33 $stmts = [new Node\Stmt\Expression($assign)]; |
Chris@13 | 34 |
Chris@13 | 35 $traverser->traverse($stmts); |
Chris@16 | 36 $this->assertNull($visitor->getFoundNode()); |
Chris@13 | 37 } |
Chris@13 | 38 } |