summaryrefslogtreecommitdiff
path: root/test/RequestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-07-18 15:20:52 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-07-18 15:20:52 +0000
commit5d2651c5ed347d75eefac5b381958874529c7ff4 (patch)
tree7c67603b2f896c270d29f6afbc1ea9ea10583942 /test/RequestTest.cc
parent5122ae031dc80e5372fc2f219179ebccd0960fa7 (diff)
2008-07-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Supported absolute/relative path in Location header field. * src/AbstractCommand.cc: Call resetUrl() when DlRetryEx is caught. * src/HttpHeader.cc * src/HttpHeader.h * src/HttpResponse.cc * src/HttpSkipResponseCommand.cc * src/Request.cc * test/HttpHeaderTest.cc * test/HttpResponseTest.cc * test/RequestTest.cc
Diffstat (limited to 'test/RequestTest.cc')
-rw-r--r--test/RequestTest.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/test/RequestTest.cc b/test/RequestTest.cc
index 510b0f2c..807ec821 100644
--- a/test/RequestTest.cc
+++ b/test/RequestTest.cc
@@ -279,10 +279,12 @@ void RequestTest::testRedirectUrl() {
// persistent connection flag is set to be true after redirection
CPPUNIT_ASSERT(req.supportsPersistentConnection());
// url must be the same
- CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com:8080/aria2/index.html"),
+ CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.com:8080/aria2/"
+ "index.html"),
req.getUrl());
// currentUrl must be updated
- CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.co.jp/"), req.getCurrentUrl());
+ CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.co.jp/"),
+ req.getCurrentUrl());
// previousUrl must be "" when redirection
CPPUNIT_ASSERT_EQUAL(std::string(""), req.getPreviousUrl());
CPPUNIT_ASSERT_EQUAL(std::string("http"), req.getProtocol());
@@ -293,6 +295,19 @@ void RequestTest::testRedirectUrl() {
CPPUNIT_ASSERT_EQUAL(std::string(""), req.getQuery());
// See redirect count is incremented.
CPPUNIT_ASSERT_EQUAL((unsigned int)1, req.getRedirectCount());
+
+ // Give abosulute path
+ CPPUNIT_ASSERT(req.redirectUrl("/abspath/to/file"));
+ CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.co.jp/abspath/to/file"),
+ req.getCurrentUrl());
+ CPPUNIT_ASSERT_EQUAL((unsigned int)2, req.getRedirectCount());
+
+ // Give relative path
+ CPPUNIT_ASSERT(req.redirectUrl("relativepath/to/file"));
+ CPPUNIT_ASSERT_EQUAL(std::string("http://aria.rednoah.co.jp/abspath/to/"
+ "relativepath/to/file"),
+ req.getCurrentUrl());
+ CPPUNIT_ASSERT_EQUAL((unsigned int)3, req.getRedirectCount());
}
void RequestTest::testRedirectUrl2() {