Added deprecated attribute on asArray(), asObject() and asString() (issue #420)

This commit is contained in:
Benoit Blanchon
2017-01-22 17:24:17 +01:00
parent d4f725d1fa
commit 5fefeae404
14 changed files with 101 additions and 60 deletions

36
test/Deprecated_Tests.cpp Normal file
View 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());
}

View File

@ -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&>());
}

View File

@ -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&>());

View File

@ -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());
}

View File

@ -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());
}

View File

@ -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>());
}