Esempio n. 1
0
 public function testPattern()
 {
     $router = new Router();
     $router->addRoute("GET", "/customer/{id:number}", "Vendor\\Package\\Controller");
     $router->addRoute("GET", "/customer/{name:word}", "Vendor\\Package\\Controller");
     $router->addRoute("GET", "/customer/{phone:phone}", "Vendor\\Package\\Controller");
     $router->addPattern("phone", "[0-9]-[0-9]{3}-[[0-9]{3}-[0-9]{4}");
     // #-###-###-####
     $result = $router->parse("GET", "/customer/123");
     $this->assertEquals("Vendor\\Package\\Controller", $result->controller());
     $this->assertEquals(123, $result->params()["id"]);
     $result = $router->parse("GET", "/customer/John");
     $this->assertEquals("Vendor\\Package\\Controller", $result->controller());
     $this->assertEquals("John", $result->params()["name"]);
     $result = $router->parse("GET", "/customer/1-222-333-4444");
     $this->assertEquals("Vendor\\Package\\Controller", $result->controller());
     $this->assertEquals("1-222-333-4444", $result->params()["phone"]);
 }