Skip to content

Commit f5741bb

Browse files
jjsty1efabpot
authored andcommitted
[EventDispatcher] Correct the called event listener method case
1 parent 8e539aa commit f5741bb

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

DependencyInjection/RegisterListenersPass.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public function process(ContainerBuilder $container)
8181

8282
if (!isset($event['method'])) {
8383
$event['method'] = 'on'.preg_replace_callback([
84-
'/(?<=\b)[a-z]/i',
84+
'/(?<=\b|_)[a-z]/i',
8585
'/[^a-z0-9]/i',
8686
], function ($matches) { return strtoupper($matches[0]); }, $event['event']);
8787
$event['method'] = preg_replace('/[^a-z0-9]/i', '', $event['method']);

Tests/DependencyInjection/RegisterListenersPassTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ public function testInvokableEventListener()
175175
$container->register('foo', \stdClass::class)->addTag('kernel.event_listener', ['event' => 'foo.bar']);
176176
$container->register('bar', InvokableListenerService::class)->addTag('kernel.event_listener', ['event' => 'foo.bar']);
177177
$container->register('baz', InvokableListenerService::class)->addTag('kernel.event_listener', ['event' => 'event']);
178+
$container->register('zar', \stdClass::class)->addTag('kernel.event_listener', ['event' => 'foo.bar_zar']);
178179
$container->register('event_dispatcher', \stdClass::class);
179180

180181
$registerListenersPass = new RegisterListenersPass();
@@ -206,6 +207,14 @@ public function testInvokableEventListener()
206207
0,
207208
],
208209
],
210+
[
211+
'addListener',
212+
[
213+
'foo.bar_zar',
214+
[new ServiceClosureArgument(new Reference('zar')), 'onFooBarZar'],
215+
0,
216+
],
217+
],
209218
];
210219
$this->assertEquals($expectedCalls, $definition->getMethodCalls());
211220
}

0 commit comments

Comments
 (0)