diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-08-30 15:05:30 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-08-30 15:05:30 +0000 |
| commit | ce25b54cfe3ba23408da19fcd87539bec879b943 (patch) | |
| tree | b60b7edf6f808aee791b72ecdc64131d3d36665d /test/HttpRequestTest.cc | |
| parent | 19ae8f9d07ba6a8f1d3b6f501a01f9285b6875e9 (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.cc | 21 |
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 |
