Exemple #1
0
 /**
  * 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());
 }