Tests that requests can be routed based on HTTP method verbs or HTTP headers.

Source

						public function testHeaderAndMethodBasedRouting() {
		$parameters = array('controller' => 'users', 'action' => 'edit');

		$route = new Route(array(
			'template' => '/',
			'params' => $parameters + array('http:method' => 'POST')
		));

		$request = new Request(array('env' => array('HTTP_METHOD' => 'GET')));
		$request->url = '/';
		$this->assertFalse($route->parse($request));

		$request = new Request(array('env' => array('REQUEST_METHOD' => 'POST')));
		$request->url = '/';
		$this->assertEqual($parameters, $route->parse($request)->params);

		$route = new Route(array(
			'template' => '/{:controller}/{:id:[0-9]+}',
			'params' => $parameters + array('http:method' => array('POST', 'PUT'))
		));

		$request = new Request(array('env' => array('REQUEST_METHOD' => 'PUT')));
		$request->url = '/users/abc';
		$this->assertFalse($route->parse($request));

		$request->url = '/users/54';
		$this->assertEqual($parameters + array('id' => '54'), $route->parse($request)->params);
	}