Example #1
0
 /**
  */
 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;
 }
Example #3
0
 public function testListenerObject()
 {
     $this->object->addListener(new MyListenerObj());
     $this->object->notify($event = new Event('testEvent'));
     $this->assertTrue($event->isProcessed());
 }