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);
|
DynamicJsonDocument doc(1024);
|
||||||
|
|
||||||
// You can use a Flash String as your JSON input.
|
// 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,"
|
deserializeJson(doc, F("{\"sensor\":\"gps\",\"time\":1351824120,"
|
||||||
"\"data\":[48.756080,2.302038]}"));
|
"\"data\":[48.756080,2.302038]}"));
|
||||||
JsonObject obj = doc.as<JsonObject>();
|
JsonObject obj = doc.as<JsonObject>();
|
||||||
|
@ -147,4 +147,16 @@ TEST_CASE("JsonVariant::is()") {
|
|||||||
SECTION("string") {
|
SECTION("string") {
|
||||||
testString("42");
|
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") {
|
TEST_CASE("JsonVariant undefined") {
|
||||||
JsonVariant variant;
|
JsonVariant variant;
|
||||||
|
|
||||||
SECTION("as<long>()") {
|
SECTION("as<T>()") {
|
||||||
REQUIRE(0 == variant.as<long>());
|
SECTION("long") {
|
||||||
|
REQUIRE(variant.as<long>() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<unsigned>()") {
|
SECTION("unsigned") {
|
||||||
REQUIRE(0 == variant.as<unsigned>());
|
REQUIRE(variant.as<unsigned>() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<char*>()") {
|
SECTION("char*") {
|
||||||
REQUIRE(0 == variant.as<char*>());
|
REQUIRE(variant.as<char*>() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<double>()") {
|
SECTION("double") {
|
||||||
REQUIRE(0 == variant.as<double>());
|
REQUIRE(variant.as<double>() == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<bool>()") {
|
SECTION("bool") {
|
||||||
REQUIRE(false == variant.as<bool>());
|
REQUIRE(variant.as<bool>() == false);
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<JsonArray>()") {
|
SECTION("JsonArray") {
|
||||||
REQUIRE(variant.as<JsonArray>().isNull());
|
REQUIRE(variant.as<JsonArray>().isNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
SECTION("as<JsonObject>()") {
|
SECTION("JsonObject") {
|
||||||
REQUIRE(variant.as<JsonObject>().isNull());
|
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