15
15
use Symfony \Component \DependencyInjection \Argument \ServiceClosureArgument ;
16
16
use Symfony \Component \DependencyInjection \ContainerBuilder ;
17
17
use Symfony \Component \DependencyInjection \Reference ;
18
+ use Symfony \Component \EventDispatcher \DependencyInjection \AddEventAliasesPass ;
18
19
use Symfony \Component \EventDispatcher \DependencyInjection \RegisterListenersPass ;
19
20
use Symfony \Component \EventDispatcher \EventSubscriberInterface ;
20
21
@@ -67,6 +68,9 @@ public function testAliasedEventSubscriber(): void
67
68
$ builder ->register ('my_event_subscriber ' , AliasedSubscriber::class)
68
69
->addTag ('kernel.event_subscriber ' );
69
70
71
+ $ eventAliasPass = new AddEventAliasesPass ([CustomEvent::class => 'custom_event ' ]);
72
+ $ eventAliasPass ->process ($ builder );
73
+
70
74
$ registerListenersPass = new RegisterListenersPass ();
71
75
$ registerListenersPass ->process ($ builder );
72
76
@@ -79,6 +83,14 @@ public function testAliasedEventSubscriber(): void
79
83
0 ,
80
84
],
81
85
],
86
+ [
87
+ 'addListener ' ,
88
+ [
89
+ 'custom_event ' ,
90
+ [new ServiceClosureArgument (new Reference ('my_event_subscriber ' )), 'onCustomEvent ' ],
91
+ 0 ,
92
+ ],
93
+ ],
82
94
];
83
95
$ this ->assertEquals ($ expectedCalls , $ builder ->getDefinition ('event_dispatcher ' )->getMethodCalls ());
84
96
}
@@ -202,8 +214,12 @@ public function testAliasedEventListener(): void
202
214
$ container = new ContainerBuilder ();
203
215
$ container ->setParameter ('event_dispatcher.event_aliases ' , [AliasedEvent::class => 'aliased_event ' ]);
204
216
$ container ->register ('foo ' , InvokableListenerService::class)->addTag ('kernel.event_listener ' , ['event ' => AliasedEvent::class, 'method ' => 'onEvent ' ]);
217
+ $ container ->register ('bar ' , InvokableListenerService::class)->addTag ('kernel.event_listener ' , ['event ' => CustomEvent::class, 'method ' => 'onEvent ' ]);
205
218
$ container ->register ('event_dispatcher ' );
206
219
220
+ $ eventAliasPass = new AddEventAliasesPass ([CustomEvent::class => 'custom_event ' ]);
221
+ $ eventAliasPass ->process ($ container );
222
+
207
223
$ registerListenersPass = new RegisterListenersPass ();
208
224
$ registerListenersPass ->process ($ container );
209
225
@@ -217,6 +233,14 @@ public function testAliasedEventListener(): void
217
233
0 ,
218
234
],
219
235
],
236
+ [
237
+ 'addListener ' ,
238
+ [
239
+ 'custom_event ' ,
240
+ [new ServiceClosureArgument (new Reference ('bar ' )), 'onEvent ' ],
241
+ 0 ,
242
+ ],
243
+ ],
220
244
];
221
245
$ this ->assertEquals ($ expectedCalls , $ definition ->getMethodCalls ());
222
246
}
@@ -249,10 +273,15 @@ public static function getSubscribedEvents(): array
249
273
{
250
274
return [
251
275
AliasedEvent::class => 'onAliasedEvent ' ,
276
+ CustomEvent::class => 'onCustomEvent ' ,
252
277
];
253
278
}
254
279
}
255
280
256
281
final class AliasedEvent
257
282
{
258
283
}
284
+
285
+ final class CustomEvent
286
+ {
287
+ }
0 commit comments