/** * @dataProvider getVersions */ public function testModuleVersioning($module, $path, $expectedPresenterName, $expectedUrl) { $route = new RestRoute($module); $route->useURLModuleVersioning(RestRoute::MODULE_VERSION_PATH_PREFIX_PATTERN, [NULL => 'V1', 'v1' => 'V1', 'v2' => 'V2']); $url = new UrlScript(); $url->setPath($path); $request = new Request($url, NULL, NULL, NULL, NULL, NULL, 'GET'); $appRequest = $route->match($request); $this->assertEquals($expectedPresenterName, $appRequest->getPresenterName()); $refUrl = new Url('http://localhost'); $url = $route->constructUrl($appRequest, $refUrl); $this->assertEquals($expectedUrl, $url); }