public function testRouterFullResources() { $router = new Phalcon\Mvc\Router\Annotations(false); $router->setDI($this->_getDI()); $router->addResource('Robots'); $router->addResource('Products'); $router->handle(); $this->assertEquals(count($router->getRoutes()), 6); $route = $router->getRouteByName('save-robot'); $this->assertTrue(is_object($route)); $this->assertEquals(get_class($route), 'Phalcon\\Mvc\\Router\\Route'); $route = $router->getRouteByName('save-product'); $this->assertTrue(is_object($route)); $this->assertEquals(get_class($route), 'Phalcon\\Mvc\\Router\\Route'); $routes = array(array('uri' => '/products/save', 'method' => 'PUT', 'controller' => 'Products', 'action' => 'save', 'params' => array()), array('uri' => '/products/save', 'method' => 'POST', 'controller' => 'Products', 'action' => 'save', 'params' => array()), array('uri' => '/products/edit/100', 'method' => 'GET', 'controller' => 'Products', 'action' => 'edit', 'params' => array('id' => '100')), array('uri' => '/products', 'method' => 'GET', 'controller' => 'Products', 'action' => 'index', 'params' => array()), array('uri' => '/robots/edit/100', 'method' => 'GET', 'controller' => 'Robots', 'action' => 'edit', 'params' => array('id' => '100')), array('uri' => '/robots', 'method' => 'GET', 'controller' => 'Robots', 'action' => 'index', 'params' => array()), array('uri' => '/robots/save', 'method' => 'PUT', 'controller' => 'Robots', 'action' => 'save', 'params' => array())); foreach ($routes as $route) { $_SERVER['REQUEST_METHOD'] = $route['method']; $router->handle($route['uri']); $this->assertEquals($router->getControllerName(), $route['controller']); $this->assertEquals($router->getActionName(), $route['action']); $this->assertEquals($router->getParams(), $route['params']); $this->assertEquals($router->isExactControllerName(), true); } }