[EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null)

This commit is contained in:
Nicolas Grekas 2017-06-01 23:47:36 +02:00
parent 78c4a5ff43
commit e7c4149e78
2 changed files with 2 additions and 1 deletions

View File

@ -105,7 +105,7 @@ class ContainerAwareEventDispatcher extends EventDispatcher
public function hasListeners($eventName = null)
{
if (null === $eventName) {
return (bool) count($this->listenerIds) || (bool) count($this->listeners);
return $this->listenerIds || $this->listeners || parent::hasListeners();
}
if (isset($this->listenerIds[$eventName])) {

View File

@ -56,6 +56,7 @@ abstract class AbstractEventDispatcherTest extends TestCase
{
$this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
$this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
$this->assertTrue($this->dispatcher->hasListeners());
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
$this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
$this->assertCount(1, $this->dispatcher->getListeners(self::preFoo));