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'));
 }
Ejemplo n.º 2
0
 /**
  * Flush handlers.
  *
  * Clears all handlers.
  *
  * @return void
  */
 public function flushHandlers()
 {
     foreach ($this->dispatcher->getListeners() as $eventName => $listener) {
         $this->dispatcher->removeListener($eventName, $listener);
     }
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function getListeners($eventName = null)
 {
     return $this->_wrappedDispatcher->getListeners($eventName);
 }
Ejemplo n.º 4
0
 /**
  * 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);
 }
Ejemplo n.º 5
0
 /**
  * {@inheritdoc}
  */
 public function getListeners($eventName = null)
 {
     return $this->originalDispatcher->getListeners($eventName);
 }