Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c333eb7

Browse files
committed
merge tags instead of completely replacing them
1 parent 122ac67 commit c333eb7

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function process(ContainerBuilder $container)
4343
$container->setAlias($renamedId, new Alias((string) $alias, false));
4444
} else {
4545
$decoratedDefinition = $container->getDefinition($inner);
46-
$definition->setTags($decoratedDefinition->getTags(), $definition->getTags());
46+
$definition->setTags(array_merge($decoratedDefinition->getTags(), $definition->getTags()));
4747
$public = $decoratedDefinition->isPublic();
4848
$decoratedDefinition->setPublic(false);
4949
$decoratedDefinition->setTags(array());

src/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,18 @@ public function testProcessMovesTagsFromDecoratedDefinitionToDecoratingDefinitio
8787
$container = new ContainerBuilder();
8888
$container
8989
->register('foo')
90-
->setTags(array('name' => 'bar'))
90+
->setTags(array('bar' => array('attr' => 'baz')))
9191
;
9292
$container
9393
->register('baz')
94+
->setTags(array('foobar' => array('attr' => 'bar')))
9495
->setDecoratedService('foo')
9596
;
9697

9798
$this->process($container);
9899

99100
$this->assertEmpty($container->getDefinition('baz.inner')->getTags());
100-
$this->assertEquals(array('name' => 'bar'), $container->getDefinition('baz')->getTags());
101+
$this->assertEquals(array('bar' => array('attr' => 'baz'), 'foobar' => array('attr' => 'bar')), $container->getDefinition('baz')->getTags());
101102
}
102103

103104
protected function process(ContainerBuilder $container)

0 commit comments

Comments
 (0)