You are here

class MergeExtensionConfigurationPassTest in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php \Symfony\Component\DependencyInjection\Tests\Compiler\MergeExtensionConfigurationPassTest

Hierarchy

  • class \Symfony\Component\DependencyInjection\Tests\Compiler\MergeExtensionConfigurationPassTest extends \Symfony\Component\DependencyInjection\Tests\Compiler\PHPUnit_Framework_TestCase

Expanded class hierarchy of MergeExtensionConfigurationPassTest

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php, line 9

Namespace

Symfony\Component\DependencyInjection\Tests\Compiler
View source
class MergeExtensionConfigurationPassTest extends \PHPUnit_Framework_TestCase {
  public function testExpressionLanguageProviderForwarding() {
    if (true !== class_exists('Symfony\\Component\\ExpressionLanguage\\ExpressionLanguage')) {
      $this
        ->markTestSkipped('The ExpressionLanguage component isn\'t available!');
    }
    $tmpProviders = array();
    $extension = $this
      ->getMock('Symfony\\Component\\DependencyInjection\\Extension\\ExtensionInterface');
    $extension
      ->expects($this
      ->any())
      ->method('getXsdValidationBasePath')
      ->will($this
      ->returnValue(false));
    $extension
      ->expects($this
      ->any())
      ->method('getNamespace')
      ->will($this
      ->returnValue('http://example.org/schema/dic/foo'));
    $extension
      ->expects($this
      ->any())
      ->method('getAlias')
      ->will($this
      ->returnValue('foo'));
    $extension
      ->expects($this
      ->once())
      ->method('load')
      ->will($this
      ->returnCallback(function (array $config, ContainerBuilder $container) use (&$tmpProviders) {
      $tmpProviders = $container
        ->getExpressionLanguageProviders();
    }));
    $provider = $this
      ->getMock('Symfony\\Component\\ExpressionLanguage\\ExpressionFunctionProviderInterface');
    $container = new ContainerBuilder(new ParameterBag());
    $container
      ->registerExtension($extension);
    $container
      ->prependExtensionConfig('foo', array(
      'bar' => true,
    ));
    $container
      ->addExpressionLanguageProvider($provider);
    $pass = new MergeExtensionConfigurationPass();
    $pass
      ->process($container);
    $this
      ->assertEquals(array(
      $provider,
    ), $tmpProviders);
  }

}

Members