mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Increase coverage
This commit is contained in:
		| @@ -9,88 +9,58 @@ TEST_CASE("JsonVariant undefined") { | |||||||
|   JsonVariant variant; |   JsonVariant variant; | ||||||
|  |  | ||||||
|   SECTION("as<T>()") { |   SECTION("as<T>()") { | ||||||
|     SECTION("long") { |     CHECK(variant.as<bool>() == false); | ||||||
|       REQUIRE(variant.as<long>() == 0); |     CHECK(variant.as<int>() == 0); | ||||||
|     } |     CHECK(variant.as<float>() == 0.0f); | ||||||
|  |     CHECK(variant.as<const char*>() == 0); | ||||||
|     SECTION("unsigned") { |     CHECK(variant.as<std::string>() == "null"); | ||||||
|       REQUIRE(variant.as<unsigned>() == 0); |     CHECK(variant.as<JsonVariant>().isNull()); | ||||||
|     } |     CHECK(variant.as<JsonVariantConst>().isNull()); | ||||||
|  |     CHECK(variant.as<JsonArray>().isNull()); | ||||||
|     SECTION("const char*") { |     CHECK(variant.as<JsonArrayConst>().isNull()); | ||||||
|       REQUIRE(variant.as<const char*>() == 0); |     CHECK(variant.as<JsonObject>().isNull()); | ||||||
|     } |     CHECK(variant.as<JsonObjectConst>().isNull()); | ||||||
|  |     CHECK(variant.as<JsonString>().isNull()); | ||||||
|     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("is<T>()") { |   SECTION("is<T>()") { | ||||||
|     SECTION("long") { |     CHECK_FALSE(variant.is<bool>()); | ||||||
|       REQUIRE(variant.is<long>() == false); |     CHECK_FALSE(variant.is<int>()); | ||||||
|     } |     CHECK_FALSE(variant.is<float>()); | ||||||
|  |     CHECK_FALSE(variant.is<const char*>()); | ||||||
|     SECTION("unsigned") { |     CHECK_FALSE(variant.is<std::string>()); | ||||||
|       REQUIRE(variant.is<unsigned>() == false); |     CHECK_FALSE(variant.is<JsonVariant>()); | ||||||
|     } |     CHECK_FALSE(variant.is<JsonVariantConst>()); | ||||||
|  |     CHECK_FALSE(variant.is<JsonArray>()); | ||||||
|     SECTION("const char*") { |     CHECK_FALSE(variant.is<JsonArrayConst>()); | ||||||
|       REQUIRE(variant.is<const char*>() == false); |     CHECK_FALSE(variant.is<JsonObject>()); | ||||||
|     } |     CHECK_FALSE(variant.is<JsonObjectConst>()); | ||||||
|  |     CHECK_FALSE(variant.is<JsonString>()); | ||||||
|     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); |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   SECTION("set<T>()") { |   SECTION("set()") { | ||||||
|     SECTION("long") { |     CHECK_FALSE(variant.set("42")); | ||||||
|       REQUIRE(variant.set(42L) == false); |     CHECK_FALSE(variant.set(42.0)); | ||||||
|     } |     CHECK_FALSE(variant.set(42L)); | ||||||
|  |     CHECK_FALSE(variant.set(42U)); | ||||||
|  |     CHECK_FALSE(variant.set(serialized("42"))); | ||||||
|  |     CHECK_FALSE(variant.set(true)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|     SECTION("unsigned") { |   SECTION("add()") { | ||||||
|       REQUIRE(variant.set(42U) == false); |     CHECK_FALSE(variant.add("42")); | ||||||
|     } |     CHECK_FALSE(variant.add(42.0)); | ||||||
|  |     CHECK_FALSE(variant.add(42L)); | ||||||
|  |     CHECK_FALSE(variant.add(42U)); | ||||||
|  |     CHECK_FALSE(variant.add(serialized("42"))); | ||||||
|  |     CHECK_FALSE(variant.add(true)); | ||||||
|  |   } | ||||||
|  |  | ||||||
|     SECTION("const char*") { |   SECTION("operator[]") { | ||||||
|       REQUIRE(variant.set("42") == false); |     CHECK(variant[0].isNull()); | ||||||
|     } |     CHECK(variant["key"].isNull()); | ||||||
|  |     CHECK_FALSE(variant[0].set(1)); | ||||||
|     SECTION("Serialized<const char*>") { |     CHECK_FALSE(variant["key"].set(1)); | ||||||
|       REQUIRE(variant.set(serialized("42")) == false); |     CHECK_FALSE(variant[std::string("key")].set(1)); | ||||||
|     } |  | ||||||
|  |  | ||||||
|     SECTION("double") { |  | ||||||
|       REQUIRE(variant.set(42.0) == false); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     SECTION("bool") { |  | ||||||
|       REQUIRE(variant.set(true) == false); |  | ||||||
|     } |  | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -86,18 +86,20 @@ inline NO_INLINE VariantData *variantGetOrAddElement(VariantData *var, | |||||||
| template <typename TChar> | template <typename TChar> | ||||||
| NO_INLINE VariantData *variantGetOrAddMember(VariantData *var, TChar *key, | NO_INLINE VariantData *variantGetOrAddMember(VariantData *var, TChar *key, | ||||||
|                                              MemoryPool *pool) { |                                              MemoryPool *pool) { | ||||||
|   return var != 0 ? var->getOrAddMember(adaptString(key), pool, |   if (!var) | ||||||
|                                         getStringStoragePolicy(key)) |     return 0; | ||||||
|                   : 0; |   return var->getOrAddMember(adaptString(key), pool, | ||||||
|  |                              getStringStoragePolicy(key)); | ||||||
| } | } | ||||||
|  |  | ||||||
| template <typename TString> | template <typename TString> | ||||||
| NO_INLINE VariantData *variantGetOrAddMember(VariantData *var, | NO_INLINE VariantData *variantGetOrAddMember(VariantData *var, | ||||||
|                                              const TString &key, |                                              const TString &key, | ||||||
|                                              MemoryPool *pool) { |                                              MemoryPool *pool) { | ||||||
|   return var != 0 ? var->getOrAddMember(adaptString(key), pool, |   if (!var) | ||||||
|                                         getStringStoragePolicy(key)) |     return 0; | ||||||
|                   : 0; |   return var->getOrAddMember(adaptString(key), pool, | ||||||
|  |                              getStringStoragePolicy(key)); | ||||||
| } | } | ||||||
|  |  | ||||||
| inline bool variantIsNull(const VariantData *var) { | inline bool variantIsNull(const VariantData *var) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user