summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-07-18 11:36:41 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-07-18 11:36:41 +0000
commit247b1f2a4f817e2ccb2305ea9215a1ac00f73f3e (patch)
tree33c3ba154c621c7e405bd6cfb82c5b310414d001 /test
parent18480a08df4f1fbb7b713cde7a72d04451795f75 (diff)
2007-07-18 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed the bug that prevents filename in content-disposition from being retrieved when filename is not quoted. * src/Util.cc (getContentDispositionFilename) Fixed the bug that causes infinate loop and memory leak when file open operation failed. * src/HttpResponseCommand.cc (handleDefaultEncoding)
Diffstat (limited to 'test')
-rw-r--r--test/UtilTest.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/UtilTest.cc b/test/UtilTest.cc
index 5312def9..c75332ae 100644
--- a/test/UtilTest.cc
+++ b/test/UtilTest.cc
@@ -203,6 +203,28 @@ void UtilTest::testGetContentDispositionFilename() {
string h4 = "attachment;";
CPPUNIT_ASSERT_EQUAL(string(""), Util::getContentDispositionFilename(h4));
+
+ string h5 = "attachment; filename=aria2.tar.bz2";
+ CPPUNIT_ASSERT_EQUAL(string("aria2.tar.bz2"), Util::getContentDispositionFilename(h5));
+
+ string h6 = "attachment; filename='aria2.tar.bz2'";
+ CPPUNIT_ASSERT_EQUAL(string("aria2.tar.bz2"), Util::getContentDispositionFilename(h6));
+
+ string h7 = "attachment; filename='aria2.tar.bz2";
+ CPPUNIT_ASSERT_EQUAL(string("aria2.tar.bz2"), Util::getContentDispositionFilename(h7));
+
+ string h8 = "attachment; filename=aria2.tar.bz2; creation-date=20 Jun 2007 00:00:00 GMT";
+ CPPUNIT_ASSERT_EQUAL(string("aria2.tar.bz2"), Util::getContentDispositionFilename(h8));
+
+ string h9 = "attachment; filename=\"aria2.tar.bz2; creation-date=20 Jun 2007 00:00:00 GMT\"";
+ CPPUNIT_ASSERT_EQUAL(string("aria2.tar.bz2; creation-date=20 Jun 2007 00:00:00 GMT"), Util::getContentDispositionFilename(h9));
+
+ string h10 = "attachment; filename=";
+ CPPUNIT_ASSERT_EQUAL(string(""), Util::getContentDispositionFilename(h10));
+
+ string h11 = "attachment; filename=;";
+ CPPUNIT_ASSERT_EQUAL(string(""), Util::getContentDispositionFilename(h11));
+
}
class Printer {