Автор: Adam Štipák (adam.stipak@gmail.com)
Наследование: extends Nette\Object, implements Nette\Application\IRouter
 /**
  * @expectedException \Nette\InvalidStateException
  */
 public function testOverrideMethodWithInvalidMethod()
 {
     $method = 'invalid';
     $route = new RestRoute('Api');
     $url = new UrlScript();
     $url->setPath('/api/foo');
     $url->setQuery(['__method' => $method]);
     $request = new Request($url, NULL, NULL, NULL, NULL, NULL, 'POST');
     $appRequest = $route->match($request);
 }
 /**
  * @dataProvider getActions
  */
 public function testDefault($method, $path, $action, $id = null, $associations = null)
 {
     $route = new RestRoute();
     $url = new UrlScript();
     $url->setPath($path);
     $request = new Request($url, NULL, NULL, NULL, NULL, NULL, $method);
     $appRequest = $route->match($request);
     $this->assertEquals('Foo', $appRequest->getPresenterName());
     $this->assertEquals($action, $appRequest->parameters['action']);
     if ($id) {
         $this->assertEquals($id, $appRequest->parameters['id']);
     }
     if ($associations) {
         $this->assertSame($associations, $appRequest->parameters['associations']);
     }
 }
Пример #3
0
 /**
  * @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);
 }