public function YamlDumperTest::testAddService

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php, line 50

Class

YamlDumperTest

Namespace

Symfony\Component\DependencyInjection\Tests\Dumper

Code

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