public function testAddListener() { $config = new ConfigConfig(); $config->addListener('MyName', 'MyClassName', array('foo' => 'bar')); $listeners = $config->getListeners(); $this->assertArrayHasKey('MyName', $listeners); $listener = $listeners['MyName']; $this->assertEquals('MyClassName', $listener['className']); $this->assertArrayHasKey('foo', $listener['parameters']); }
public function testRegisterByConfig() { $dispatcher = new Dispatcher(); $config = new ConfigConfig(); $config->addListener('myListener', 'Unit\\LiveTest\\Listener\\MockUp', array('foo' => 'bar')); $dispatcher->registerByConfig($config, ''); $listeners = $dispatcher->getListeners('Test'); $listener = $listeners[0]; $this->assertTrue($listener[0] instanceof \Unit\LiveTest\Listener\MockUp); $this->assertEquals('bar', $listener[0]->getFoo()); }
/** * @see LiveTest\Config\Tags\Config.Base::doProcess() */ protected function doProcess(ConfigConfig $config, $parameters) { foreach ($parameters as $name => $listener) { if (!array_key_exists('class', $listener) || $listener['class'] == '') { throw new \Exception('The class name for the "' . $name . '" listener is missing. Please check your configuration.'); } if (!array_key_exists('priority', $listener)) { $listener['priority'] = 0; } if (!array_key_exists('parameter', $listener)) { $listener['parameter'] = array(); } $config->addListener($name, $listener['class'], $listener['parameter'], $listener['priority']); } }
/** * @see LiveTest\Config\Tags\Config.Base::doProcess() */ protected function doProcess(ConfigConfig $config, $parameters) { $config->addListener('httpListener', 'LiveTest\\Packages\\Http\\Listeners\\ClientConfiguration', $parameters); }