/** * Asserts that global strategy is used when set * * @return void */ public function testGlobalStrategyIsUsedWhenSet() { $router = new RouteCollection(); $router->setStrategy(RouteCollection::URI_STRATEGY); $router->get('/route/{wildcard}', 'handler_get', RouteCollection::RESTFUL_STRATEGY); $router->post('/route/{wildcard}', 'handler_post', RouteCollection::URI_STRATEGY); $router->put('/route/{wildcard}', 'handler_put', RouteCollection::REQUEST_RESPONSE_STRATEGY); $router->patch('/route/{wildcard}', 'handler_patch'); $router->delete('/route/{wildcard}', 'handler_delete'); $router->head('/route/{wildcard}', 'handler_head'); $router->options('/route/{wildcard}', 'handler_options'); $routes = (new \ReflectionClass($router))->getProperty('routes'); $routes->setAccessible(true); $routes = $routes->getValue($router); $this->assertCount(7, $routes); $this->assertSame($routes['handler_get'], ['strategy' => 2]); $this->assertSame($routes['handler_post'], ['strategy' => 2]); $this->assertSame($routes['handler_put'], ['strategy' => 2]); $this->assertSame($routes['handler_patch'], ['strategy' => 2]); $this->assertSame($routes['handler_delete'], ['strategy' => 2]); $this->assertSame($routes['handler_head'], ['strategy' => 2]); $this->assertSame($routes['handler_options'], ['strategy' => 2]); }
/** * Asserts that a 405 exception is thrown whilst using standard strategies * * @return void */ public function testDispatcherHandles405CorrectlyOnStandardStrategies() { $this->setExpectedException('Orno\\Http\\Exception\\MethodNotAllowedException', 'Method Not Allowed', 0); $collection = new Route\RouteCollection(); $collection->post('/route', 'handler'); $collection->put('/route', 'handler'); $collection->delete('/route', 'handler'); $dispatcher = $collection->getDispatcher(); $response = $dispatcher->dispatch('GET', '/route'); }