示例#1
0
 /**
  * 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;
 }
示例#2
0
 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'));
 }
示例#3
0
 /**
  * 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;
 }
示例#4
0
 /**
  * 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();
 }
示例#5
0
 /**
  * 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;
 }
示例#7
0
文件: App.php 项目: rorteg/magento2
 /**
  * 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;
 }
示例#8
0
 /**
  * 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;
 }