function routeIn(Nette\Application\IRouter $route, $url, $expectedPresenter = NULL, $expectedParams = NULL, $expectedUrl = NULL, $scriptPath = NULL) { $url = new Nette\Http\UrlScript("http://example.com{$url}"); if ($scriptPath) { $url->setScriptPath($scriptPath); } if ($url->getQueryParameter('presenter') === NULL) { $url->setQueryParameter('presenter', 'querypresenter'); } $url->appendQuery(['test' => 'testvalue']); $httpRequest = new Nette\Http\Request($url); $request = $route->match($httpRequest); if ($request) { // matched $params = $request->getParameters(); asort($params); asort($expectedParams); Assert::same($expectedPresenter, $request->getPresenterName()); Assert::same($expectedParams, $params); $result = $route->constructUrl($request, $url); Assert::same($expectedUrl, $result); } else { // not matched Assert::null($expectedPresenter); } }