mirror of
https://github.com/nlohmann/json.git
synced 2026-03-01 14:56:27 +00:00
fix #60 (double escaping)
This commit is contained in:
@@ -7328,12 +7328,12 @@ TEST_CASE("parser class")
|
||||
|
||||
SECTION("escaped")
|
||||
{
|
||||
// quotation mark
|
||||
CHECK(json::parser("\"\\\"\"").parse() == json("\\\""));
|
||||
// reverse solidus
|
||||
CHECK(json::parser("\"\\\\\"").parse() == json("\\\\"));
|
||||
// quotation mark "\""
|
||||
CHECK(json::parser("\"\\\"\"").parse() == R"("\"")"_json);
|
||||
// reverse solidus "\\"
|
||||
CHECK(json::parser("\"\\\\\"").parse() == R"("\\")"_json);
|
||||
// solidus
|
||||
CHECK(json::parser("\"\\/\"").parse() == json("\\/"));
|
||||
CHECK(json::parser("\"\\/\"").parse() == R"("/")"_json);
|
||||
// backspace
|
||||
CHECK(json::parser("\"\\b\"").parse() == json("\b"));
|
||||
// formfeed
|
||||
@@ -8267,3 +8267,16 @@ TEST_CASE("concepts")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("regression tests")
|
||||
{
|
||||
SECTION("issue #60 - Double quotation mark is not parsed correctly")
|
||||
{
|
||||
SECTION("escape_dobulequote")
|
||||
{
|
||||
auto s = "[\"\\\"foo\\\"\"]";
|
||||
json j = json::parse(s);
|
||||
CHECK(j == R"(["\"foo\""])"_json);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user