public function testRemoveBeforeDispatch() { $event = new Event(); $service = $this->getMock('Symfony\\Bundle\\FrameworkBundle\\Tests\\Service'); $container = new Container(); $container->set('service.listener', $service); $dispatcher = new ContainerAwareEventDispatcher($container); $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent')); $dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent')); $this->assertFalse($dispatcher->hasListeners('onEvent')); }
public function testHasListenersOnLazyLoad() { $event = new Event(); $service = $this->getMock('Symfony\\Bundle\\FrameworkBundle\\Tests\\Service'); $service->expects($this->once())->method('onEvent')->with($event); $container = new Container(); $container->set('service.listener', $service); $dispatcher = new ContainerAwareEventDispatcher($container); $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent')); $this->assertTrue($dispatcher->hasListeners()); if ($dispatcher->hasListeners('onEvent')) { $dispatcher->dispatch('onEvent'); } }