Example #1
0
 /**
  * @covers Panadas\Event\Event::stop()
  * @covers Panadas\Event\Event::isStopped()
  * @covers Panadas\Event\Event::setStopped()
  */
 public function testStop()
 {
     $event = new Event("foo", new Publisher());
     $this->assertFalse($event->isStopped());
     $event->stop();
     $this->assertTrue($event->isStopped());
 }
Example #2
0
 public function trigger($eventName, Event $event = null)
 {
     if (null === $event) {
         $event = new Event();
     }
     $event->stop(false);
     if (!isset($this->listeners[$eventName])) {
         return $event;
     }
     $listeners = $this->getListeners($eventName);
     foreach ($listeners as $listener) {
         $result[] = call_user_func($listener, $event);
         if ($event->isStopped()) {
             break;
         }
     }
     return array_pop($result);
 }
Example #3
0
 public function onBarEvent(Event $event)
 {
     $event->getParams()->set("foobar", "bar");
     $event->stop();
 }