#include #include TEST_CASE("Issue #1120") { StaticJsonDocument<500> doc; constexpr char str[] = "{\"contents\":[{\"module\":\"Packet\"},{\"module\":\"Analog\"}]}"; deserializeJson(doc, str); SECTION("MemberProxy::isNull()") { SECTION("returns false") { auto value = doc[std::string("contents")]; CHECK(value.isNull() == false); } SECTION("returns true") { auto value = doc[std::string("zontents")]; CHECK(value.isNull() == true); } } SECTION("ElementProxy >::isNull()") { SECTION("returns false") { // Issue #1120 auto value = doc["contents"][1]; CHECK(value.isNull() == false); } SECTION("returns true") { auto value = doc["contents"][2]; CHECK(value.isNull() == true); } } SECTION("MemberProxy, const char*>::isNull()") { SECTION("returns false") { auto value = doc["contents"][1]["module"]; CHECK(value.isNull() == false); } SECTION("returns true") { auto value = doc["contents"][1]["zodule"]; CHECK(value.isNull() == true); } } SECTION("MemberProxy, std::string>::isNull()") { SECTION("returns false") { auto value = doc["contents"][1][std::string("module")]; CHECK(value.isNull() == false); } SECTION("returns true") { auto value = doc["contents"][1][std::string("zodule")]; CHECK(value.isNull() == true); } } }