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); $this->bootstrap->registerPluginResource('view'); Zend_Controller_Front::getInstance()->resetInstance(); } 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 testInitializationInitializesDojoContainer() { $resource = new Zend_Application_Resource_Dojo(array()); $resource->setBootstrap($this->bootstrap); $resource->init(); $this->assertTrue($resource->getDojo() instanceof Zend_Dojo_View_Helper_Dojo_Container); } public function testInitializationReturnsDojoContainer() { $resource = new Zend_Application_Resource_Dojo(array()); $resource->setBootstrap($this->bootstrap); $test = $resource->init(); $this->assertTrue($test instanceof Zend_Dojo_View_Helper_Dojo_Container); } public function testOptionsPassedToResourceAreUsedToSetDojosContainerState() { $options = array( 'requireModules' => array('DojoTest'), 'localPath' => '/ofc/ZF/Rules/', ); $resource = new Zend_Application_Resource_Dojo($options); $resource->setBootstrap($this->bootstrap); $resource->init(); $resource->getBootstrap()->bootstrap('view'); $dojo = $resource->getBootstrap()->view->dojo(); $test = array( 'requireModules' => $dojo->getModules(), 'localPath' => $dojo->getLocalPath() ); $this->assertEquals($options, $test); } } if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_DojoTest::main') { Zend_Application_Resource_DojoTest::main(); }