diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-07-18 15:20:52 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-07-18 15:20:52 +0000 |
| commit | 5d2651c5ed347d75eefac5b381958874529c7ff4 (patch) | |
| tree | 7c67603b2f896c270d29f6afbc1ea9ea10583942 /test/RequestTest.cc | |
| parent | 5122ae031dc80e5372fc2f219179ebccd0960fa7 (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.cc | 19 |
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() { |
