public function testGetListenersOnLazyLoad() { $service = $this->getMock('Symfony\\Component\\EventDispatcher\\Tests\\Service'); $container = new Container(); $container->set('service.listener', $service); $dispatcher = new ContainerAwareEventDispatcher($container); $dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent')); $listeners = $dispatcher->getListeners(); $this->assertTrue(isset($listeners['onEvent'])); $this->assertCount(1, $dispatcher->getListeners('onEvent')); }
/** * Flush handlers. * * Clears all handlers. * * @return void */ public function flushHandlers() { foreach ($this->dispatcher->getListeners() as $eventName => $listener) { $this->dispatcher->removeListener($eventName, $listener); } }
/** * {@inheritdoc} */ public function getListeners($eventName = null) { return $this->_wrappedDispatcher->getListeners($eventName); }
/** * Reboot. * * Shutdown the system flushing all event handlers, services and service arguments. * * @return void */ public function reboot() { $event = new GenericEvent($this); $this->dispatcher->dispatch('shutdown', $event); // flush handlers foreach ($this->dispatcher->getListeners() as $eventName => $listener) { $this->dispatcher->removeListener($eventName, $listener); } // flush all services $services = $this->container->getServiceIds(); rsort($services); foreach ($services as $id) { if (!in_array($id, array('zikula', 'service_container', 'event_dispatcher'))) { $this->container->removeDefinition($id); } } // flush arguments. $this->container->setArguments(array()); $this->attachedHandlers = array(); $this->stage = 0; $this->bootime = microtime(true); }
/** * {@inheritdoc} */ public function getListeners($eventName = null) { return $this->originalDispatcher->getListeners($eventName); }