1212namespace Symfony \Component \Messenger \Tests \DependencyInjection ;
1313
1414use PHPUnit \Framework \TestCase ;
15- use Symfony \Component \DependencyInjection \Argument \RewindableGenerator ;
15+ use Symfony \Component \DependencyInjection \Argument \IteratorArgument ;
1616use Symfony \Component \DependencyInjection \Compiler \ResolveChildDefinitionsPass ;
1717use Symfony \Component \DependencyInjection \Compiler \ResolveClassPass ;
1818use Symfony \Component \DependencyInjection \ContainerBuilder ;
@@ -67,8 +67,8 @@ public function testProcess()
6767 $ this ->assertSame (HandlersLocator::class, $ handlersLocatorDefinition ->getClass ());
6868 $ this ->assertEquals (
6969 array (
70- DummyMessage::class => new Reference (" messenger.handlers. $ busId . " .DummyMessage ::class),
71- SecondMessage::class => new Reference (" messenger.handlers. $ busId . " .SecondMessage ::class),
70+ DummyMessage::class => new IteratorArgument ( array ( new Reference (DummyHandler ::class)) ),
71+ SecondMessage::class => new IteratorArgument ( array ( new Reference (MissingArgumentTypeHandler ::class)) ),
7272 ),
7373 $ handlersLocatorDefinition ->getArgument (0 )
7474 );
@@ -107,8 +107,8 @@ public function testProcessHandlersByBus()
107107 $ this ->assertSame (HandlersLocator::class, $ commandBusHandlersLocatorDefinition ->getClass ());
108108 $ this ->assertEquals (
109109 array (
110- MultipleBusesMessage::class => new Reference (" messenger.handlers. $ commandBusId . " .MultipleBusesMessage ::class),
111- DummyCommand::class => new Reference (" messenger.handlers. $ commandBusId . " .DummyCommand ::class),
110+ MultipleBusesMessage::class => new IteratorArgument ( array ( new Reference (MultipleBusesMessageHandler ::class)) ),
111+ DummyCommand::class => new IteratorArgument ( array ( new Reference (DummyCommandHandler ::class)) ),
112112 ),
113113 $ commandBusHandlersLocatorDefinition ->getArgument (0 )
114114 );
@@ -117,8 +117,8 @@ public function testProcessHandlersByBus()
117117 $ this ->assertSame (HandlersLocator::class, $ queryBusHandlersLocatorDefinition ->getClass ());
118118 $ this ->assertEquals (
119119 array (
120- DummyQuery::class => new Reference (" messenger.handlers. $ queryBusId . " .DummyQuery ::class),
121- MultipleBusesMessage::class => new Reference (" messenger.handlers. $ queryBusId . " .MultipleBusesMessage ::class),
120+ DummyQuery::class => new IteratorArgument ( array ( new Reference (DummyQueryHandler ::class)) ),
121+ MultipleBusesMessage::class => new IteratorArgument ( array ( new Reference (MultipleBusesMessageHandler ::class)) ),
122122 ),
123123 $ queryBusHandlersLocatorDefinition ->getArgument (0 )
124124 );
@@ -155,13 +155,10 @@ public function testGetClassesFromTheHandlerSubscriberInterface()
155155 $ handlersMapping = $ container ->getDefinition ($ busId .'.messenger.handlers_locator ' )->getArgument (0 );
156156
157157 $ this ->assertArrayHasKey (DummyMessage::class, $ handlersMapping );
158- $ this ->assertEquals (new Reference (" messenger.handlers. $ busId . " .DummyMessage ::class), $ handlersMapping [DummyMessage::class]);
158+ $ this ->assertEquals (new IteratorArgument ( array ( new Reference (HandlerWithMultipleMessages ::class)) ), $ handlersMapping [DummyMessage::class]);
159159
160160 $ this ->assertArrayHasKey (SecondMessage::class, $ handlersMapping );
161- $ handlersDefinition = $ container ->getDefinition ($ handlersMapping [SecondMessage::class]);
162-
163- $ this ->assertSame (RewindableGenerator::class, $ handlersDefinition ->getClass ());
164- $ this ->assertEquals (array (new Reference (PrioritizedHandler::class), new Reference (HandlerWithMultipleMessages::class)), $ handlersDefinition ->getArgument (0 )[0 ]);
161+ $ this ->assertEquals (new IteratorArgument (array (new Reference (PrioritizedHandler::class), new Reference (HandlerWithMultipleMessages::class))), $ handlersMapping [SecondMessage::class]);
165162 }
166163
167164 public function testGetClassesAndMethodsAndPrioritiesFromTheSubscriber ()
@@ -183,13 +180,13 @@ public function testGetClassesAndMethodsAndPrioritiesFromTheSubscriber()
183180 $ this ->assertArrayHasKey (DummyMessage::class, $ handlersMapping );
184181 $ this ->assertArrayHasKey (SecondMessage::class, $ handlersMapping );
185182
186- $ dummyHandlerReference = $ container -> getDefinition ( $ handlersMapping [DummyMessage::class])-> getArgument ( 0 )[ 0 ] [0 ];
183+ $ dummyHandlerReference = $ handlersMapping [DummyMessage::class]-> getValues () [0 ];
187184 $ dummyHandlerDefinition = $ container ->getDefinition ($ dummyHandlerReference );
188185 $ this ->assertSame ('callable ' , $ dummyHandlerDefinition ->getClass ());
189186 $ this ->assertEquals (array (new Reference (HandlerMappingMethods::class), 'dummyMethod ' ), $ dummyHandlerDefinition ->getArgument (0 ));
190187 $ this ->assertSame (array ('Closure ' , 'fromCallable ' ), $ dummyHandlerDefinition ->getFactory ());
191188
192- $ secondHandlerReference = $ container -> getDefinition ( $ handlersMapping [SecondMessage::class])-> getArgument ( 0 )[ 0 ] [1 ];
189+ $ secondHandlerReference = $ handlersMapping [SecondMessage::class]-> getValues () [1 ];
193190 $ secondHandlerDefinition = $ container ->getDefinition ($ secondHandlerReference );
194191 $ this ->assertSame (PrioritizedHandler::class, $ secondHandlerDefinition ->getClass ());
195192 }
@@ -281,11 +278,11 @@ public function testItShouldNotThrowIfGeneratorIsReturnedInsteadOfArray()
281278 $ handlersMapping = $ container ->getDefinition ($ busId .'.messenger.handlers_locator ' )->getArgument (0 );
282279
283280 $ this ->assertArrayHasKey (DummyMessage::class, $ handlersMapping );
284- $ firstReference = $ container -> getDefinition ( $ handlersMapping [DummyMessage::class])-> getArgument ( 0 )[ 0 ] [0 ];
281+ $ firstReference = $ handlersMapping [DummyMessage::class]-> getValues () [0 ];
285282 $ this ->assertEquals (array (new Reference (HandlerWithGenerators::class), 'dummyMethod ' ), $ container ->getDefinition ($ firstReference )->getArgument (0 ));
286283
287284 $ this ->assertArrayHasKey (SecondMessage::class, $ handlersMapping );
288- $ secondReference = $ container -> getDefinition ( $ handlersMapping [SecondMessage::class])-> getArgument ( 0 )[ 0 ] [0 ];
285+ $ secondReference = $ handlersMapping [SecondMessage::class]-> getValues () [0 ];
289286 $ this ->assertEquals (array (new Reference (HandlerWithGenerators::class), 'secondMessage ' ), $ container ->getDefinition ($ secondReference )->getArgument (0 ));
290287 }
291288
@@ -304,13 +301,13 @@ public function testItRegistersHandlersOnDifferentBuses()
304301 $ eventsHandlerMapping = $ container ->getDefinition ($ eventsBusId .'.messenger.handlers_locator ' )->getArgument (0 );
305302
306303 $ this ->assertEquals (array (DummyMessage::class), array_keys ($ eventsHandlerMapping ));
307- $ firstReference = $ container -> getDefinition ( $ eventsHandlerMapping [DummyMessage::class])-> getArgument ( 0 )[ 0 ] [0 ];
304+ $ firstReference = $ eventsHandlerMapping [DummyMessage::class]-> getValues () [0 ];
308305 $ this ->assertEquals (array (new Reference (HandlerOnSpecificBuses::class), 'dummyMethodForEvents ' ), $ container ->getDefinition ($ firstReference )->getArgument (0 ));
309306
310307 $ commandsHandlerMapping = $ container ->getDefinition ($ commandsBusId .'.messenger.handlers_locator ' )->getArgument (0 );
311308
312309 $ this ->assertEquals (array (DummyMessage::class), array_keys ($ commandsHandlerMapping ));
313- $ firstReference = $ container -> getDefinition ( $ commandsHandlerMapping [DummyMessage::class])-> getArgument ( 0 )[ 0 ] [0 ];
310+ $ firstReference = $ commandsHandlerMapping [DummyMessage::class]-> getValues () [0 ];
314311 $ this ->assertEquals (array (new Reference (HandlerOnSpecificBuses::class), 'dummyMethodForCommands ' ), $ container ->getDefinition ($ firstReference )->getArgument (0 ));
315312 }
316313
0 commit comments