public function testConcurrentRoutes() { $request = new Request(); $request->set(['amodule', 'correct', 'foo']); $this->router->addRoute('/:module/:controller/:action', ['module' => 1, 'controller' => 2, 'action' => 'foo'])->addRoute('/amodule/:controller/foo', ['module' => 'correct', 'controller' => 1, 'action' => 'correct']); $route = $this->router->getRoute($request); $routeExpected = ['namespace' => 'Janeiro\\Module', 'module' => 'correct', 'controller' => 'correct', 'action' => 'correct', 'parameters' => [], 'methods' => null]; $this->assertEquals($routeExpected, $route); }
/** * Apply routing table and start dispatch forwarding loop * * @param \Janeiro\Request\AbstractRequest $request * @return \Janeiro\Response */ public function dispatch(AbstractRequest $request) { try { $this->route = $this->router->getRoute($request); $this->response = $this->loop($request); } catch (\Exception $e) { $this->response->setException($e); } return $this->response; }