summaryrefslogtreecommitdiff
path: root/test/HttpRequestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-05 08:25:41 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-05 08:25:41 +0000
commitf596de9eec5ea01a28b7ee5d632164d8b41221ec (patch)
tree103c6866eea996f9ab9b31cf3b804eaeb9cf849b /test/HttpRequestTest.cc
parentb892b54e4b5847ca848a4fda555d4f79d86404e2 (diff)
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reimplemented transparent metalink using Accept request header. * src/HttpRequest.cc * src/HttpRequest.h * src/HttpRequestCommand.cc * src/Metalink2RequestGroup.cc * src/RequestGroup.cc * src/RequestGroup.h * test/HttpRequestTest.cc
Diffstat (limited to 'test/HttpRequestTest.cc')
-rw-r--r--test/HttpRequestTest.cc27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc
index dde436fe..19c04491 100644
--- a/test/HttpRequestTest.cc
+++ b/test/HttpRequestTest.cc
@@ -7,6 +7,7 @@
#include "Request.h"
#include "CookieBox.h"
#include "Option.h"
+#include "array_fun.h"
#include <cppunit/extensions/HelperMacros.h>
namespace aria2 {
@@ -24,6 +25,7 @@ class HttpRequestTest : public CppUnit::TestFixture {
CPPUNIT_TEST(testIsRangeSatisfied);
CPPUNIT_TEST(testUserAgent);
CPPUNIT_TEST(testAddHeader);
+ CPPUNIT_TEST(testAddAcceptType);
CPPUNIT_TEST_SUITE_END();
private:
@@ -40,6 +42,7 @@ public:
void testIsRangeSatisfied();
void testUserAgent();
void testAddHeader();
+ void testAddAcceptType();
};
@@ -641,5 +644,29 @@ void HttpRequestTest::testAddHeader()
CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
}
+void HttpRequestTest::testAddAcceptType()
+{
+ std::string acceptTypes[] = { "cream/custard",
+ "muffin/chocolate" };
+
+ SharedHandle<Request> request(new Request());
+ request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2");
+
+ HttpRequest httpRequest;
+ httpRequest.setRequest(request);
+ httpRequest.addAcceptType(&acceptTypes[0], &acceptTypes[arrayLength(acceptTypes)]);
+
+ std::string expectedText =
+ "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n"
+ "User-Agent: aria2\r\n"
+ "Accept: */*,cream/custard,muffin/chocolate\r\n"
+ "Host: localhost\r\n"
+ "Pragma: no-cache\r\n"
+ "Cache-Control: no-cache\r\n"
+ "Connection: close\r\n"
+ "\r\n";
+
+ CPPUNIT_ASSERT_EQUAL(expectedText, httpRequest.createRequest());
+}
} // namespace aria2