/** * @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; }
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; }
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); }
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'); } }