diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php index 9f7b83510026..861e029ebfec 100644 --- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php +++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveNamedArgumentsPass.php @@ -40,7 +40,7 @@ protected function processValue($value, $isRoot = false) foreach ($arguments as $key => $argument) { if (is_int($key)) { - $resolvedArguments[] = $argument; + $resolvedArguments[$key] = $argument; continue; } if ('' === $key || '$' !== $key[0]) { diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveNamedArgumentsPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveNamedArgumentsPassTest.php index 8069840fe362..8a214cd52da9 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveNamedArgumentsPassTest.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveNamedArgumentsPassTest.php @@ -27,13 +27,17 @@ public function testProcess() $container = new ContainerBuilder(); $definition = $container->register(NamedArgumentsDummy::class, NamedArgumentsDummy::class); - $definition->setArguments(array(0 => new Reference('foo'), '$apiKey' => '123')); + $definition->setArguments(array( + 2 => 'http://api.example.com', + '$apiKey' => '123', + 0 => new Reference('foo'), + )); $definition->addMethodCall('setApiKey', array('$apiKey' => '123')); $pass = new ResolveNamedArgumentsPass(); $pass->process($container); - $this->assertEquals(array(0 => new Reference('foo'), 1 => '123'), $definition->getArguments()); + $this->assertEquals(array(0 => new Reference('foo'), 1 => '123', 2 => 'http://api.example.com'), $definition->getArguments()); $this->assertEquals(array(array('setApiKey', array('123'))), $definition->getMethodCalls()); } diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/NamedArgumentsDummy.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/NamedArgumentsDummy.php index 05cfc1e945b9..65c4847bbdef 100644 --- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/NamedArgumentsDummy.php +++ b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/NamedArgumentsDummy.php @@ -7,7 +7,7 @@ */ class NamedArgumentsDummy { - public function __construct(CaseSensitiveClass $c, $apiKey) + public function __construct(CaseSensitiveClass $c, $apiKey, $hostName) { }