add tests to improve coverage

This commit is contained in:
Niels Lohmann 2020-05-13 21:28:43 +02:00
parent a414e35971
commit d7b032f565
No known key found for this signature in database
GPG Key ID: 7F3CEA63AE251B69
5 changed files with 14 additions and 10 deletions

View File

@ -1577,8 +1577,8 @@ class binary_reader
return get_number(input_format_t::msgpack, result.subtype) and get_binary(input_format_t::msgpack, 16, result);
}
default: // LCOV_EXCL_LINE
assert(false); // LCOV_EXCL_LINE
default: // LCOV_EXCL_LINE
return false; // LCOV_EXCL_LINE
}
}

View File

@ -1092,9 +1092,7 @@ class binary_writer
}
write_number(subtype);
oa->write_characters(
reinterpret_cast<const CharType*>(value.data()),
value.size());
oa->write_characters(reinterpret_cast<const CharType*>(value.data()), value.size());
}
/*!

View File

@ -7104,8 +7104,8 @@ class binary_reader
return get_number(input_format_t::msgpack, result.subtype) and get_binary(input_format_t::msgpack, 16, result);
}
default: // LCOV_EXCL_LINE
assert(false); // LCOV_EXCL_LINE
default: // LCOV_EXCL_LINE
return false; // LCOV_EXCL_LINE
}
}
@ -13041,9 +13041,7 @@ class binary_writer
}
write_number(subtype);
oa->write_characters(
reinterpret_cast<const CharType*>(value.data()),
value.size());
oa->write_characters(reinterpret_cast<const CharType*>(value.data()), value.size());
}
/*!

View File

@ -101,6 +101,9 @@ TEST_CASE("JSON pointers")
CHECK(j["/foo/1"_json_pointer] == j["foo"][1]);
CHECK(j.contains(json::json_pointer("/foo/0")));
CHECK(j.contains(json::json_pointer("/foo/1")));
CHECK(not j.contains(json::json_pointer("/foo/3")));
CHECK(not j.contains(json::json_pointer("/foo/+")));
CHECK(not j.contains(json::json_pointer("/foo/1+2")));
CHECK(not j.contains(json::json_pointer("/foo/-")));
// checked array access

View File

@ -464,6 +464,11 @@ TEST_CASE("regression tests")
s2 = o["name"];
CHECK(s2 == "value");
// improve coverage
o["int"] = 1;
CHECK_THROWS_AS(s2 = o["int"], json::type_error);
CHECK_THROWS_WITH(s2 = o["int"], "[json.exception.type_error.302] type must be string, but is number");
}
SECTION("issue #146 - character following a surrogate pair is skipped")