/**
  * @group legacy
  */
 public function testAddSuccessFlashLegacy()
 {
     if (!method_exists($this->event, 'setDispatcher')) {
         $this->markTestSkipped('Legacy test which requires Symfony <3.0.');
     }
     $this->event->setName(FOSUserEvents::CHANGE_PASSWORD_COMPLETED);
     $this->listener->addSuccessFlash($this->event);
 }
 /**
  * Dispatches an event to all registered listeners.
  *
  * @param string $eventName The name of the event to dispatch. The name of
  *                          the event is the name of the method that is
  *                          invoked on listeners.
  * @param Event  $event The event to pass to the event handlers/listeners.
  *                          If not supplied, an empty Event instance is created.
  *
  * @return Event
  *
  * @api
  */
 public function dispatch($eventName, Event $event = null)
 {
     if ($event == null) {
         $event = new Event();
     }
     $event->setName($eventName);
     $event->setDispatcher($this);
     $this->laravelDispatcher->fire($eventName, $event);
     $this->symfonyDispatcher->dispatch($eventName, $event);
     $event->setDispatcher($this);
     return $event;
 }
Example #3
0
 public function dispatch($eventName, Event $event = null, $group = null)
 {
     if (!isset($this->events[$eventName])) {
         return 0;
     }
     if (!$event) {
         $event = new Event();
     }
     $event->setName($eventName);
     if ($group === null) {
         return $this->brocast($event);
     }
     if (!isset($this->groupEvents[$group][$eventName])) {
         return 0;
     }
     $listeners = [];
     foreach ($this->groupEvents[$group][$eventName] as $uniqueKey) {
         if (isset($this->events[$eventName]) && isset($this->events[$eventName][$uniqueKey])) {
             foreach ($this->events[$eventName][$uniqueKey] as $listenerArray) {
                 list($listener, $priority) = $listenerArray;
                 $listeners[$priority][] = $listener;
             }
         }
     }
     krsort($listeners);
     $processCount = 0;
     foreach ($listeners as $listener) {
         foreach ($listener as $callback) {
             if ($event && $event->isPropagationStopped()) {
                 return $processCount;
             }
             $callback($event);
             $processCount++;
         }
     }
     return $processCount;
 }
Example #4
0
 public function testSetName()
 {
     $this->event->setName('foo');
     $this->assertEquals('foo', $this->event->getName());
 }
 public function testLegacySetName()
 {
     $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
     $this->event->setName('foo');
     $this->assertEquals('foo', $this->event->getName());
 }
 public function testHasListenersOnLazyLoad()
 {
     $event = new Event();
     $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'));
     $event->setDispatcher($dispatcher);
     $event->setName('onEvent');
     $service->expects($this->once())->method('onEvent')->with($event);
     $this->assertTrue($dispatcher->hasListeners());
     if ($dispatcher->hasListeners('onEvent')) {
         $dispatcher->dispatch('onEvent');
     }
 }
 /**
  * {@inheritdoc}
  */
 public function dispatch($event_name, Event $event = NULL)
 {
     if ($event === NULL) {
         $event = new Event();
     }
     $event->setDispatcher($this);
     $event->setName($event_name);
     if (isset($this->listeners[$event_name])) {
         // Sort listeners if necessary.
         if (isset($this->unsorted[$event_name])) {
             krsort($this->listeners[$event_name]);
             unset($this->unsorted[$event_name]);
         }
         // Invoke listeners and resolve callables if necessary.
         foreach ($this->listeners[$event_name] as $priority => &$definitions) {
             foreach ($definitions as $key => &$definition) {
                 if (!isset($definition['callable'])) {
                     $definition['callable'] = [$this->container->get($definition['service'][0]), $definition['service'][1]];
                 }
                 $definition['callable']($event, $event_name, $this);
                 if ($event->isPropagationStopped()) {
                     return $event;
                 }
             }
         }
     }
     return $event;
 }
 /**
  * {@inheritDoc}
  */
 protected function createEvent(InputInterface $input)
 {
     $event = new Event();
     $event->setName($input->getArgument('name'));
     return $event;
 }
 public function testAddSuccessFlash()
 {
     $this->event->setName(LuupabInvoiceEvents::INVOICE_CREATE_COMPLETED);
     $this->listener->addSuccessFlash($this->event);
 }
Example #10
0
 public function testAddSuccessFlashLegacy()
 {
     $this->event->setName(FOSUserEvents::CHANGE_PASSWORD_COMPLETED);
     $this->listener->addSuccessFlash($this->event);
 }
 public function testHasListenersOnLazyLoad()
 {
     $event = new Event();
     $service = $this->getMock('SilexCMF\\Core\\Tests\\Service');
     $container = new Application();
     $container['service.listener'] = Application::share(function () use($service) {
         return $service;
     });
     $dispatcher = new PimpleAwareEventDispatcher();
     $dispatcher->setContainer($container);
     $dispatcher->addListenerService('onEvent', ['service.listener', 'onEvent']);
     $event->setDispatcher($dispatcher);
     $event->setName('onEvent');
     $service->expects(static::once())->method('onEvent')->with($event);
     static::assertTrue($dispatcher->hasListeners());
     if ($dispatcher->hasListeners('onEvent')) {
         $dispatcher->dispatch('onEvent');
     }
 }