summaryrefslogtreecommitdiff
path: root/test/RequestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2006-06-18 09:23:25 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2006-06-18 09:23:25 +0000
commit70ff0c0b3b10e5b58714757a3b6aa55e2569c511 (patch)
treee98b35d8d62e0e31d3b87ec92d792a805dcc9e05 /test/RequestTest.cc
parentd380b7b6abe016dd0334b18972ce08a4fa92a934 (diff)
2006-06-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/TorrentMan.cc (setupInternal1): Fixed peerId generation bug. * src/SimpleLogger.h (writeHeader): New function. * src/SimpleLogger.cc (writeHeader): New function. (writeLog): Fixed the bug that causes segfaults if exception message contains an unescaped "%" character. * src/TrackerWatcherCommand.cc (execute): Added a short sleep when a tracker request fails. * src/Request.cc (parseUrl): Query string is now handled properly.
Diffstat (limited to 'test/RequestTest.cc')
-rw-r--r--test/RequestTest.cc53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/RequestTest.cc b/test/RequestTest.cc
index ede11933..9e639d33 100644
--- a/test/RequestTest.cc
+++ b/test/RequestTest.cc
@@ -15,6 +15,10 @@ class RequestTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testSetUrl8);
CPPUNIT_TEST(testSetUrl9);
CPPUNIT_TEST(testSetUrl10);
+ CPPUNIT_TEST(testSetUrl11);
+ CPPUNIT_TEST(testSetUrl12);
+ CPPUNIT_TEST(testSetUrl13);
+ CPPUNIT_TEST(testSetUrl14);
CPPUNIT_TEST(testRedirectUrl);
CPPUNIT_TEST(testRedirectUrl2);
CPPUNIT_TEST(testResetUrl);
@@ -32,6 +36,10 @@ public:
void testSetUrl8();
void testSetUrl9();
void testSetUrl10();
+ void testSetUrl11();
+ void testSetUrl12();
+ void testSetUrl13();
+ void testSetUrl14();
void testRedirectUrl();
void testRedirectUrl2();
void testResetUrl();
@@ -150,6 +158,51 @@ void RequestTest::testSetUrl10() {
CPPUNIT_ASSERT(!v);
}
+void RequestTest::testSetUrl11() {
+ Request req;
+ bool v = req.setUrl("http://host?query/");
+
+ CPPUNIT_ASSERT(v);
+ CPPUNIT_ASSERT_EQUAL(string("http"), req.getProtocol());
+ CPPUNIT_ASSERT_EQUAL(string("host"), req.getHost());
+ CPPUNIT_ASSERT_EQUAL(string("/"), req.getDir());
+ CPPUNIT_ASSERT_EQUAL(string("?query/"), req.getFile());
+}
+
+void RequestTest::testSetUrl12() {
+ Request req;
+ bool v = req.setUrl("http://host?query");
+
+ CPPUNIT_ASSERT(v);
+ CPPUNIT_ASSERT_EQUAL(string("http"), req.getProtocol());
+ CPPUNIT_ASSERT_EQUAL(string("host"), req.getHost());
+ CPPUNIT_ASSERT_EQUAL(string("/"), req.getDir());
+ CPPUNIT_ASSERT_EQUAL(string("?query"), req.getFile());
+}
+
+void RequestTest::testSetUrl13() {
+ Request req;
+ bool v = req.setUrl("http://host/?query");
+
+ CPPUNIT_ASSERT(v);
+ CPPUNIT_ASSERT_EQUAL(string("http"), req.getProtocol());
+ CPPUNIT_ASSERT_EQUAL(string("host"), req.getHost());
+ CPPUNIT_ASSERT_EQUAL(string("/"), req.getDir());
+ CPPUNIT_ASSERT_EQUAL(string("?query"), req.getFile());
+}
+
+void RequestTest::testSetUrl14() {
+ Request req;
+ bool v = req.setUrl("http://host:8080/abc?query");
+
+ CPPUNIT_ASSERT(v);
+ CPPUNIT_ASSERT_EQUAL(string("http"), req.getProtocol());
+ CPPUNIT_ASSERT_EQUAL(string("host"), req.getHost());
+ CPPUNIT_ASSERT_EQUAL(8080, req.getPort());
+ CPPUNIT_ASSERT_EQUAL(string("/"), req.getDir());
+ CPPUNIT_ASSERT_EQUAL(string("abc?query"), req.getFile());
+}
+
void RequestTest::testRedirectUrl() {
Request req;
bool v = req.setUrl("http://aria.rednoah.com:8080/aria2/index.html");