You are here

public function XmlDumperTest::testAddService in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php \Symfony\Component\DependencyInjection\Tests\Dumper\XmlDumperTest::testAddService()

File

vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php, line 68

Class

XmlDumperTest

Namespace

Symfony\Component\DependencyInjection\Tests\Dumper

Code

public function testAddService() {
  $container = (include self::$fixturesPath . '/containers/container9.php');
  $dumper = new XmlDumper($container);
  $this
    ->assertEquals(str_replace('%path%', self::$fixturesPath . DIRECTORY_SEPARATOR . 'includes' . DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath . '/xml/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');
  }
}