public function testGroups()
{
$this->specify("Router Groups don't work properly", function () {
\Phalcon\Mvc\Router\Route::reset();
$router = new \Phalcon\Mvc\Router(false);
$blog = new \Phalcon\Mvc\Router\Group(["module" => "blog", "controller" => "index"]);
$blog->setPrefix("/blog");
$blog->add("/save", ["action" => "save"]);
$blog->add("/edit/{id}", ["action" => "edit"]);
$blog->add("/about", ["controller" => "about", "action" => "index"]);
$router->mount($blog);
$routes = ["/blog/save" => ["module" => "blog", "controller" => "index", "action" => "save"], "/blog/edit/1" => ["module" => "blog", "controller" => "index", "action" => "edit"], "/blog/about" => ["module" => "blog", "controller" => "about", "action" => "index"]];
foreach ($routes as $route => $paths) {
$router->handle($route);
expect($router->wasMatched())->true();
expect($paths["module"])->equals($router->getModuleName());
expect($paths["controller"])->equals($router->getControllerName());
expect($paths["action"])->equals($router->getActionName());
expect($blog)->equals($router->getMatchedRoute()->getGroup());
}
});
}