10000 Merge branch '4.4' into 5.4 · symfony/symfony@429bfbb · GitHub
[go: up one dir, main page]

Skip to content

Commit 429bfbb

Browse files
committed
Merge branch '4.4' into 5.4
* 4.4: [DoctrineBridge] Implement EventManager::getAllListeners()
2 parents ed7aeba + 53a93df commit 429bfbb

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

src/Symfony/Bridge/Doctrine/ContainerAwareEventManager.php

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,23 @@ public function dispatchEvent($eventName, EventArgs $eventArgs = null)
7676
*/
7777
public function getListeners($event = null)
7878
{
79+
if (null === $event) {
80+
return $this->getAllListeners();
81+
}
7982
if (!$this->initializedSubscribers) {
8083
$this->initializeSubscribers();
8184
}
82-
if (null !== $event) {
83-
if (!isset($this->initialized[$event])) {
84-
$this->initializeListeners($event);
85-
}
85+
if (!isset($this->initialized[$event])) {
86+
$this->initializeListeners($event);
87+
}
8688

87-
return $this->listeners[$event];
89+
return $this->listeners[$event];
90+
}
91+
92+
public function getAllListeners(): array
93+
{
94+
if (!$this->initializedSubscribers) {
95+
$this->initializeSubscribers();
8896
}
8997

9098
foreach ($this->listeners as $event => $listeners) {

src/Symfony/Bridge/Doctrine/Tests/ContainerAwareEventManagerTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,15 @@ public function testGetListeners()
180180
$this->assertSame([$listener1, $listener2], array_values(< 8AF1 span class=pl-s1>$this->evm->getListeners()['foo']));
181181
}
182182

183+
public function testGetAllListeners()
184+
{
185+
$this->container->set('lazy', $listener1 = new MyListener());
186+
$this->evm->addEventListener('foo', 'lazy');
187+
$this->evm->addEventListener('foo', $listener2 = new MyListener());
188+
189+
$this->assertSame([$listener1, $listener2], array_values($this->evm->getAllListeners()['foo']));
190+
}
191+
183192
public function testRemoveEventListener()
184193
{
185194
$this->container->set('lazy', $listener1 = new MyListener());

0 commit comments

Comments
 (0)
0