summaryrefslogtreecommitdiff
path: root/test/HttpRequestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-01-29 23:19:10 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-01-29 23:19:10 +0900
commit1b9329c67c3fdacba048b529a6ad4245b8cefb0c (patch)
treee5773f88fe11b53a79684eb83354d72bb1cd1f84 /test/HttpRequestTest.cc
parent7a6ec762ef44376d209ab20275dd78d468d7af3e (diff)
Accept HTTP 304 reply as success when If-None-Match request-header
field is specified using --header option. When --conditional-get is used, --allow-overwrite is now required to overwrite existing file.
Diffstat (limited to 'test/HttpRequestTest.cc')
-rw-r--r--test/HttpRequestTest.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc
index 00251a1b..590072de 100644
--- a/test/HttpRequestTest.cc
+++ b/test/HttpRequestTest.cc
@@ -37,6 +37,7 @@ class HttpRequestTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testAddHeader);
CPPUNIT_TEST(testAddAcceptType);
CPPUNIT_TEST(testEnableAcceptEncoding);
+ CPPUNIT_TEST(testConditionalRequest);
CPPUNIT_TEST_SUITE_END();
private:
SharedHandle<Option> option_;
@@ -64,6 +65,7 @@ public:
void testAddHeader();
void testAddAcceptType();
void testEnableAcceptEncoding();
+ void testConditionalRequest();
};
@@ -843,4 +845,19 @@ void HttpRequestTest::testCreateRequest_ipv6LiteralAddr()
CPPUNIT_ASSERT(proxyRequest.find("CONNECT [::1]:80 ") != std::string::npos);
}
+void HttpRequestTest::testConditionalRequest()
+{
+ HttpRequest httpRequest;
+ CPPUNIT_ASSERT(!httpRequest.conditionalRequest());
+ httpRequest.setIfModifiedSinceHeader("dummy");
+ CPPUNIT_ASSERT(httpRequest.conditionalRequest());
+ httpRequest.setIfModifiedSinceHeader("");
+ CPPUNIT_ASSERT(!httpRequest.conditionalRequest());
+ httpRequest.addHeader("If-None-Match: *");
+ CPPUNIT_ASSERT(httpRequest.conditionalRequest());
+ httpRequest.clearHeader();
+ httpRequest.addHeader("If-Modified-Since: dummy");
+ CPPUNIT_ASSERT(httpRequest.conditionalRequest());
+}
+
} // namespace aria2