public function testUncallableHandlersAreLogged()
 {
     $events = new Elgg_EventsService();
     $loggerMock = $this->getMock('Elgg_Logger', array(), array(), '', false);
     $events->setLogger($loggerMock);
     $events->registerHandler('foo', 'bar', array(new stdClass(), 'uncallableMethod'));
     $expectedMsg = 'handler for event [foo, bar] is not callable: (stdClass)->uncallableMethod';
     $loggerMock->expects($this->once())->method('warn')->with($expectedMsg);
     $events->trigger('foo', 'bar');
 }
Example #2
0
 public function testBubbling()
 {
     $events = new Elgg_EventsService();
     // false stops it
     $events->registerHandler('foo', 'bar', array('Elgg_EventsServiceTest', 'returnFalse'));
     $events->registerHandler('foo', 'bar', array('Elgg_EventsServiceTest', 'throwInvalidArg'));
     $events->trigger('foo', 'bar');
     // null allows it
     $events = new Elgg_EventsService();
     // false stops it
     $events->registerHandler('foo', 'bar', array('Elgg_EventsServiceTest', 'returnNull'));
     $events->registerHandler('foo', 'bar', array('Elgg_EventsServiceTest', 'throwInvalidArg'));
     $this->setExpectedException('InvalidArgumentException');
     $events->trigger('foo', 'bar');
 }