forked from bblanchon/ArduinoJson
Added more tests of JsonVariant::is<T>()
This commit is contained in:
@ -17,7 +17,7 @@ void setup() {
|
||||
DynamicJsonDocument doc(1024);
|
||||
|
||||
// You can use a Flash String as your JSON input.
|
||||
// WARNING: the string in the input will be duplicated in the JsonDocument.
|
||||
// WARNING: the strings in the input will be duplicated in the JsonDocument.
|
||||
deserializeJson(doc, F("{\"sensor\":\"gps\",\"time\":1351824120,"
|
||||
"\"data\":[48.756080,2.302038]}"));
|
||||
JsonObject obj = doc.as<JsonObject>();
|
||||
|
@ -147,4 +147,16 @@ TEST_CASE("JsonVariant::is()") {
|
||||
SECTION("string") {
|
||||
testString("42");
|
||||
}
|
||||
|
||||
SECTION("null") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
deserializeJson(doc, "[null]");
|
||||
JsonVariant v = doc[0];
|
||||
|
||||
REQUIRE(v.is<bool>() == false);
|
||||
REQUIRE(v.is<char *>() == false);
|
||||
REQUIRE(v.is<int>() == false);
|
||||
REQUIRE(v.is<std::string>() == false);
|
||||
REQUIRE(v.is<float>() == false);
|
||||
}
|
||||
}
|
||||
|
@ -8,31 +8,63 @@
|
||||
TEST_CASE("JsonVariant undefined") {
|
||||
JsonVariant variant;
|
||||
|
||||
SECTION("as<long>()") {
|
||||
REQUIRE(0 == variant.as<long>());
|
||||
SECTION("as<T>()") {
|
||||
SECTION("long") {
|
||||
REQUIRE(variant.as<long>() == 0);
|
||||
}
|
||||
|
||||
SECTION("as<unsigned>()") {
|
||||
REQUIRE(0 == variant.as<unsigned>());
|
||||
SECTION("unsigned") {
|
||||
REQUIRE(variant.as<unsigned>() == 0);
|
||||
}
|
||||
|
||||
SECTION("as<char*>()") {
|
||||
REQUIRE(0 == variant.as<char*>());
|
||||
SECTION("char*") {
|
||||
REQUIRE(variant.as<char*>() == 0);
|
||||
}
|
||||
|
||||
SECTION("as<double>()") {
|
||||
REQUIRE(0 == variant.as<double>());
|
||||
SECTION("double") {
|
||||
REQUIRE(variant.as<double>() == 0);
|
||||
}
|
||||
|
||||
SECTION("as<bool>()") {
|
||||
REQUIRE(false == variant.as<bool>());
|
||||
SECTION("bool") {
|
||||
REQUIRE(variant.as<bool>() == false);
|
||||
}
|
||||
|
||||
SECTION("as<JsonArray>()") {
|
||||
SECTION("JsonArray") {
|
||||
REQUIRE(variant.as<JsonArray>().isNull());
|
||||
}
|
||||
|
||||
SECTION("as<JsonObject>()") {
|
||||
SECTION("JsonObject") {
|
||||
REQUIRE(variant.as<JsonObject>().isNull());
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("is<T>()") {
|
||||
SECTION("long") {
|
||||
REQUIRE(variant.is<long>() == false);
|
||||
}
|
||||
|
||||
SECTION("unsigned") {
|
||||
REQUIRE(variant.is<unsigned>() == false);
|
||||
}
|
||||
|
||||
SECTION("char*") {
|
||||
REQUIRE(variant.is<char*>() == false);
|
||||
}
|
||||
|
||||
SECTION("double") {
|
||||
REQUIRE(variant.is<double>() == false);
|
||||
}
|
||||
|
||||
SECTION("bool") {
|
||||
REQUIRE(variant.is<bool>() == false);
|
||||
}
|
||||
|
||||
SECTION("JsonArray") {
|
||||
REQUIRE(variant.is<JsonArray>() == false);
|
||||
}
|
||||
|
||||
SECTION("JsonObject") {
|
||||
REQUIRE(variant.is<JsonObject>() == false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user