@@ -494,12 +494,14 @@ public function testRegistersMiddlewareFromServices()
494
494
$ container = $ this ->getContainerBuilder ($ fooBusId = 'messenger.bus.foo ' );
495
495
$ container ->register ('middleware_with_factory ' , UselessMiddleware::class)->addArgument ('some_default ' )->setAbstract (true );
496
496
$ container ->register ('middleware_with_factory_using_default ' , UselessMiddleware::class)->addArgument ('some_default ' )->setAbstract (true );
497
+ $ container ->register ('middleware_with_factory_using_a_lot_of_defaults ' , UselessMiddleware::class)->setArguments (['one ' , 'two ' , 'three ' ])->setAbstract (true );
497
498
$ container ->register (UselessMiddleware::class, UselessMiddleware::class);
498
499
499
500
$ container ->setParameter ($ middlewareParameter = $ fooBusId .'.middleware ' , array (
500
501
array ('id ' => UselessMiddleware::class),
501
502
array ('id ' => 'middleware_with_factory ' , 'arguments ' => array ('foo ' , 'bar ' )),
502
503
array ('id ' => 'middleware_with_factory_using_default ' ),
504
+ array ('id ' => 'middleware_with_factory_using_a_lot_of_defaults ' , 'arguments ' => array (1 => '2 ' , 3 => 'four ' ))
503
505
));
504
506
505
507
(new MessengerPass ())->process ($ container );
@@ -519,10 +521,18 @@ public function testRegistersMiddlewareFromServices()
519
521
'parent default argument is used '
520
522
);
521
523
524
+ $ this ->assertTrue ($ container ->hasDefinition ($ factoryWithALotOfDefaultsChildMiddlewareId = $ fooBusId .'.middleware.middleware_with_factory_using_a_lot_of_defaults ' ));
525
+ $ this ->assertEquals (
526
+ array ('one ' , '2 ' , 'three ' , 'four ' ),
527
+ $ container ->getDefinition ($ factoryWithALotOfDefaultsChildMiddlewareId )->getArguments (),
528
+ 'parent arguments are not overwritten '
529
+ );
530
+
522
531
$ this ->assertEquals (array (
523
532
new Reference (UselessMiddleware::class),
524
533
new Reference ($ factoryChildMiddlewareId ),
525
534
new Reference ($ factoryWithDefaultChildMiddlewareId ),
535
+ new Reference ($ factoryWithALotOfDefaultsChildMiddlewareId ),
526
536
), $ container ->getDefinition ($ fooBusId )->getArgument (0 )->getValues ());
527
537
$ this ->assertFalse ($ container ->hasParameter ($ middlewareParameter ));
528
538
}
0 commit comments