HttpHeaderTest.cc 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "HttpHeader.h"
  2. #include "Range.h"
  3. #include <cppunit/extensions/HelperMacros.h>
  4. namespace aria2 {
  5. class HttpHeaderTest:public CppUnit::TestFixture {
  6. CPPUNIT_TEST_SUITE(HttpHeaderTest);
  7. CPPUNIT_TEST(testGetRange);
  8. CPPUNIT_TEST(testGet);
  9. CPPUNIT_TEST_SUITE_END();
  10. public:
  11. void testGetRange();
  12. void testGet();
  13. };
  14. CPPUNIT_TEST_SUITE_REGISTRATION( HttpHeaderTest );
  15. void HttpHeaderTest::testGetRange()
  16. {
  17. {
  18. HttpHeader httpHeader;
  19. httpHeader.put("Content-Range",
  20. "9223372036854775800-9223372036854775801/9223372036854775807");
  21. SharedHandle<Range> range = httpHeader.getRange();
  22. CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775800LL, range->getStartByte());
  23. CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775801LL, range->getEndByte());
  24. CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, range->getEntityLength());
  25. }
  26. {
  27. HttpHeader httpHeader;
  28. httpHeader.put("Content-Range",
  29. "9223372036854775800-9223372036854775801/9223372036854775807");
  30. SharedHandle<Range> range = httpHeader.getRange();
  31. CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775800LL, range->getStartByte());
  32. CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775801LL, range->getEndByte());
  33. CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, range->getEntityLength());
  34. }
  35. }
  36. void HttpHeaderTest::testGet()
  37. {
  38. HttpHeader h;
  39. h.put("A", "100");
  40. h.put("a", "101");
  41. h.put("B", "200");
  42. std::deque<std::string> r(h.get("A"));
  43. CPPUNIT_ASSERT_EQUAL((size_t)2, r.size());
  44. CPPUNIT_ASSERT_EQUAL(std::string("100"), r[0]);
  45. CPPUNIT_ASSERT_EQUAL(std::string("101"), r[1]);
  46. }
  47. } // namespace aria2