/** */ public function testSetProcessed() { $this->assertFalse($this->object->isProcessed()); $this->object->setProcessed(true); $this->assertTrue($this->object->isProcessed()); }
/** * Dispatch all listeners of a given event until one returns a non null value. * * @param Event $event A Event instance * * @return Event The Event instance */ public function dispatchUntil($eventName, Event $event) { // skip dispatching because event is already dispatched if ($event->isProcessed()) { return $event; } // skip dispatching because event hasn't listeners if (!$this->hasListeners($eventName)) { return $event; } $event->setName($eventName); foreach ($this->getListeners($event->getName()) as $listener) { if (call_user_func($listener, $event)) { $event->setProcessed(true); break; } } return $event; }
public function testListenerObject() { $this->object->addListener(new MyListenerObj()); $this->object->notify($event = new Event('testEvent')); $this->assertTrue($event->isProcessed()); }