+ $container = new ContainerBuilder();
+ $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
+ $loader->load('services_dump_load.yml');
+
+ $this->assertEquals(array(new Reference('bar', ContainerInterface::IGNORE_ON_UNINITIALIZED_REFERENCE)), $container->getDefinition('foo')->getArguments());
+
+ $dumper = new YamlDumper($container);
+ $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services_dump_load.yml', $dumper->dump());
+ }
+
+ public function testInlineServices()
+ {
+ $container = new ContainerBuilder();
+ $container->register('foo', 'Class1')
+ ->setPublic(true)
+ ->addArgument((new Definition('Class2'))
+ ->addArgument(new Definition('Class2'))
+ )
+ ;
+
+ $dumper = new YamlDumper($container);
+ $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services_inline.yml', $dumper->dump());
+ }
+
+ private function assertEqualYamlStructure($expected, $yaml, $message = '')
+ {
+ $parser = new Parser();
+
+ $this->assertEquals($parser->parse($expected, Yaml::PARSE_CUSTOM_TAGS), $parser->parse($yaml, Yaml::PARSE_CUSTOM_TAGS), $message);