Add some unit tests for CI_Input
diff --git a/tests/codeigniter/core/Input_test.php b/tests/codeigniter/core/Input_test.php
index 0a98e55..95833fc 100644
--- a/tests/codeigniter/core/Input_test.php
+++ b/tests/codeigniter/core/Input_test.php
@@ -138,13 +138,24 @@
 
 	public function test_valid_ip()
 	{
-		$ip_v4 = '192.18.0.1';
-		$this->assertTrue($this->input->valid_ip($ip_v4));
+		$this->assertTrue($this->input->valid_ip('192.18.0.1'));
+		$this->assertTrue($this->input->valid_ip('192.18.0.1', 'ipv4'));
+		$this->assertFalse($this->input->valid_ip('555.0.0.0'));
+		$this->assertFalse($this->input->valid_ip('2001:db8:0:85a3::ac1f:8001', 'ipv4'));
 
-		$ip_v6 = array('2001:0db8:0000:85a3:0000:0000:ac1f:8001', '2001:db8:0:85a3:0:0:ac1f:8001', '2001:db8:0:85a3::ac1f:8001');
+		// v6 tests
+		$this->assertFalse($this->input->valid_ip('192.18.0.1', 'ipv6'));
+
+		$ip_v6 = array(
+			'2001:0db8:0000:85a3:0000:0000:ac1f:8001',
+			'2001:db8:0:85a3:0:0:ac1f:8001',
+			'2001:db8:0:85a3::ac1f:8001'
+		);
+
 		foreach ($ip_v6 as $ip)
 		{
 			$this->assertTrue($this->input->valid_ip($ip));
+			$this->assertTrue($this->input->valid_ip($ip, 'ipv6'));
 		}
 	}
 
@@ -171,4 +182,34 @@
 		$this->assertTrue($this->input->is_ajax_request());
 	}
 
+	// --------------------------------------------------------------------
+
+	public function test_input_stream()
+	{
+		$this->markTestSkipped('TODO: Find a way to test input://');
+	}
+
+	// --------------------------------------------------------------------
+
+	public function test_set_cookie()
+	{
+		$this->markTestSkipped('TODO: Find a way to test HTTP headers');
+	}
+
+	public function test_ip_address()
+	{
+		// 127.0.0.1 is set in our Bootstrap file
+		$this->assertEquals('127.0.0.1', $this->input->ip_address());
+
+		// Invalid
+		$_SERVER['REMOTE_ADDR'] = 'invalid_ip_address';
+		$this->input->ip_address = FALSE; // reset cached value
+		$this->assertEquals('0.0.0.0', $this->input->ip_address());
+
+		// TODO: Add proxy_ips tests
+
+		// Back to reality
+		$_SERVER['REMOTE_ADDR'] = '127.0.0.1'; // back to reality
+	}
+
 }
\ No newline at end of file