/** * Overriden for getting rid * of initialization of routers for each test case * * (non-PHPdoc) * @see Mage_Core_Controller_Varien_Front::init() */ public function init() { if (!$this->_routers) { parent::init(); } return $this; }
public function testGetRouterByFrontName() { $this->_model->init(); $this->assertInstanceOf('Mage_Core_Controller_Varien_Router_Base', $this->_model->getRouterByFrontName('')); $this->assertInstanceOf('Mage_Core_Controller_Varien_Router_Base', $this->_model->getRouterByFrontName('checkout')); $this->assertInstanceOf('Mage_Core_Controller_Varien_Router_Default', $this->_model->getRouterByFrontName('test')); }
/** * Initialize application front controller * * @return Mage_Core_Model_App */ protected function _initFrontController() { $this->_frontController = new Mage_Core_Controller_Varien_Front(); Mage::register('controller', $this->_frontController); $this->_frontController->init(); return $this; }
/** * Resets initialized routers before front controller re-initialization * on test cases * * @see Mage_Core_Controller_Varien_Front::init() */ public function init() { if ($this->_routers) { $this->_routers = array(); } return parent::init(); }
/** * You aren't supposed to call this multiple times per test... * @param string $url The relative url (e.g. "/en/catalog/product/view/id/123") */ protected function load($url, $post = array()) { $request = Mage::app()->getRequest(); $request->setRequestUri($url); if ($post) { $request->setPost($post); $_SERVER['REQUEST_METHOD'] = 'POST'; } // real magic! $controller = new Mage_Core_Controller_Varien_Front(); $controller->init(); $request->setPathInfo()->setDispatched(false); if (!$request->isStraight()) { Mage::getModel('core/url_rewrite')->rewrite(); } $controller->rewrite(); $i = 0; while (!$request->isDispatched() && $i++ < 100) { foreach ($controller->getRouters() as $router) { if ($router->match($request)) { break; } } } if ($i > 100) { throw new Exception('Front controller reached 100 router match iterations'); } return $controller->getResponse(); }
/** * Initialize application front controller * * @return Mage_Core_Model_App */ protected function _initFrontController() { $this->_frontController = new Mage_Core_Controller_Varien_Front(); Mage::register('controller', $this->_frontController); Varien_Profiler::start('mage::app::init_front_controller'); $this->_frontController->init(); Varien_Profiler::stop('mage::app::init_front_controller'); return $this; }
/** * Initialize application front controller * * @return Mage_Core_Model_App */ protected function _initFrontController() { $this->_frontController = new Mage_Core_Controller_Varien_Front(); Magento_Profiler::start('init_front_controller'); $this->_frontController->init(); Magento_Profiler::stop('init_front_controller'); return $this; }
/** * Initialize application front controller * * @return Mage_Core_Model_App */ protected function _initFrontController() { AO::includeFile('Mage/Core/Controller/Varien/Front'); AO::includeFile('Mage/Core/Model/Session'); $this->_frontController = new Mage_Core_Controller_Varien_Front(); if (VPROF) { Varien_Profiler::start('mage::app::init_front_controller'); } $this->_frontController->init(); if (VPROF) { Varien_Profiler::stop('mage::app::init_front_controller'); } return $this; }