ExtensionCompilerPassTest.php in Zircon Profile 8
File
vendor/symfony/dependency-injection/Tests/Compiler/ExtensionCompilerPassTest.php
View source
<?php
namespace Symfony\Component\DependencyInjection\Tests\Compiler;
use Symfony\Component\DependencyInjection\Compiler\ExtensionCompilerPass;
class ExtensionCompilerPassTest extends \PHPUnit_Framework_TestCase {
private $container;
private $pass;
public function setUp() {
$this->container = $this
->getMock('Symfony\\Component\\DependencyInjection\\ContainerBuilder');
$this->pass = new ExtensionCompilerPass();
}
public function testProcess() {
$extension1 = $this
->createExtensionMock(true);
$extension1
->expects($this
->once())
->method('process');
$extension2 = $this
->createExtensionMock(false);
$extension3 = $this
->createExtensionMock(false);
$extension4 = $this
->createExtensionMock(true);
$extension4
->expects($this
->once())
->method('process');
$this->container
->expects($this
->any())
->method('getExtensions')
->will($this
->returnValue(array(
$extension1,
$extension2,
$extension3,
$extension4,
)));
$this->pass
->process($this->container);
}
private function createExtensionMock($hasInlineCompile) {
return $this
->getMock('Symfony\\Component\\DependencyInjection\\' . ($hasInlineCompile ? 'Compiler\\CompilerPassInterface' : 'Extension\\ExtensionInterface'));
}
}