public function test_getInstance_fromINIConfig() { $config = new \Zend\Config\Ini(dirname(__FILE__) . '/../Controller/_files/routes.ini', 'testing'); $router = new \Zend_Controller_Router_Rewrite(); $router->addConfig($config, 'routes'); $route = $router->getRoute('rest'); $this->assertType('Zend\\REST\\Route', $route); $this->assertEquals('object', $route->getDefault('controller')); $request = $this->_buildRequest('GET', '/mod/project'); $values = $this->_invokeRouteMatch($request, array(), $route); $this->assertEquals('mod', $values['module']); $this->assertEquals('project', $values['controller']); $this->assertEquals('index', $values['action']); $request = $this->_buildRequest('POST', '/mod/user'); $values = $this->_invokeRouteMatch($request, array(), $route); $this->assertEquals('mod', $values['module']); $this->assertEquals('user', $values['controller']); $this->assertEquals('post', $values['action']); $request = $this->_buildRequest('GET', '/other'); $values = $this->_invokeRouteMatch($request, array(), $route); $this->assertFalse($values); }
/** * @group ZF-7848 */ public function testChainingWithConfiguredEmptyStaticRoutesMatchesCorrectly() { $routes = array('admin' => array('route' => 'admin', 'defaults' => array('module' => 'admin', 'controller' => 'index', 'action' => 'index'), 'chains' => array('index' => array('type' => 'Zend_Controller_Router_Route_Static', 'route' => '', 'defaults' => array('module' => 'admin', 'controller' => 'index', 'action' => 'index')), 'login' => array('route' => 'login', 'defaults' => array('module' => 'admin', 'controller' => 'login', 'action' => 'index'))))); $config = new Zend_Config($routes); $rewrite = new Zend_Controller_Router_Rewrite(); $rewrite->addConfig($config); $routes = $rewrite->getRoutes(); $indexRoute = $rewrite->getRoute('admin-index'); $loginRoute = $rewrite->getRoute('admin-login'); $request = new Zend_Controller_Request_Http(); $request->setPathInfo('/admin'); $values = $indexRoute->match($request); $this->assertEquals(array('module' => 'admin', 'controller' => 'index', 'action' => 'index'), $values); $request->setPathInfo('/admin/'); $values = $indexRoute->match($request); $this->assertEquals(array('module' => 'admin', 'controller' => 'index', 'action' => 'index'), $values); $request->setPathInfo('/admin/login'); $values = $loginRoute->match($request); $this->assertEquals(array('module' => 'admin', 'controller' => 'login', 'action' => 'index'), $values); }