Beispiel #1
0
 /**
  * @param string       $event
  * @param callable|null $callback
  */
 public function unbind($event, callable $callback = null)
 {
     if (null === $this->_eventHandler) {
         return;
     }
     $this->_eventHandler->unbind($event, $callback);
 }
Beispiel #2
0
 public function testBindJob()
 {
     $eventHandler = new CM_EventHandler_EventHandler();
     self::$_foo = '';
     $eventHandler->bindJob('foo', new CM_JobMock_1(), array('text' => 'bar'));
     $eventHandler->trigger('foo');
     $this->assertEquals('bar', self::$_foo);
     self::$_counter = 0;
     $eventHandler->bindJob('foo', new CM_JobMock_2());
     $eventHandler->bindJob('foo', new CM_JobMock_3(), array('i' => 2));
     $eventHandler->bindJob('foo', new CM_JobMock_4(), array('a' => 4));
     $eventHandler->trigger('foo', array('i' => 8));
     $this->assertEquals('barbar', self::$_foo);
     $this->assertEquals(13, self::$_counter);
     $eventHandler->trigger('foo', array('text' => 'eclan'));
     $this->assertEquals(20, self::$_counter);
     $this->assertEquals('barbareclan', self::$_foo);
     try {
         $eventHandler->trigger('nonExistentEvent');
         $this->assertTrue(true);
     } catch (Exception $ex) {
         $this->fail('Cant trigger nonexistent events');
     }
 }