Mercurial > hg > isophonics-drupal-site
annotate vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FirstFindingVisitorTest.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +0100 |
parents | |
children | c2387f117808 |
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 use PHPUnit\Framework\TestCase; |
Chris@13 | 9 |
Chris@13 | 10 class FirstFindingVisitorTest extends TestCase |
Chris@13 | 11 { |
Chris@13 | 12 public function testFindFirstVariable() { |
Chris@13 | 13 $traverser = new NodeTraverser(); |
Chris@13 | 14 $visitor = new FirstFindingVisitor(function(Node $node) { |
Chris@13 | 15 return $node instanceof Node\Expr\Variable; |
Chris@13 | 16 }); |
Chris@13 | 17 $traverser->addVisitor($visitor); |
Chris@13 | 18 |
Chris@13 | 19 $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); |
Chris@13 | 20 $stmts = [new Node\Stmt\Expression($assign)]; |
Chris@13 | 21 |
Chris@13 | 22 $traverser->traverse($stmts); |
Chris@13 | 23 $this->assertSame($assign->var, $visitor->getFoundNode()); |
Chris@13 | 24 } |
Chris@13 | 25 |
Chris@13 | 26 public function testFindNone() { |
Chris@13 | 27 $traverser = new NodeTraverser(); |
Chris@13 | 28 $visitor = new FirstFindingVisitor(function(Node $node) { |
Chris@13 | 29 return $node instanceof Node\Expr\BinaryOp; |
Chris@13 | 30 }); |
Chris@13 | 31 $traverser->addVisitor($visitor); |
Chris@13 | 32 |
Chris@13 | 33 $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); |
Chris@13 | 34 $stmts = [new Node\Stmt\Expression($assign)]; |
Chris@13 | 35 |
Chris@13 | 36 $traverser->traverse($stmts); |
Chris@13 | 37 $this->assertSame(null, $visitor->getFoundNode()); |
Chris@13 | 38 } |
Chris@13 | 39 } |