Commit 0164b10e authored by Niels Lohmann's avatar Niels Lohmann

added missing tests found by mutate++

parent affa3bf4
...@@ -596,6 +596,32 @@ TEST_CASE("parser class") ...@@ -596,6 +596,32 @@ TEST_CASE("parser class")
"missing or wrong low surrogate"); "missing or wrong low surrogate");
} }
SECTION("tests found by mutate++")
{
// test case to make sure no comma preceeds the first key
CHECK_THROWS_AS(json::parser("{,\"key\": false}").parse(), std::invalid_argument);
// test case to make sure an object is properly closed
CHECK_THROWS_AS(json::parser("[{\"key\": false true]").parse(), std::invalid_argument);
// test case to make sure the callback is properly evaluated after reading a key
{
json::parser_callback_t cb = [](int depth, json::parse_event_t event, json & parsed)
{
if (event == json::parse_event_t::key)
{
return false;
}
else
{
return true;
}
};
json x = json::parse("{\"key\": false}", cb);
CHECK(x == json::object());
}
}
SECTION("callback function") SECTION("callback function")
{ {
auto s_object = R"( auto s_object = R"(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment