public function testRequestMethods() { // Create Router $router = new \Bramus\Router\Router(); $router->get('/', function () { echo 'get'; }); $router->post('/', function () { echo 'post'; }); $router->put('/', function () { echo 'put'; }); $router->patch('/', function () { echo 'patch'; }); $router->delete('/', function () { echo 'delete'; }); $router->options('/', function () { echo 'options'; }); // Test GET ob_start(); $_SERVER['REQUEST_URI'] = '/'; $router->run(); $this->assertEquals('get', ob_get_contents()); // Test POST ob_clean(); $_SERVER['REQUEST_METHOD'] = 'POST'; $router->run(); $this->assertEquals('post', ob_get_contents()); // Test PUT ob_clean(); $_SERVER['REQUEST_METHOD'] = 'PUT'; $router->run(); $this->assertEquals('put', ob_get_contents()); // Test PATCH ob_clean(); $_SERVER['REQUEST_METHOD'] = 'PATCH'; $router->run(); $this->assertEquals('patch', ob_get_contents()); // Test DELETE ob_clean(); $_SERVER['REQUEST_METHOD'] = 'DELETE'; $router->run(); $this->assertEquals('delete', ob_get_contents()); // Test OPTIONS ob_clean(); $_SERVER['REQUEST_METHOD'] = 'OPTIONS'; $router->run(); $this->assertEquals('options', ob_get_contents()); // Test HEAD ob_clean(); $_SERVER['REQUEST_METHOD'] = 'HEAD'; $router->run(); $this->assertEquals('', ob_get_contents()); // Cleanup ob_end_clean(); }