public function testSetupRoutes() { HalfMoon\Router::clearRoutes(); $this->assertEquals(0, count(HalfMoon\Router::getRoutes())); $this->assertEquals(0, count(HalfMoon\Router::getRootRoutes())); $added_routes = 0; $added_root_routes = 0; HalfMoon\Router::addRoute(array("url" => "logout", "controller" => "login", "action" => "logout2", "conditions" => array("hostname" => "/^www(\\d+)\\.example\\.(com|net)\$/i"))); $added_routes++; HalfMoon\Router::addRoute(array("url" => "logout", "controller" => "login", "action" => "logout")); $added_routes++; HalfMoon\Router::addRoute(array("url" => "*globby", "controller" => "login", "action" => "globtest", "conditions" => array("globby" => "/^globte.t\$/"))); $added_routes++; HalfMoon\Router::addRoute(array("url" => "stub/:controller/:action/:id", "action" => "stub_:action")); $added_routes++; HalfMoon\Router::addRoute(array("url" => "zero_test/:id", "controller" => "zero_test", "action" => "show", "conditions" => array("id" => "/^[0-9]+\$/"))); $added_routes++; HalfMoon\Router::addRoute(array("url" => ":tag/:message", "controller" => "messages", "action" => "show_tagged", "conditions" => array("tag" => "/^[A-Za-z0-9_\\-]+\$/", "message" => "/^\\d+\$/"))); $added_routes++; HalfMoon\Router::addRoute(array("url" => ":controller/:action/*globbed", "conditions" => array("controller" => "someglob", "action" => "/^[a-z]+\$/"))); $added_routes++; HalfMoon\Router::addRootRoute(array("controller" => "root2", "conditions" => array("hostname" => "www.example2.com"))); $added_root_routes++; HalfMoon\Router::addRootRoute(array("controller" => "root")); $added_root_routes++; $this->assertEquals($added_routes, count(HalfMoon\Router::getRoutes())); $this->assertEquals($added_root_routes, count(HalfMoon\Router::getRootRoutes())); }