You are here

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;

/**
 * @author Wouter J <wouter@wouterj.nl>
 */
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'));
  }

}

Classes

Namesort descending Description
ExtensionCompilerPassTest @author Wouter J <wouter@wouterj.nl>