Fixed deserializeJson() not being picky enough (fixes #969)

This commit is contained in:
Benoit Blanchon
2019-04-20 15:12:29 +02:00
parent 6071bd07ec
commit 6011a2f51a
4 changed files with 12 additions and 2 deletions

View File

@ -7,8 +7,8 @@
#include <catch.hpp>
TEST_CASE("Invalid JSON input") {
const char* testCases[] = {"'\\u'", "'\\u000g'", "'\\u000'",
"'\\u000G'", "'\\u000/'", "\\x1234"};
const char* testCases[] = {"'\\u'", "'\\u000g'", "'\\u000'", "'\\u000G'",
"'\\u000/'", "\\x1234", "6a9"};
const size_t testCount = sizeof(testCases) / sizeof(testCases[0]);
DynamicJsonDocument doc(4096);

View File

@ -16,3 +16,9 @@ TEST_CASE("Test uint32_t overflow") {
REQUIRE(first.type() == uint8_t(VALUE_IS_POSITIVE_INTEGER));
REQUIRE(second.type() == uint8_t(VALUE_IS_FLOAT));
}
TEST_CASE("Invalid value") {
ParsedNumber<float, uint32_t> result = parseNumber<float, uint32_t>("6a3");
REQUIRE(result.type() == uint8_t(VALUE_IS_NULL));
}