mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	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("unsigned") { | ||||||
|  |       REQUIRE(variant.as<unsigned>() == 0); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("char*") { | ||||||
|  |       REQUIRE(variant.as<char*>() == 0); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("double") { | ||||||
|  |       REQUIRE(variant.as<double>() == 0); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("bool") { | ||||||
|  |       REQUIRE(variant.as<bool>() == false); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("JsonArray") { | ||||||
|  |       REQUIRE(variant.as<JsonArray>().isNull()); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("JsonObject") { | ||||||
|  |       REQUIRE(variant.as<JsonObject>().isNull()); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   SECTION("as<unsigned>()") { |   SECTION("is<T>()") { | ||||||
|     REQUIRE(0 == variant.as<unsigned>()); |     SECTION("long") { | ||||||
|   } |       REQUIRE(variant.is<long>() == false); | ||||||
|  |     } | ||||||
|  |  | ||||||
|   SECTION("as<char*>()") { |     SECTION("unsigned") { | ||||||
|     REQUIRE(0 == variant.as<char*>()); |       REQUIRE(variant.is<unsigned>() == false); | ||||||
|   } |     } | ||||||
|  |  | ||||||
|   SECTION("as<double>()") { |     SECTION("char*") { | ||||||
|     REQUIRE(0 == variant.as<double>()); |       REQUIRE(variant.is<char*>() == false); | ||||||
|   } |     } | ||||||
|  |  | ||||||
|   SECTION("as<bool>()") { |     SECTION("double") { | ||||||
|     REQUIRE(false == variant.as<bool>()); |       REQUIRE(variant.is<double>() == false); | ||||||
|   } |     } | ||||||
|  |  | ||||||
|   SECTION("as<JsonArray>()") { |     SECTION("bool") { | ||||||
|     REQUIRE(variant.as<JsonArray>().isNull()); |       REQUIRE(variant.is<bool>() == false); | ||||||
|   } |     } | ||||||
|  |  | ||||||
|   SECTION("as<JsonObject>()") { |     SECTION("JsonArray") { | ||||||
|     REQUIRE(variant.as<JsonObject>().isNull()); |       REQUIRE(variant.is<JsonArray>() == false); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     SECTION("JsonObject") { | ||||||
|  |       REQUIRE(variant.is<JsonObject>() == false); | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user