|
32 | 32 | use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
|
33 | 33 | use Symfony\Component\DependencyInjection\Loader\ClosureLoader;
|
34 | 34 | use Symfony\Component\DependencyInjection\Reference;
|
| 35 | +use Symfony\Component\DependencyInjection\Tests\Fixtures\SimilarArgumentsDummy; |
35 | 36 | use Symfony\Component\DependencyInjection\TypedReference;
|
36 | 37 | use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
|
37 | 38 | use Symfony\Component\DependencyInjection\ParameterBag\EnvPlaceholderParameterBag;
|
@@ -1270,6 +1271,30 @@ public function testParameterWithMixedCase()
|
1270 | 1271 |
|
1271 | 1272 | $this->assertSame('bar', $container->get('foo')->foo);
|
1272 | 1273 | }
|
| 1274 | + |
| 1275 | + public function testArgumentsHaveHigherPriorityThanBindings() |
| 1276 | + { |
| 1277 | + $container = new ContainerBuilder(); |
| 1278 | + $container->register('class.via.bindings', CaseSensitiveClass::class)->setArguments(array( |
| 1279 | + 'via-bindings', |
| 1280 | + )); |
| 1281 | + $container->register('class.via.argument', CaseSensitiveClass::class)->setArguments(array( |
| 1282 | + 'via-argument', |
| 1283 | + )); |
| 1284 | + $container->register('foo', SimilarArgumentsDummy::class)->setPublic(true)->setBindings(array( |
| 1285 | + CaseSensitiveClass::class => new Reference('class.via.bindings'), |
| 1286 | + '$token' => '1234', |
| 1287 | + ))->setArguments(array( |
| 1288 | + '$class1' => new Reference('class.via.argument'), |
| 1289 | + )); |
| 1290 | + |
| 1291 | + $this->assertSame(array('service_container', 'class.via.bindings', 'class.via.argument', 'foo', 'Psr\Container\ContainerInterface', 'Symfony\Component\DependencyInjection\ContainerInterface'), $container->getServiceIds()); |
| 1292 | + |
| 1293 | + $container->compile(); |
| 1294 | + |
| 1295 | + $this->assertSame('via-argument', $container->get('foo')->class1->identifier); |
| 1296 | + $this->assertSame('via-bindings', $container->get('foo')->class2->identifier); |
| 1297 | + } |
1273 | 1298 | }
|
1274 | 1299 |
|
1275 | 1300 | class FooClass
|
|
0 commit comments