mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added JsonVariant::success() (issue #279)
				
					
				
			This commit is contained in:
		| @@ -1,6 +1,11 @@ | ||||
| ArduinoJson: change log | ||||
| ======================= | ||||
|  | ||||
| HEAD | ||||
| ---- | ||||
|  | ||||
| * Added `JsonVariant::success()` (issue #279) | ||||
|  | ||||
| v5.4.0 | ||||
| ------ | ||||
|  | ||||
|   | ||||
| @@ -256,6 +256,8 @@ class JsonVariant : public JsonVariantBase<JsonVariant> { | ||||
|     return isObject(); | ||||
|   } | ||||
|  | ||||
|   bool success() const { return _type != Internals::JSON_UNDEFINED; } | ||||
|  | ||||
|   // Serialize the variant to a JsonWriter | ||||
|   void writeTo(Internals::JsonWriter &writer) const; | ||||
|  | ||||
|   | ||||
| @@ -29,6 +29,9 @@ class JsonParser_Variant_Test : public testing::Test { | ||||
|     EXPECT_TRUE(_result.is<T>()); | ||||
|   } | ||||
|  | ||||
|   void resultMustBeInvalid() { EXPECT_FALSE(_result.success()); } | ||||
|   void resultMustBeValid() { EXPECT_TRUE(_result.success()); } | ||||
|  | ||||
|  private: | ||||
|   DynamicJsonBuffer _jsonBuffer; | ||||
|   JsonVariant _result; | ||||
| @@ -37,40 +40,52 @@ class JsonParser_Variant_Test : public testing::Test { | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, EmptyObject) { | ||||
|   whenInputIs("{}"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<JsonObject>(); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, EmptyArray) { | ||||
|   whenInputIs("[]"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<JsonArray>(); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, Integer) { | ||||
|   whenInputIs("42"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<int>(); | ||||
|   resultMustEqual(42); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, Double) { | ||||
|   whenInputIs("3.14"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<double>(); | ||||
|   resultMustEqual(3.14); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, String) { | ||||
|   whenInputIs("\"hello world\""); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<char*>(); | ||||
|   resultMustEqual("hello world"); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, True) { | ||||
|   whenInputIs("true"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<bool>(); | ||||
|   resultMustEqual(true); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, False) { | ||||
|   whenInputIs("false"); | ||||
|   resultMustBeValid(); | ||||
|   resultTypeMustBe<bool>(); | ||||
|   resultMustEqual(false); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonParser_Variant_Test, Invalid) { | ||||
|   whenInputIs("{"); | ||||
|   resultMustBeInvalid(); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user