namespace Symfony\Component\DependencyInjection\Tests\Compiler;
use PHPUnit\Framework\TestCase;
-use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\DependencyInjection\DefinitionDecorator;
use Symfony\Component\DependencyInjection\Compiler\ResolveDefinitionTemplatesPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
$this->assertFalse($def->isAbstract());
}
- /**
- * @group legacy
- */
- public function testProcessDoesNotCopyScope()
- {
- $container = new ContainerBuilder();
-
- $container
- ->register('parent')
- ->setScope('foo')
- ;
-
- $container
- ->setDefinition('child', new DefinitionDecorator('parent'))
- ;
-
- $this->process($container);
-
- $def = $container->getDefinition('child');
- $this->assertEquals(ContainerInterface::SCOPE_CONTAINER, $def->getScope());
- }
-
public function testProcessDoesNotCopyShared()
{
$container = new ContainerBuilder();
$this->assertSame(array('Foo'), $parentDef->getAutowiringTypes());
}
+ public function testProcessResolvesAliases()
+ {
+ $container = new ContainerBuilder();
+
+ $container->register('parent', 'ParentClass');
+ $container->setAlias('parent_alias', 'parent');
+ $container->setDefinition('child', new DefinitionDecorator('parent_alias'));
+
+ $this->process($container);
+
+ $def = $container->getDefinition('child');
+ $this->assertSame('ParentClass', $def->getClass());
+ }
+
protected function process(ContainerBuilder $container)
{
$pass = new ResolveDefinitionTemplatesPass();