mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Added deprecated attribute on asArray(), asObject() and asString() (issue #420)
				
					
				
			This commit is contained in:
		
							
								
								
									
										36
									
								
								test/Deprecated_Tests.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								test/Deprecated_Tests.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| // Copyright Benoit Blanchon 2014-2017 | ||||
| // MIT License | ||||
| // | ||||
| // Arduino JSON library | ||||
| // https://github.com/bblanchon/ArduinoJson | ||||
| // If you like this project, please add a star! | ||||
|  | ||||
| #define ARDUINOJSON_ENABLE_DEPRECATED 1 | ||||
|  | ||||
| #include <ArduinoJson.h> | ||||
| #include <gtest/gtest.h> | ||||
|  | ||||
| #if defined(__clang__) | ||||
| #pragma clang diagnostic ignored "-Wdeprecated-declarations" | ||||
| #elif defined(__GNUC__) | ||||
| #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | ||||
| #elif defined(_MSC_VER) | ||||
| #pragma warning(disable : 4996) | ||||
| #endif | ||||
|  | ||||
| TEST(Deprecated, asArray) { | ||||
|   DynamicJsonBuffer jsonBuffer; | ||||
|   JsonVariant variant = jsonBuffer.createArray(); | ||||
|   ASSERT_TRUE(variant.asArray().success()); | ||||
| } | ||||
|  | ||||
| TEST(Deprecated, asObject) { | ||||
|   DynamicJsonBuffer jsonBuffer; | ||||
|   JsonVariant variant = jsonBuffer.createObject(); | ||||
|   ASSERT_TRUE(variant.asObject().success()); | ||||
| } | ||||
|  | ||||
| TEST(Deprecated, asString) { | ||||
|   JsonVariant variant = "hello"; | ||||
|   ASSERT_STREQ("hello", variant.asString()); | ||||
| } | ||||
| @@ -75,7 +75,7 @@ TEST_(StoreArray) { | ||||
|  | ||||
|   _object.set("hello", arr); | ||||
|  | ||||
|   EXPECT_EQ(&arr, &_object["hello"].asArray()); | ||||
|   EXPECT_EQ(&arr, &_object["hello"].as<JsonArray>()); | ||||
|   EXPECT_TRUE(_object["hello"].is<JsonArray&>()); | ||||
|   EXPECT_FALSE(_object["hello"].is<JsonObject&>()); | ||||
| } | ||||
| @@ -85,7 +85,7 @@ TEST_(StoreObject) { | ||||
|  | ||||
|   _object.set("hello", obj); | ||||
|  | ||||
|   EXPECT_EQ(&obj, &_object["hello"].asObject()); | ||||
|   EXPECT_EQ(&obj, &_object["hello"].as<JsonObject>()); | ||||
|   EXPECT_TRUE(_object["hello"].is<JsonObject&>()); | ||||
|   EXPECT_FALSE(_object["hello"].is<JsonArray&>()); | ||||
| } | ||||
|   | ||||
| @@ -85,7 +85,6 @@ TEST_(StoreArray) { | ||||
|  | ||||
|   _object["hello"] = arr; | ||||
|  | ||||
|   EXPECT_EQ(&arr, &_object["hello"].asArray());  // <- DEPRECATED | ||||
|   EXPECT_EQ(&arr, &_object["hello"].as<JsonArray&>()); | ||||
|   EXPECT_EQ(&arr, &_object["hello"].as<JsonArray>());  // <- short hand | ||||
|   EXPECT_EQ(&arr, &_object["hello"].as<const JsonArray&>()); | ||||
| @@ -102,7 +101,6 @@ TEST_(StoreObject) { | ||||
|  | ||||
|   _object["hello"] = obj; | ||||
|  | ||||
|   EXPECT_EQ(&obj, &_object["hello"].asObject());  // DEPRECATED | ||||
|   EXPECT_EQ(&obj, &_object["hello"].as<JsonObject&>()); | ||||
|   EXPECT_EQ(&obj, &_object["hello"].as<JsonObject>());  // <- short hand | ||||
|   EXPECT_EQ(&obj, &_object["hello"].as<const JsonObject&>()); | ||||
|   | ||||
| @@ -54,7 +54,7 @@ TEST_F(JsonVariant_Copy_Tests, ObjectsAreCopiedByReference) { | ||||
|  | ||||
|   object["hello"] = "world"; | ||||
|  | ||||
|   EXPECT_EQ(1, _variant1.asObject().size()); | ||||
|   EXPECT_EQ(1, _variant1.as<JsonObject>().size()); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonVariant_Copy_Tests, ArraysAreCopiedByReference) { | ||||
| @@ -64,5 +64,5 @@ TEST_F(JsonVariant_Copy_Tests, ArraysAreCopiedByReference) { | ||||
|  | ||||
|   array.add("world"); | ||||
|  | ||||
|   EXPECT_EQ(1, _variant1.asArray().size()); | ||||
|   EXPECT_EQ(1, _variant1.as<JsonArray>().size()); | ||||
| } | ||||
|   | ||||
| @@ -22,11 +22,10 @@ TEST_F(JsonVariant_Subscript_Tests, Array) { | ||||
|   _variant = array; | ||||
|  | ||||
|   EXPECT_EQ(2, _variant.size()); | ||||
|   EXPECT_STREQ("element at index 0", _variant[0].asString()); | ||||
|   EXPECT_STREQ("element at index 1", _variant[1].asString()); | ||||
|   EXPECT_STREQ( | ||||
|       "element at index 0", | ||||
|       _variant[static_cast<unsigned char>(0)].asString());  // issue #381 | ||||
|   EXPECT_STREQ("element at index 0", _variant[0]); | ||||
|   EXPECT_STREQ("element at index 1", _variant[1]); | ||||
|   EXPECT_STREQ("element at index 0", | ||||
|                _variant[static_cast<unsigned char>(0)]);  // issue #381 | ||||
|   EXPECT_FALSE(_variant[-1].success()); | ||||
|   EXPECT_FALSE(_variant[3].success()); | ||||
|   EXPECT_FALSE(_variant["0"].success()); | ||||
| @@ -40,8 +39,8 @@ TEST_F(JsonVariant_Subscript_Tests, Object) { | ||||
|   _variant = object; | ||||
|  | ||||
|   EXPECT_EQ(2, _variant.size()); | ||||
|   EXPECT_STREQ("element at key \"a\"", _variant["a"].asString()); | ||||
|   EXPECT_STREQ("element at key \"b\"", _variant["b"].asString()); | ||||
|   EXPECT_STREQ("element at key \"a\"", _variant["a"]); | ||||
|   EXPECT_STREQ("element at key \"b\"", _variant["b"]); | ||||
|   EXPECT_FALSE(_variant["c"].success()); | ||||
|   EXPECT_FALSE(_variant[0].success()); | ||||
| } | ||||
|   | ||||
| @@ -22,7 +22,7 @@ TEST_F(JsonVariant_Undefined_Tests, AsUnsignedReturns0) { | ||||
| } | ||||
|  | ||||
| TEST_F(JsonVariant_Undefined_Tests, AsStringReturnsNull) { | ||||
|   EXPECT_EQ(0, variant.asString()); | ||||
|   EXPECT_EQ(0, variant.as<char*>()); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonVariant_Undefined_Tests, AsDoubleReturns0) { | ||||
| @@ -50,9 +50,9 @@ TEST_F(JsonVariant_Undefined_Tests, AsConstObjectReturnInvalid) { | ||||
| } | ||||
|  | ||||
| TEST_F(JsonVariant_Undefined_Tests, AsArrayWrapperReturnInvalid) { | ||||
|   EXPECT_EQ(JsonArray::invalid(), variant.asArray()); | ||||
|   EXPECT_EQ(JsonArray::invalid(), variant.as<JsonArray>()); | ||||
| } | ||||
|  | ||||
| TEST_F(JsonVariant_Undefined_Tests, AsObjectWrapperReturnInvalid) { | ||||
|   EXPECT_EQ(JsonObject::invalid(), variant.asObject()); | ||||
|   EXPECT_EQ(JsonObject::invalid(), variant.as<JsonObject>()); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user