public function XmlFileLoaderTest::testLoadImports

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php, line 99

Class

XmlFileLoaderTest

Namespace

Symfony\Component\DependencyInjection\Tests\Loader

Code

public function testLoadImports() {
  $container = new ContainerBuilder();
  $resolver = new LoaderResolver(array(
    new IniFileLoader($container, new FileLocator(self::$fixturesPath . '/xml')),
    new YamlFileLoader($container, new FileLocator(self::$fixturesPath . '/xml')),
    $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath . '/xml')),
  ));
  $loader
    ->setResolver($resolver);
  $loader
    ->load('services4.xml');
  $actual = $container
    ->getParameterBag()
    ->all();
  $expected = array(
    'a string',
    'foo' => 'bar',
    'values' => array(
      true,
      false,
    ),
    'foo_bar' => new Reference('foo_bar'),
    'mixedcase' => array(
      'MixedCaseKey' => 'value',
    ),
    'bar' => '%foo%',
    'imported_from_ini' => true,
    'imported_from_yaml' => true,
  );
  $this
    ->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');

  // Bad import throws no exception due to ignore_errors value.
  $loader
    ->load('services4_bad_import.xml');
}