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'); $this->bootstrap = new Zend_Application_Bootstrap_Bootstrap($this->application); Zend_Registry::_unsetInstance(); } 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); } // Reset autoloader instance so it doesn't affect other tests Zend_Loader_Autoloader::resetInstance(); } public function testInitializationInitializesNavigationObject() { $this->bootstrap->registerPluginResource('view'); $resource = new Zend_Application_Resource_Navigation(array()); $resource->setBootstrap($this->bootstrap); $resource->init(); $this->assertTrue($resource->getContainer() instanceof Zend_Navigation_Container); $this->bootstrap->unregisterPluginResource('view'); } public function testInitializationReturnsNavigationObject() { $this->bootstrap->registerPluginResource('view'); $resource = new Zend_Application_Resource_Navigation(array()); $resource->setBootstrap($this->bootstrap); $test = $resource->init(); $this->assertTrue($test instanceof Zend_Navigation); $this->bootstrap->unregisterPluginResource('view'); } public function testContainerIsStoredInViewhelper() { $options = array('pages'=> array(new Zend_Navigation_Page_Mvc(array( 'action' => 'index', 'controller' => 'index')))); $this->bootstrap->registerPluginResource('view'); $resource = new Zend_Application_Resource_Navigation($options); $resource->setBootstrap($this->bootstrap)->init(); $view = $this->bootstrap->getPluginResource('view')->getView(); $number = $view->getHelper('navigation')->navigation()->count(); $this->assertEquals($number,1); $this->bootstrap->unregisterPluginResource('view'); } public function testContainerIsStoredInRegistry() { $options = array('pages'=> array(new Zend_Navigation_Page_Mvc(array( 'action' => 'index', 'controller' => 'index'))), 'storage' => array('registry' => true)); $resource = new Zend_Application_Resource_Navigation($options); $resource->setBootstrap($this->bootstrap)->init(); $key = Zend_Application_Resource_Navigation::DEFAULT_REGISTRY_KEY; $this->assertEquals(Zend_Registry::isRegistered($key),true); $container = Zend_Registry::get($key); $number = $container->count(); $this->assertEquals($number,1); $this->bootstrap->unregisterPluginResource('view'); } /** * @group ZF-6747 */ public function testViewMethodIsUsedWhenAvailableInsteadOfResourcePlugin() { require_once '_files/ZfAppBootstrapCustomView.php'; $bootstrap = new ZfAppBootstrapCustomView($this->application); $bootstrap->registerPluginResource('view'); $view = $bootstrap->bootstrap('view')->view; $this->assertEquals($view->setInMethodByTest,true); } } if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_LocaleTest::main') { Zend_Application_Resource_LocaleTest::main(); }