/** * Tests adding plugin paths via configuration. * * @return void */ public function testAddPluginPathsViaConfiguration() { $dir = dirname(__FILE__); $prefix = 'Phergie_Plugin_'; $this->settings['plugins.paths'] = array($dir => $prefix); // Reinitialize the handler so the configuration change takes effect // within the constructor $this->handler = new Phergie_Plugin_Handler($this->config, $this->events); $this->handler->setAutoload(true); $this->handler->getPlugin('Mock'); }
/** * Tests an exception is thrown when trying to get a plugin * that is not already loaded and autoload is off * * @depends testDefaultsToNotAutoload * @return void */ public function testExceptionThrownWhenLoadingPluginWithoutAutoload() { $this->handler->addPath(dirname(__FILE__), 'Phergie_Plugin_'); try { $this->handler->getPlugin('Mock'); } catch (Phergie_Plugin_Exception $expected) { $this->assertEquals(Phergie_Plugin_Exception::ERR_PLUGIN_NOT_LOADED, $expected->getCode()); return; } $this->fail('An expected exception has not been raised.'); }
/** * Tests adding plugin paths via configuration. * * @return void */ public function testAddPluginPathsViaConfiguration() { $dir = dirname(__FILE__); $prefix = 'Phergie_Plugin_'; $paths = array($dir => $prefix); $this->config->expects($this->any())->method('offsetExists')->will($this->returnValue(true)); $this->config->expects($this->any())->method('offsetGet')->will($this->returnValue($paths)); // Reinitialize the handler so the configuration change takes effect // within the constructor $this->handler = new Phergie_Plugin_Handler($this->config, $this->events); $this->handler->setAutoload(true); $this->handler->getPlugin('Mock'); }