private function assertCompilerOutput($source, $expected) { $nodes = $this->parser->parse($source); $compiler = new SourceCompiler(new SimpleComponentCompiler(), $this->componentsProvider); $compiled = $compiler->compileTemplate($nodes); echo $compiled; $compiledNodes = $this->phpParser->parse($compiled); $expectedNodes = $this->phpParser->parse($expected); $this->assertEquals($this->serializer->serialize($expectedNodes), $this->serializer->serialize($compiledNodes)); }
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); }