WP File Manager
Current Path:
/
home
/
itutorethiopia
/
public_html
/
vendor
/
nikic
/
php-parser
/
test
/
PhpParser
/
NodeVisitor
/
Name
Action
..
FindingVisitorTest.php
Edit
FirstFindingVisitorTest.php
Edit
NameResolverTest.php
Edit
Editing: FirstFindingVisitorTest.php
<?php declare(strict_types=1); namespace PhpParser\NodeVisitor; use PhpParser\Node; use PhpParser\Node\Expr; use PhpParser\NodeTraverser; use PHPUnit\Framework\TestCase; class FirstFindingVisitorTest extends TestCase { public function testFindFirstVariable() { $traverser = new NodeTraverser(); $visitor = new FirstFindingVisitor(function(Node $node) { return $node instanceof Node\Expr\Variable; }); $traverser->addVisitor($visitor); $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); $stmts = [new Node\Stmt\Expression($assign)]; $traverser->traverse($stmts); $this->assertSame($assign->var, $visitor->getFoundNode()); } public function testFindNone() { $traverser = new NodeTraverser(); $visitor = new FirstFindingVisitor(function(Node $node) { return $node instanceof Node\Expr\BinaryOp; }); $traverser->addVisitor($visitor); $assign = new Expr\Assign(new Expr\Variable('a'), new Expr\Variable('b')); $stmts = [new Node\Stmt\Expression($assign)]; $traverser->traverse($stmts); $this->assertNull($visitor->getFoundNode()); } }