summaryrefslogtreecommitdiff
path: root/test/HttpHeaderTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-10-31 07:56:01 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-10-31 07:56:01 +0000
commit35cc4ed1e786a14a1438ad4f13d37a4b968b6f25 (patch)
treef819fb9d38d0f2b6348e3b1d980769512aa36c68 /test/HttpHeaderTest.cc
parent2b458da480074f615c1a9d78cbe2e31dcebc94d7 (diff)
2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return empty range if byte-range-resp-spec or instance-length is "*" in Content-Range header to prevent aria2 from emitting error failing to convert "*" to a integer. * src/HttpHeader.cc * test/HttpHeaderTest.cc
Diffstat (limited to 'test/HttpHeaderTest.cc')
-rw-r--r--test/HttpHeaderTest.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/HttpHeaderTest.cc b/test/HttpHeaderTest.cc
index e3ae3cc8..af01f7cc 100644
--- a/test/HttpHeaderTest.cc
+++ b/test/HttpHeaderTest.cc
@@ -45,6 +45,26 @@ void HttpHeaderTest::testGetRange()
CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775801LL, range->getEndByte());
CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, range->getEntityLength());
}
+ {
+ HttpHeader httpHeader;
+ httpHeader.put("Content-Range", "bytes */1024");
+
+ SharedHandle<Range> range = httpHeader.getRange();
+
+ CPPUNIT_ASSERT_EQUAL((off_t)0, range->getStartByte());
+ CPPUNIT_ASSERT_EQUAL((off_t)0, range->getEndByte());
+ CPPUNIT_ASSERT_EQUAL((uint64_t)0, range->getEntityLength());
+ }
+ {
+ HttpHeader httpHeader;
+ httpHeader.put("Content-Range", "bytes 0-9/*");
+
+ SharedHandle<Range> range = httpHeader.getRange();
+
+ CPPUNIT_ASSERT_EQUAL((off_t)0, range->getStartByte());
+ CPPUNIT_ASSERT_EQUAL((off_t)0, range->getEndByte());
+ CPPUNIT_ASSERT_EQUAL((uint64_t)0, range->getEntityLength());
+ }
}
void HttpHeaderTest::testGet()