forked from bblanchon/ArduinoJson
Add a stub for add()
This commit is contained in:
@ -15,6 +15,7 @@ if(MSVC)
|
||||
endif()
|
||||
|
||||
add_executable(DeprecatedTests
|
||||
add.cpp
|
||||
BasicJsonDocument.cpp
|
||||
DynamicJsonDocument.cpp
|
||||
memoryUsage.cpp
|
||||
|
38
extras/tests/Deprecated/add.cpp
Normal file
38
extras/tests/Deprecated/add.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
// ArduinoJson - https://arduinojson.org
|
||||
// Copyright © 2014-2023, Benoit BLANCHON
|
||||
// MIT License
|
||||
|
||||
#include <ArduinoJson.h>
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonArray::add()") {
|
||||
JsonDocument doc;
|
||||
JsonArray array = doc.to<JsonArray>();
|
||||
array.add().set(42);
|
||||
REQUIRE(doc.as<std::string>() == "[42]");
|
||||
}
|
||||
|
||||
TEST_CASE("JsonDocument::add()") {
|
||||
JsonDocument doc;
|
||||
doc.add().set(42);
|
||||
REQUIRE(doc.as<std::string>() == "[42]");
|
||||
}
|
||||
|
||||
TEST_CASE("ElementProxy::add()") {
|
||||
JsonDocument doc;
|
||||
doc[0].add().set(42);
|
||||
REQUIRE(doc.as<std::string>() == "[[42]]");
|
||||
}
|
||||
|
||||
TEST_CASE("MemberProxy::add()") {
|
||||
JsonDocument doc;
|
||||
doc["x"].add().set(42);
|
||||
REQUIRE(doc.as<std::string>() == "{\"x\":[42]}");
|
||||
}
|
||||
|
||||
TEST_CASE("JsonVariant::add()") {
|
||||
JsonDocument doc;
|
||||
JsonVariant v = doc.add();
|
||||
v.add().set(42);
|
||||
REQUIRE(doc.as<std::string>() == "[[42]]");
|
||||
}
|
@ -158,6 +158,12 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
|
||||
return data_ ? data_->size(resources_) : 0;
|
||||
}
|
||||
|
||||
// DEPRECATED: use add<JsonVariant>() instead
|
||||
ARDUINOJSON_DEPRECATED("use add<JsonVariant>() instead")
|
||||
JsonVariant add() const {
|
||||
return add<JsonVariant>();
|
||||
}
|
||||
|
||||
// DEPRECATED: always returns zero
|
||||
ARDUINOJSON_DEPRECATED("always returns zero")
|
||||
size_t memoryUsage() const {
|
||||
|
@ -291,6 +291,12 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
|
||||
swap_(a.data_, b.data_);
|
||||
}
|
||||
|
||||
// DEPRECATED: use add<JsonVariant>() instead
|
||||
ARDUINOJSON_DEPRECATED("use add<JsonVariant>() instead")
|
||||
JsonVariant add() {
|
||||
return add<JsonVariant>();
|
||||
}
|
||||
|
||||
// DEPRECATED: always returns zero
|
||||
ARDUINOJSON_DEPRECATED("always returns zero")
|
||||
size_t memoryUsage() const {
|
||||
|
@ -221,6 +221,10 @@ class VariantRefBase : public VariantTag {
|
||||
MemberProxy<TDerived, TChar*>>::type
|
||||
operator[](TChar* key) const;
|
||||
|
||||
// DEPRECATED: use add<JsonVariant>() instead
|
||||
ARDUINOJSON_DEPRECATED("use add<JsonVariant>() instead")
|
||||
JsonVariant add() const;
|
||||
|
||||
// DEPRECATED: always returns zero
|
||||
ARDUINOJSON_DEPRECATED("always returns zero")
|
||||
size_t memoryUsage() const {
|
||||
|
@ -10,6 +10,11 @@
|
||||
|
||||
ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
|
||||
|
||||
template <typename TDerived>
|
||||
inline JsonVariant VariantRefBase<TDerived>::add() const {
|
||||
return add<JsonVariant>();
|
||||
}
|
||||
|
||||
template <typename TDerived>
|
||||
inline void convertToJson(const VariantRefBase<TDerived>& src,
|
||||
JsonVariant dst) {
|
||||
|
Reference in New Issue
Block a user