You are here

public function XmlDumperTest::testLegacyAddService in Service Container 7

Same name and namespace in other branches
  1. 7.2 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php \Symfony\Component\DependencyInjection\Tests\Dumper\XmlDumperTest::testLegacyAddService()

@group legacy

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php, line 50

Class

XmlDumperTest

Namespace

Symfony\Component\DependencyInjection\Tests\Dumper

Code

public function testLegacyAddService() {
  $this
    ->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
  $container = (include self::$fixturesPath . '/containers/legacy-container9.php');
  $dumper = new XmlDumper($container);
  $this
    ->assertEquals(str_replace('%path%', self::$fixturesPath . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath . '/xml/legacy-services9.xml')), $dumper
    ->dump(), '->dump() dumps services');
  $dumper = new XmlDumper($container = new ContainerBuilder());
  $container
    ->register('foo', 'FooClass')
    ->addArgument(new \stdClass());
  try {
    $dumper
      ->dump();
    $this
      ->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
  } catch (\Exception $e) {
    $this
      ->assertInstanceOf('\\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
    $this
      ->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e
      ->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources');
  }
}