/** * Returns a generic route complete configured. * @return \Brickoo\Component\Routing\Route\GenericRoute */ private function getRouteFixture() { $route = new GenericRoute("articles", "/articles/{articleName}/{pageNumber}{version}{format}", "MyBlog", "displayArticle"); $route->setRules(["articleName" => "[\\w\\-]+", "pageNumber" => "[0-9]+", "version" => "\\.[0-9]+", "format" => "\\.html|\\.json"]); $route->setDefaultValues(["pageNumber" => 1, "format" => "html"]); return $route; }
/** * @covers Brickoo\Component\Routing\Route\Matcher\BasicRouteMatcher::getRouteParameters * @covers Brickoo\Component\Routing\Route\Matcher\CommonRouteMatcherStructure::collectRouteParameters * @covers Brickoo\Component\Routing\Route\Matcher\CommonRouteMatcherStructure::getRuleCorrespondingRouteParameter */ public function testGetRouteParametersWithPageAsDefaultValue() { $expectedParameters = ["name" => "doing-unit-tests", "page" => 1]; $routeHttpMatcher = new BasicRouteMatcher("/doing-unit-tests", new RoutePathRegexGenerator()); $route = new GenericRoute("test.route", "/{name}/{page}", "ControllerPath"); $route->setRules(["name" => "[\\w\\-]+", "page" => "[0-9]+"]); $route->setDefaultValues(["page" => 1]); $this->assertTrue($routeHttpMatcher->matchesRoute($route)); $this->assertEquals($expectedParameters, $routeHttpMatcher->getRouteParameters()); }
/** * Returns a generic route fixture. * @param array $rules * @param array $defaultValues * @return \Brickoo\Component\Routing\Route\GenericRoute */ private function getRouteFixture(array $rules = [], array $defaultValues = []) { $route = new GenericRoute("test.route", "/article/{name}/{page}", "NewspaperController", "getArticle"); $route->setRules($rules); $route->setDefaultValues($defaultValues); return $route; }