Example #1
0
 public function testCheckRoute2()
 {
     $r = new Router();
     $r->addFilter('centuryYear', function ($v, $uri) {
         if (is_numeric($v) && (int) $v >= 2000 && (int) $v < 2100) {
             return true;
         }
         return false;
     });
     $r->addFilter('isOk', function ($v, $uri) {
         if ($v == 'ok') {
             return true;
         }
         return false;
     });
     $a1 = $r->checkRoute('/sobre-nosotros/equipo', '/sobre-nosotros/equipo');
     $a2 = $r->checkRoute('/article-{:centuryYear}/{:title}', '/article-2015/the-article-title');
     $a3 = $r->checkRoute('/article-{:centuryYear}/the-article-title', '/article-2015/the-article-title');
     $a4 = $r->checkRoute('/components-{:isOk}/{*params}?', '/components-ok/the-article-title/another-segment');
     $this->assertEquals([], $a1, "The route '/sobre-nosotros/equipo' is not matched by the '/sobre-nosotros/equipo' uri.");
     $this->assertEquals(['2015', 'the-article-title'], $a2, 'Esto no puede ser correcto. Simplemente. centuryYear debe ser > 1999 y < de 2100');
     $this->assertEquals(['2015'], $a3, 'Esto no puede ser correcto. Simplemente. centuryYear debe ser > 1999 y < de 2100');
     $this->assertEquals(['ok', 'the-article-title/another-segment'], $a4, '/components-ok/the-article-title/another-segment match /components-{:isOk}/the-article-title/another-segment');
 }