/** * Sets bundle's Config definition into dependency injection container. * * @param string $configId * @param string $baseDir */ public function loadConfigDefinition($configId, $baseDir) { if (false === $this->container->hasDefinition($configId)) { $this->container->setDefinition($configId, $this->buildConfigDefinition($baseDir)); } }
/** * @depends testHasDefinition */ public function testGetDefinition(ContainerInterface $container) { try { $container->getDefinition('service_zero'); $this->fail('Raise of InvalidArgumentException expected.'); } catch (\Exception $e) { $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Exception\\InvalidArgumentException', $e); } // Test restoration of synthetic service definition $this->assertFalse($container->getDefinition('service_four')->isSynthetic()); $this->assertTrue($container->getDefinition('service_five')->isSynthetic()); // Test restoration of service definition tag $this->assertTrue($container->getDefinition('service_three')->hasTag('dumpable')); $this->assertTrue($container->getDefinition('service_four')->hasTag('foo')); $this->assertTrue($container->getDefinition('service_four')->hasTag('bar')); // Test restoration of service public, scope, abstract and file values $this->assertFalse($container->getDefinition('service_six')->isPublic()); $this->assertEquals($container->getDefinition('service_seven')->getScope(), 'prototype'); $this->assertEquals($container->getDefinition('service_seven')->getFile(), '/foo/bar'); $this->assertTrue($container->getDefinition('service_ten')->isAbstract()); // Test restoration of service configurator $configurator = $container->getDefinition('service_seven')->getConfigurator(); $this->assertNotNull($configurator); $this->assertEquals(2, count($configurator)); $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $configurator[0]); $this->assertEquals('service_six', $configurator[0]->__toString()); $this->assertEquals('getSize', $configurator[1]); // Test restoration of service factory class, factory service and factory method $factory = $container->getDefinition('service_eight')->getFactory(); $this->assertEquals('\\DateTime', $factory[0]); $this->assertEquals('getLastErrors', $factory[1]); $factory = $container->getDefinition('service_nine')->getFactory(); $this->assertEquals('service_zero', $factory[0]->__toString()); $this->assertEquals('get', $factory[1]); // Test restoration of service with parent (without compilation) $this->assertTrue($container->hasDefinition('service_ten')); $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\DefinitionDecorator', $container->getDefinition('service_eleven')); $this->assertEmpty($container->getDefinition('service_eleven')->getMethodCalls()); $parent_method_calls = $container->getDefinition('service_ten')->getMethodCalls(); $this->assertNotEmpty($parent_method_calls); // Test restoration of service with parent (with compilation) $dumper = new PhpArrayDumper($this->container); $container = new ContainerProxy(); $container->init(unserialize($dumper->dump(array('do_compile' => true)))); $this->assertFalse($container->hasDefinition('service_ten')); $this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $container->getDefinition('service_eleven')); $this->assertEquals($parent_method_calls, $container->getDefinition('service_eleven')->getMethodCalls()); }