/** * /user/login should match /user/login before /user/:id or /user/:name **/ public function testStaticOverDynamic() { $router = new Frapi_Router(); $routesToPrepare = array("user-id-login" => "/user/:id/login", "user" => "/user/", "user-id" => "/user/:id", "user-login" => "/user/login", "user-logout" => "/user/logout", "container-get" => "/container/get/:id", "container-get-all" => "/container/get/all"); $router->setPreparedRoutes(Frapi_Router::prepareRoutes($routesToPrepare)); $this->assertEquals("user", end($router->match("/user"))); $this->assertEquals("user-id", end($router->match("/user/1234"))); $this->assertEquals("user-login", end($router->match("/user/login/"))); $this->assertEquals("user-logout", end($router->match("/user/logout"))); $this->assertEquals("container-get-all", end($router->match("/container/get/all"))); $this->assertEquals("container-get", end($router->match("/container/get/12345"))); }
/** * /user/login should match /user/login before /user/:id or /user/:name **/ public function testStaticOverDynamic() { $router = new Frapi_Router(); $routesToPrepare = array("user-id-login" => "/user/:id/login", "user" => "/user/", "user-id" => "/user/:id", "user-login" => "/user/login", "user-logout" => "/user/logout", "container-get" => "/container/get/:id", "container-get-all" => "/container/get/all", "container-get-all-wild" => '/container/get/all/*'); $router->setPreparedRoutes(Frapi_Router::prepareRoutes($routesToPrepare)); $user = $router->match("/user"); $user_id = $router->match("/user/1234"); $user_login = $router->match("/user/login/"); $user_logout = $router->match("/user/logout"); $container_get = $router->match("/container/get/12345"); $container_get_all = $router->match("/container/get/all"); $container_get_all_wild = $router->match("/container/get/all/testing/name/is"); $this->assertEquals("user", end($user)); $this->assertEquals("user-id", end($user_id)); $this->assertEquals("user-login", end($user_login)); $this->assertEquals("user-logout", end($user_logout)); $this->assertEquals("container-get-all", end($container_get_all)); $this->assertEquals("container-get", end($container_get)); $this->assertEquals("container-get-all-wild", end($container_get_all_wild)); }