public function testCompilerPassIteratorAndCountable() { $collection = new CompilerPassCollection(); $collection->addCompiler($compiler_x = new DummyCompilerPass('definition-x', true), 100); $collection->addCompiler($compiler_y = new DummyCompilerPass('definition-y'), 500); $collection->addCompiler($compiler_z = new DummyCompilerPass('definition-z'), -500); $collection->addCompiler($compiler_t = new DummyCompilerPass('definition-t'), 500); $collection->addCompiler($compiler_w = new DummyCompilerPass('definition-w'), 500); $this->assertSame(5, count($collection)); $iterationResult = []; foreach ($collection as $compiler) { $iterationResult[] = $compiler; } $this->assertSame(array($compiler_z, $compiler_x, $compiler_y, $compiler_t, $compiler_w), $iterationResult); }
/** * {@inheritdoc} */ public function addCompilerPass(CompilerPassInterface $compilerPass, $priority = 0) { $this->compilers->addCompiler($compilerPass, $priority); return $this; }