Ejemplo n.º 1
0
 public function testCreatingUsesDefaultsWhenNotSupplied()
 {
     $route = new RecursiveRoute('/page/:page_id/:page_title');
     $route->setDefaults(array('page_id' => 10, 'page_title' => 'home'));
     $url = $route->createUrl(array('page_id' => 20));
     $this->assertEquals($url, '/page/20/home/');
 }
Ejemplo n.º 2
0
 public function testValidatorsCanBeSuppliedInConstructor()
 {
     $route = new RecursiveRoute('/page/:page_id/', array('validators' => array('page_id' => '/^\\d+$/')));
     // 'someId' won't validate, so route won't match:
     // param will be appended as key/value
     $url = $route->createUrl(array('page_id' => 'someId'));
     $this->assertEquals($url, '/page_id/someId/');
 }
Ejemplo n.º 3
0
 public function testCreatingSkipsRouteIfReqPartMissing()
 {
     $route = new RecursiveRoute('/');
     $route->addRoute('module/:page_id/');
     $route->addRoute('module/:page_id/:page_title');
     $url = $route->createUrl(array('page_id' => 2));
     $this->assertEquals($url, '/module/2/');
 }
Ejemplo n.º 4
0
 public function testCreatingUsesParameters()
 {
     $route = new RecursiveRoute('/static1/:param1/static2/:param2/static3');
     $url = $route->createUrl(array('param1' => 'value1', 'param2' => 'value2'));
     $this->assertEquals($url, '/static1/value1/static2/value2/static3/');
 }