/** * Calls all handlers associated with an event group. * * @param string $event The event name. * @param array $args An array of arguments (optional). * * @return array An array of results from each function call, or null if no dispatcher is defined. * * @since 12.1 */ public function triggerEvent($event, array $args = null) { if ($this->dispatcher instanceof JDispatcher) { return $this->dispatcher->trigger($event, $args); } return null; }
/** * Test JDispatcher::trigger(). * * @since 11.3 */ public function testTrigger() { $this->object->register('onTestEvent', 'JEventMockFunction'); $this->object->register('', 'JEventInspector'); //We check a non-existing event $this->assertThat($this->object->trigger('onFakeEvent'), $this->equalTo(array())); //Lets check the existing event "onTestEvent" without parameters $this->assertThat($this->object->trigger('onTestEvent'), $this->equalTo(array('JDispatcherMockFunction executed', ''))); //Lets check the existing event "onTestEvent" with parameters $this->assertThat($this->object->trigger('onTestEvent', array('one', 'two')), $this->equalTo(array('JDispatcherMockFunction executed', 'onetwo'))); //We check a situation where the observer is broken. Joomla should handle this gracefully $this->object->_observers = array(); $this->assertThat($this->object->trigger('onTestEvent'), $this->equalTo(array())); }