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'); }