Source

						public function testConstruct() {
		$request = new Request(array(
			'host' => 'localhost',
			'port' => 443,
			'headers' => array('Header' => 'Value'),
			'body' => array('Part 1'),
			'params' => array('param' => 'value')
		));

		$expected = 'localhost';
		$result = $request->host;
		$this->assertEqual($expected, $result);

		$expected = 443;
		$result = $request->port;
		$this->assertEqual($expected, $result);

		$expected = 'GET';
		$result = $request->method;
		$this->assertEqual($expected, $result);

		$expected = 'HTTP/1.1';
		$result = $request->protocol;
		$this->assertEqual($expected, $result);

		$expected = '1.1';
		$result = $request->version;
		$this->assertEqual($expected, $result);

		$expected = '/';
		$result = $request->path;
		$this->assertEqual($expected, $result);

		$expected = array('param' => 'value');
		$result = $request->params;
		$this->assertEqual($expected, $result);

		$expected = array(
			'Host: localhost:443',
			'Connection: Close',
			'User-Agent: Mozilla/5.0',
			'Header: Value'
		);
		$result = $request->headers();
		$this->assertEqual($expected, $result);

		$expected = array();
		$result = $request->cookies;
		$this->assertEqual($expected, $result);

		$expected = 'Part 1';
		$result = $request->body();
		$this->assertEqual($expected, $result);
	}