$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
$loader->load('services2.yml');
- $this->assertEquals(array('foo' => 'bar', 'mixedcase' => array('MixedCaseKey' => 'value'), 'values' => array(true, false, 0, 1000.3), 'bar' => 'foo', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar')), $container->getParameterBag()->all(), '->load() converts YAML keys to lowercase');
+ $this->assertEquals(array('foo' => 'bar', 'mixedcase' => array('MixedCaseKey' => 'value'), 'values' => array(true, false, 0, 1000.3, PHP_INT_MAX), 'bar' => 'foo', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar')), $container->getParameterBag()->all(), '->load() converts YAML keys to lowercase');
}
public function testLoadImports()
$loader->load('services4.yml');
$actual = $container->getParameterBag()->all();
- $expected = array('foo' => 'bar', 'values' => array(true, false), 'bar' => '%foo%', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'), 'imported_from_ini' => true, 'imported_from_xml' => true);
+ $expected = array('foo' => 'bar', 'values' => array(true, false, PHP_INT_MAX), 'bar' => '%foo%', 'escape' => '@escapeme', 'foo_bar' => new Reference('foo_bar'), 'mixedcase' => array('MixedCaseKey' => 'value'), 'imported_from_ini' => true, 'imported_from_xml' => true);
$this->assertEquals(array_keys($expected), array_keys($actual), '->load() imports and merges imported files');
+ $this->assertTrue($actual['imported_from_ini']);
// Bad import throws no exception due to ignore_errors value.
$loader->load('services4_bad_import.yml');
}
- /**
- * @group legacy
- */
- public function testLegacyLoadServices()
- {
- $container = new ContainerBuilder();
- $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
- $loader->load('legacy-services6.yml');
- $services = $container->getDefinitions();
- $this->assertEquals('FooClass', $services['constructor']->getClass());
- $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod());
- $this->assertEquals('BazClass', $services['factory_service']->getClass());
- $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService());
- $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod());
- $this->assertEquals('container', $services['scope.container']->getScope());
- $this->assertEquals('custom', $services['scope.custom']->getScope());
- $this->assertEquals('prototype', $services['scope.prototype']->getScope());
- $this->assertTrue($services['request']->isSynthetic(), '->load() parses the synthetic flag');
- $this->assertTrue($services['request']->isSynchronized(), '->load() parses the synchronized flag');
- $this->assertTrue($services['request']->isLazy(), '->load() parses the lazy flag');
- $this->assertNull($services['request']->getDecoratedService());
- }
-
public function testLoadServices()
{
$container = new ContainerBuilder();
$this->assertEquals(array('FooBacFactory', 'createFooBar'), $services['factory_with_static_call']->getFactory(), '->load() parses the factory tag with Class::method');
}
+ public function testLoadConfiguratorShortSyntax()
+ {
+ $container = new ContainerBuilder();
+ $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
+ $loader->load('services_configurator_short_syntax.yml');
+ $services = $container->getDefinitions();
+
+ $this->assertEquals(array(new Reference('foo_bar_configurator'), 'configure'), $services['foo_bar']->getConfigurator(), '->load() parses the configurator tag with service:method');
+ $this->assertEquals(array('FooBarConfigurator', 'configureFooBar'), $services['foo_bar_with_static_call']->getConfigurator(), '->load() parses the configurator tag with Class::method');
+ }
+
public function testExtensions()
{
$container = new ContainerBuilder();