public function testRunEventWithWeights()
 {
     $event = 'event';
     $this->executed = 10;
     $callback = array($this, 'eventCallbackMethod');
     $callback2 = array($this, 'eventCallbackMethodSum');
     $callback3 = array($this, 'eventCallbackMethodMultiply');
     $callback4 = array($this, 'eventCallbackMethodSubstract');
     $this->eventManager->registerEventListener($event, $callback3);
     $this->eventManager->registerEventListener($event, $callback, 20);
     $this->eventManager->registerEventListener($event, $callback4, 99);
     $this->eventManager->registerEventListener($event, $callback2, 10);
     $this->eventManager->runEvent($event, 7);
     $this->assertEquals(42, $this->executed);
 }
 public function testTriggerEventWithWeights()
 {
     $event = 'event';
     $this->executed = 10;
     $callback1 = array($this, 'eventCallbackMethod');
     $callback2 = array($this, 'eventCallbackMethodSum');
     $callback3 = array($this, 'eventCallbackMethodMultiply');
     $callback4 = array($this, 'eventCallbackMethodSubstract');
     $this->eventManager->registerEventListener($event, $callback3);
     $this->eventManager->registerEventListener($event, $callback1, 20);
     $this->eventManager->registerEventListener($event, $callback4, 99);
     $this->eventManager->registerEventListener($event, $callback2, 10);
     $this->eventManager->triggerEvent($event, 7);
     // 1: 10 + 7 = 17
     // 2: 7
     // 3: 7 * 7 = 49
     // 4: 49 - 7 = 42
     $this->assertEquals(42, $this->executed);
 }
Exemple #3
0
 /**
  * Register a event listener for an event
  * @param string $eventName name of the event
  * @param mixed $callback listener callback
  * @param int $weight weight of the listener to influence the order of listeners
  * @return null
  */
 public function registerEventListener($eventName, $callback, $weight = null)
 {
     $this->eventManager->registerEventListener($eventName, $callback, $weight);
 }