private function assertTokenizerOutput($source_file, $tokens_file)
 {
     $source = $this->loadFixture($source_file);
     $expected_tokens = json_decode($this->loadFixture($tokens_file), true);
     $nodes = $this->phpParser->parse($source);
     $tokenizer = new TreeEmittingTokenizer(new PhpNodesInputStream($nodes), $tree = new DecodingTreeBuilder());
     $tokenizer->parse();
     $actual_tokens = $tree->save();
     $this->assertEquals($expected_tokens, $this->normalize($actual_tokens));
 }
 private function assertTreeBuilderOutput($source_file, $tokens_file)
 {
     $source = $this->loadFixture($source_file);
     $phpNodes = $this->phpParser->parse($source);
     $tokenizer = new TreeEmittingTokenizer(new PhpNodesInputStream($phpNodes), $tree = new TreeBuilder($this->componentsProvider));
     $nodes = $tokenizer->parse();
     $actual = new \DOMDocument();
     $actual->preserveWhiteSpace = false;
     $actual->loadXML($this->serializer->serialize($nodes));
     $expected = new \DOMDocument();
     $expected->preserveWhiteSpace = false;
     $expected->loadXML($this->loadFixture($tokens_file));
     $this->assertEquals($expected, $actual);
 }
Example #3
0
 /**
  * @param string $code Source code
  * @return Node[]
  */
 public function parse($code)
 {
     $nodes = $this->phpParser->parse($code);
     $tokenizer = new TreeEmittingTokenizer(new PhpNodesInputStream($nodes), new TreeBuilder($this->components));
     return $tokenizer->parse();
 }