util/MimeType: add ParseMimeTypeParameters()
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
class MimeTypeTest : public CppUnit::TestFixture {
|
||||
CPPUNIT_TEST_SUITE(MimeTypeTest);
|
||||
CPPUNIT_TEST(TestBase);
|
||||
CPPUNIT_TEST(TestParameters);
|
||||
CPPUNIT_TEST_SUITE_END();
|
||||
|
||||
public:
|
||||
@@ -25,4 +26,24 @@ public:
|
||||
CPPUNIT_ASSERT("foo/bar" == GetMimeTypeBase("foo/bar; x=y"));
|
||||
CPPUNIT_ASSERT("foo/bar" == GetMimeTypeBase("foo/bar;x=y"));
|
||||
}
|
||||
|
||||
void TestParameters() {
|
||||
CPPUNIT_ASSERT(ParseMimeTypeParameters("").empty());
|
||||
CPPUNIT_ASSERT(ParseMimeTypeParameters("foo/bar").empty());
|
||||
CPPUNIT_ASSERT(ParseMimeTypeParameters("foo/bar;").empty());
|
||||
CPPUNIT_ASSERT(ParseMimeTypeParameters("foo/bar;garbage").empty());
|
||||
CPPUNIT_ASSERT(ParseMimeTypeParameters("foo/bar; garbage").empty());
|
||||
|
||||
auto p = ParseMimeTypeParameters("foo/bar;a=b");
|
||||
CPPUNIT_ASSERT(!p.empty());
|
||||
CPPUNIT_ASSERT(p["a"] == "b");
|
||||
CPPUNIT_ASSERT(p.size() == 1);
|
||||
|
||||
p = ParseMimeTypeParameters("foo/bar; a=b;c;d=e ; f=g ");
|
||||
CPPUNIT_ASSERT(!p.empty());
|
||||
CPPUNIT_ASSERT(p["a"] == "b");
|
||||
CPPUNIT_ASSERT(p["d"] == "e");
|
||||
CPPUNIT_ASSERT(p["f"] == "g");
|
||||
CPPUNIT_ASSERT(p.size() == 3);
|
||||
}
|
||||
};
|
||||
|
Reference in New Issue
Block a user