loaders = spl_autoload_functions(); if (!is_array($this->loaders)) { // spl_autoload_functions does not return empty array when no // autoloaders registered... $this->loaders = array(); } Zend_Loader_Autoloader::resetInstance(); $this->autoloader = Zend_Loader_Autoloader::getInstance(); $this->application = new Zend_Application('testing'); require_once dirname(__FILE__) . '/../_files/ZfAppBootstrap.php'; $this->bootstrap = new ZfAppBootstrap($this->application); } public function tearDown() { // Restore original autoloaders $loaders = spl_autoload_functions(); foreach ($loaders as $loader) { spl_autoload_unregister($loader); } foreach ($this->loaders as $loader) { spl_autoload_register($loader); } Zend_Controller_Front::getInstance()->resetInstance(); // Reset autoloader instance so it doesn't affect other tests Zend_Loader_Autoloader::resetInstance(); } public function testInitializationCreatesFrontControllerInstance() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array()); $resource->init(); $this->assertTrue($resource->getFrontController() instanceof Zend_Controller_Front); } public function testInitializationPushesFrontControllerToBootstrapWhenPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array()); $resource->setBootstrap($this->bootstrap); $resource->init(); $this->assertSame($resource->getFrontController(), $this->bootstrap->frontController); } public function testShouldSetControllerDirectoryWhenStringOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'controllerDirectory' => dirname(__FILE__), )); $resource->init(); $front = $resource->getFrontController(); $dir = $front->getControllerDirectory('default'); $this->assertEquals(dirname(__FILE__), $dir); } public function testShouldSetControllerDirectoryWhenArrayOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'controllerDirectory' => array( 'foo' => dirname(__FILE__), ), )); $resource->init(); $front = $resource->getFrontController(); $dir = $front->getControllerDirectory('foo'); $this->assertEquals(dirname(__FILE__), $dir); } /** * @group ZF-6458 */ public function testAllControllerDirectoriesShouldBeSetWhenArrayPassedToControllerDirectoryOption() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'controllerDirectory' => array( 'foo' => dirname(__FILE__), 'bar' => dirname(__FILE__), ), )); $resource->init(); $front = $resource->getFrontController(); $dirs = $front->getControllerDirectory(); $this->assertEquals(array( 'foo' => dirname(__FILE__), 'bar' => dirname(__FILE__), ), $dirs); } public function testShouldSetModuleControllerDirectoryNameWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'moduleControllerDirectoryName' => 'foo', )); $resource->init(); $front = $resource->getFrontController(); $dir = $front->getModuleControllerDirectoryName(); $this->assertEquals('foo', $dir); } public function testShouldSetModuleDirectoryWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'moduleDirectory' => dirname(__FILE__) . '/../_files/modules', )); $resource->init(); $front = $resource->getFrontController(); $dir = $front->getControllerDirectory(); $expected = array( 'bar' => dirname(__FILE__) . '/../_files/modules/bar/controllers', 'default' => dirname(__FILE__) . '/../_files/modules/default/controllers', 'foo-bar' => dirname(__FILE__) . '/../_files/modules/foo-bar/controllers', 'foo' => dirname(__FILE__) . '/../_files/modules/foo/controllers', 'baz' => dirname(__FILE__) . '/../_files/modules/baz/controllers', 'zfappbootstrap' => dirname(__FILE__) . '/../_files/modules/zfappbootstrap/controllers', ); $this->assertEquals($expected, $dir); } public function testShouldSetDefaultControllerNameWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'defaultControllerName' => 'foo', )); $resource->init(); $front = $resource->getFrontController(); $test = $front->getDefaultControllerName(); $this->assertEquals('foo', $test); } public function testShouldSetDefaultActionWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'defaultAction' => 'foo', )); $resource->init(); $front = $resource->getFrontController(); $test = $front->getDefaultAction(); $this->assertEquals('foo', $test); } public function testShouldSetDefaultModuleWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'defaultModule' => 'foo', )); $resource->init(); $front = $resource->getFrontController(); $test = $front->getDefaultModule(); $this->assertEquals('foo', $test); } public function testShouldSetBaseUrlWhenOptionPresent() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'baseUrl' => '/foo', )); $resource->init(); $front = $resource->getFrontController(); $test = $front->getBaseUrl(); $this->assertEquals('/foo', $test); } public function testShouldSetParamsWhenOptionPresent() { $params = array( 'foo' => 'bar', 'bar' => 'baz', ); require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'params' => $params, )); $resource->init(); $front = $resource->getFrontController(); $test = $front->getParams(); $this->assertEquals($params, $test); } public function testShouldInstantiateAndRegisterPluginsWhenOptionPassed() { $plugins = array( 'Zend_Controller_Plugin_ActionStack', ); require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'plugins' => $plugins, )); $resource->init(); $front = $resource->getFrontController(); foreach ($plugins as $class) { $this->assertTrue($front->hasPlugin($class)); } } public function testShouldReturnFrontControllerWhenComplete() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'controllerDirectory' => dirname(__FILE__), )); $front = $resource->init(); $this->assertTrue($front instanceof Zend_Controller_Front); } public function testNoBaseUrlShouldBeSetIfEmptyBaseUrlProvidedInOptions() { require_once 'Zend/Application/Resource/Frontcontroller.php'; $resource = new Zend_Application_Resource_Frontcontroller(array( 'baseurl' => '', )); $resource->init(); $front = $resource->getFrontController(); $this->assertNull($front->getBaseUrl()); } } if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_FrontcontrollerTest::main') { Zend_Application_Resource_FrontcontrollerTest::main(); }