summaryrefslogtreecommitdiff
path: root/test/HttpRequestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-08-30 15:05:30 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-08-30 15:05:30 +0000
commitce25b54cfe3ba23408da19fcd87539bec879b943 (patch)
treeb60b7edf6f808aee791b72ecdc64131d3d36665d /test/HttpRequestTest.cc
parent19ae8f9d07ba6a8f1d3b6f501a01f9285b6875e9 (diff)
2009-08-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added support for IPv6 literal address in URI. Now aria2 can handle URI such as http://[::1]/ * src/HttpRequest.cc * src/HttpRequest.h * src/Request.cc * src/Request.h * test/HttpRequestTest.cc * test/OptionHandlerTest.cc * test/RequestTest.cc
Diffstat (limited to 'test/HttpRequestTest.cc')
-rw-r--r--test/HttpRequestTest.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc
index 2df09ccb..de65245c 100644
--- a/test/HttpRequestTest.cc
+++ b/test/HttpRequestTest.cc
@@ -28,6 +28,7 @@ class HttpRequestTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testCreateRequest_with_cookie);
CPPUNIT_TEST(testCreateRequest_query);
CPPUNIT_TEST(testCreateRequest_head);
+ CPPUNIT_TEST(testCreateRequest_ipv6LiteralAddr);
CPPUNIT_TEST(testCreateProxyRequest);
CPPUNIT_TEST(testIsRangeSatisfied);
CPPUNIT_TEST(testUserAgent);
@@ -53,6 +54,7 @@ public:
void testCreateRequest_with_cookie();
void testCreateRequest_query();
void testCreateRequest_head();
+ void testCreateRequest_ipv6LiteralAddr();
void testCreateProxyRequest();
void testIsRangeSatisfied();
void testUserAgent();
@@ -735,4 +737,23 @@ void HttpRequestTest::testEnableAcceptEncoding()
CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
}
+void HttpRequestTest::testCreateRequest_ipv6LiteralAddr()
+{
+ SharedHandle<Request> request(new Request());
+ request->setUrl("http://[::1]/path");
+ HttpRequest httpRequest;
+ httpRequest.disableContentEncoding();
+ httpRequest.setRequest(request);
+ httpRequest.setAuthConfigFactory(_authConfigFactory, _option.get());
+
+ CPPUNIT_ASSERT(httpRequest.createRequest().find("Host: [::1]") != std::string::npos);
+
+ SharedHandle<Request> proxy(new Request());
+ proxy->setUrl("http://proxy");
+ httpRequest.setProxyRequest(proxy);
+ std::string proxyRequest = httpRequest.createProxyRequest();
+ CPPUNIT_ASSERT(proxyRequest.find("Host: [::1]:80") != std::string::npos);
+ CPPUNIT_ASSERT(proxyRequest.find("CONNECT [::1]:80 ") != std::string::npos);
+}
+
} // namespace aria2