PhpMigration\Utils\TestHelper::runChange PHP Méthode

runChange() public static méthode

public static runChange ( $change, $code )
    public static function runChange($change, $code)
    {
        static $traverser_pre, $parser;
        $code = '<?php ' . $code;
        $visitor = new CheckVisitor([$change]);
        $traverser = new NodeTraverser();
        $traverser->addVisitor($visitor);
        $visitor->prepare();
        $visitor->setCode($code);
        if (!isset($parser)) {
            $parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7);
        }
        $stmts = $parser->parse($code);
        if (!isset($traverser_pre)) {
            $traverser_pre = new NodeTraverser();
            $traverser_pre->addVisitor(new NameResolver());
            $traverser_pre->addVisitor(new ReduceVisitor());
        }
        $stmts = $traverser_pre->traverse($stmts);
        $traverser->traverse($stmts);
        $visitor->finish();
        return $visitor->getSpots();
    }

Usage Example

 public function assertNotSpot($code)
 {
     $spots = TestHelper::runChange($this->change, $code);
     $this->assertEmpty($spots);
 }