Parcourir la source

Add a stub for `memoryUsage()`

Benoit Blanchon il y a 2 ans
Parent
commit
2f31c932d7

+ 1 - 0
extras/tests/Deprecated/CMakeLists.txt

@@ -17,6 +17,7 @@ endif()
 add_executable(DeprecatedTests
 	BasicJsonDocument.cpp
 	DynamicJsonDocument.cpp
+	memoryUsage.cpp
 	StaticJsonDocument.cpp
 )
 

+ 51 - 0
extras/tests/Deprecated/memoryUsage.cpp

@@ -0,0 +1,51 @@
+// ArduinoJson - https://arduinojson.org
+// Copyright © 2014-2023, Benoit BLANCHON
+// MIT License
+
+#include <ArduinoJson.h>
+#include <catch.hpp>
+
+TEST_CASE("JsonArray::memoryUsage()") {
+  JsonArray array;
+  REQUIRE(array.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonArrayConst::memoryUsage()") {
+  JsonArrayConst array;
+  REQUIRE(array.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonDocument::memoryUsage()") {
+  JsonDocument doc;
+  REQUIRE(doc.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonObject::memoryUsage()") {
+  JsonObject array;
+  REQUIRE(array.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonObjectConst::memoryUsage()") {
+  JsonObjectConst array;
+  REQUIRE(array.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonVariant::memoryUsage()") {
+  JsonVariant doc;
+  REQUIRE(doc.memoryUsage() == 0);
+}
+
+TEST_CASE("JsonVariantConst::memoryUsage()") {
+  JsonVariantConst doc;
+  REQUIRE(doc.memoryUsage() == 0);
+}
+
+TEST_CASE("ElementProxy::memoryUsage()") {
+  JsonDocument doc;
+  REQUIRE(doc[0].memoryUsage() == 0);
+}
+
+TEST_CASE("MemberProxy::memoryUsage()") {
+  JsonDocument doc;
+  REQUIRE(doc["hello"].memoryUsage() == 0);
+}

+ 6 - 0
src/ArduinoJson/Array/JsonArray.hpp

@@ -158,6 +158,12 @@ class JsonArray : public detail::VariantOperators<JsonArray> {
     return data_ ? data_->size(resources_) : 0;
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   detail::ResourceManager* getResourceManager() const {
     return resources_;

+ 6 - 0
src/ArduinoJson/Array/JsonArrayConst.hpp

@@ -78,6 +78,12 @@ class JsonArrayConst : public detail::VariantOperators<JsonArrayConst> {
     return data_ ? data_->size(resources_) : 0;
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   const detail::VariantData* getData() const {
     return collectionToVariant(data_);

+ 6 - 0
src/ArduinoJson/Document/JsonDocument.hpp

@@ -291,6 +291,12 @@ class JsonDocument : public detail::VariantOperators<const JsonDocument&> {
     swap_(a.data_, b.data_);
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   JsonVariant getVariant() {
     return JsonVariant(&data_, &resources_);

+ 6 - 0
src/ArduinoJson/Object/JsonObject.hpp

@@ -166,6 +166,12 @@ class JsonObject : public detail::VariantOperators<JsonObject> {
                                          resources_) != 0;
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   detail::ResourceManager* getResourceManager() const {
     return resources_;

+ 6 - 0
src/ArduinoJson/Object/JsonObjectConst.hpp

@@ -105,6 +105,12 @@ class JsonObjectConst : public detail::VariantOperators<JsonObjectConst> {
         detail::ObjectData::getMember(data_, detail::adaptString(key)));
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   const detail::VariantData* getData() const {
     return collectionToVariant(data_);

+ 6 - 0
src/ArduinoJson/Variant/JsonVariantConst.hpp

@@ -133,6 +133,12 @@ class JsonVariantConst : public detail::VariantTag,
                                           resources_) != 0;
   }
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  protected:
   const detail::VariantData* getData() const {
     return data_;

+ 6 - 0
src/ArduinoJson/Variant/VariantRefBase.hpp

@@ -221,6 +221,12 @@ class VariantRefBase : public VariantTag {
                                   MemberProxy<TDerived, TChar*>>::type
   operator[](TChar* key) const;
 
+  // DEPRECATED: always returns zero
+  ARDUINOJSON_DEPRECATED("always returns zero")
+  size_t memoryUsage() const {
+    return 0;
+  }
+
  private:
   TDerived& derived() {
     return static_cast<TDerived&>(*this);