mirror of
https://github.com/KingDuckZ/kamokan.git
synced 2025-08-07 12:59:45 +00:00
Fix bug in the mime parser.
The token rule was matching even when the quoted_string rule should have matched, which was preventing the " stripping to work. In fact quoted_string was never being used. Also improve formatting of long lines.
This commit is contained in:
parent
5d4041aed8
commit
4ff6719077
2 changed files with 45 additions and 7 deletions
|
@ -18,6 +18,12 @@
|
|||
#include "catch.hpp"
|
||||
#include "mime_split.hpp"
|
||||
|
||||
namespace {
|
||||
std::string to_string (const boost::string_ref& parRef) {
|
||||
return std::string(parRef.data(), parRef.size());
|
||||
}
|
||||
} //unnamed namespace
|
||||
|
||||
TEST_CASE ("Test the Mime-type splitter", "[mime][parser]") {
|
||||
using tawashi::SplitMime;
|
||||
using tawashi::split_mime;
|
||||
|
@ -26,17 +32,37 @@ TEST_CASE ("Test the Mime-type splitter", "[mime][parser]") {
|
|||
int parsed_count;
|
||||
{
|
||||
std::string test("application/x-javascript; charset=UTF-8");
|
||||
std::string curr_val;
|
||||
SplitMime split = split_mime(&test, ok, parsed_count);
|
||||
|
||||
REQUIRE(ok);
|
||||
CHECK(test.size() == parsed_count);
|
||||
CHECK(split.type == "application");
|
||||
CHECK(split.subtype == "x-javascript");
|
||||
REQUIRE(split.parameters.size() == 1);
|
||||
|
||||
CHECK(split.parameters.find("charset") != split.parameters.end());
|
||||
CHECK(split.parameters.at("charset") == "UTF-8");
|
||||
curr_val = to_string(split.parameters.at("charset"));
|
||||
CHECK(curr_val == "UTF-8");
|
||||
}
|
||||
|
||||
{
|
||||
std::string test("image/jpeg; filename=genome.jpeg; modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\"");
|
||||
std::string curr_val;
|
||||
SplitMime split = split_mime(&test, ok, parsed_count);
|
||||
|
||||
REQUIRE(ok);
|
||||
CHECK(test.size() == parsed_count);
|
||||
CHECK(split.type == "image");
|
||||
CHECK(split.subtype == "jpeg");
|
||||
REQUIRE(split.parameters.size() == 2);
|
||||
|
||||
CHECK(split.parameters.find("filename") != split.parameters.end());
|
||||
curr_val = to_string(split.parameters.at("filename"));
|
||||
CHECK(curr_val == "genome.jpeg");
|
||||
|
||||
CHECK(split.parameters.find("modification-date") != split.parameters.end());
|
||||
curr_val = to_string(split.parameters.at("modification-date"));
|
||||
CHECK(curr_val == "Wed, 12 Feb 1997 16:29:51 -0500");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue