mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	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