public function testRegisterablePlugins() { $pluginManager = new PluginManager(__DIR__ . '/Registerable', 'Zumba\\Symbiosis\\Test\\Plugin\\Registerable'); $pluginManager->loadPlugins(); $expectedList = ['Zumba\\Symbiosis\\Test\\Plugin\\Registerable\\TestPlugin' => 1]; $this->assertEquals($expectedList, $pluginManager->getPluginList()); $event1 = new Event('register.1', array('called' => 0)); $event2 = new Event('register.2', array('called' => 0)); $pluginManager->trigger($event1); $pluginManager->trigger($event2); $this->assertEquals(['called' => 1], $event1->data()); $this->assertEquals(['called' => 2], $event2->data()); }
/** * Convenience method for triggering the event from the event object. * * @param Zumba\Symbiosis\EventRegistry $registry Single registry instance if used outside of global context. * @return boolean */ public function trigger(EventRegistry $registry = null) { if ($this->pluginContext) { return $this->pluginContext->trigger($this); } return $registry instanceof EventRegistry ? $registry->trigger($this) : EventManager::trigger($this); }