summaryrefslogtreecommitdiff
path: root/test/FileEntryTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-07 20:46:04 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2011-08-07 20:46:04 +0900
commit7368c9c9d8515232204d3708a3e2233454368aec (patch)
tree711691b54ea9fc1e09ab730cc856d70622684d62 /test/FileEntryTest.cc
parent491e8bc519fc1c7462321b9cff5719d18e812ac6 (diff)
Percent-encode non-printable ASCII and non-ASCII chars in FileEntry.
Percent-encode non-printable ASCII and non-ASCII chars in URI using util::percentEncodeMini() when URI is added to FileEntry. Removed percent-encode from Request. Also do percent-encoding when setting referer and redirected URI.
Diffstat (limited to 'test/FileEntryTest.cc')
-rw-r--r--test/FileEntryTest.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc
index bc9aed62..bcfe819d 100644
--- a/test/FileEntryTest.cc
+++ b/test/FileEntryTest.cc
@@ -218,6 +218,15 @@ void FileEntryTest::testAddUri()
FileEntry file;
CPPUNIT_ASSERT(file.addUri("http://good"));
CPPUNIT_ASSERT(!file.addUri("bad"));
+ // Test for percent-encode
+ CPPUNIT_ASSERT(file.addUri("http://host:80/file<with%2 %20space/"
+ "file with space;param%?a=/?"));
+
+ CPPUNIT_ASSERT_EQUAL(std::string("http://host:80"
+ "/file%3Cwith%2%20%20space/"
+ "file%20with%20space;param%"
+ "?a=/?"),
+ file.getRemainingUris()[1]);
}
void FileEntryTest::testAddUris()
@@ -239,6 +248,15 @@ void FileEntryTest::testInsertUri()
CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/3"), uris[1]);
CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/1"), uris[2]);
CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/4"), uris[3]);
+ // Test for percent-encode
+ CPPUNIT_ASSERT(file.insertUri("http://host:80/file<with%2 %20space/"
+ "file with space;param%?a=/?", 0));
+
+ CPPUNIT_ASSERT_EQUAL(std::string("http://host:80"
+ "/file%3Cwith%2%20%20space/"
+ "file%20with%20space;param%"
+ "?a=/?"),
+ file.getRemainingUris()[0]);
}
void FileEntryTest::testRemoveUri()