/** * @param $url * @dataProvider outOfMatchUrlProvider * @expectedException \ReRoute\Exceptions\MatchNotFoundException */ public function testOutOfMatch($url) { $router = new Router(); $urlTemplate = new UrlTemplate(); $urlTemplate->setScheme('http')->setPathTemplate('/')->setHostTemplate('example.com'); $router->addRoute(new FinalRoute('homepageResult', $urlTemplate)); $router->doMatch(RequestContextFactory::createFromUrl($url)); }
public function testBuild() { $urlTemplate = new UrlTemplate(['scheme' => 'https', 'host' => 'example.com', 'path' => '/index/']); $url = new Url(); $urlBuilder = new UrlBuilder(new FinalRoute('routeResult')); $urlTemplate->build($url, $urlBuilder); $this->assertEquals('https://example.com/index/', $url->getUrl()); }
/** * @inheritdoc */ public function build(Url $url, UrlBuilder $urlBuilder) { if (!empty($this->parentRoute)) { $this->parentRoute->build($url, $urlBuilder); } if (!empty($this->urlTemplate)) { $this->urlTemplate->build($url, $urlBuilder); } }