From 540901e219472981ed03174e793092294295648b Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Mon, 20 Mar 2023 10:49:01 +0100 Subject: [PATCH] Merge `DynamicJsonDocument` with `JsonDocument` --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- .github/ISSUE_TEMPLATE/help.md | 2 +- .github/workflows/ci.yml | 4 +- CHANGELOG.md | 1 + README.md | 4 +- examples/JsonConfigFile/JsonConfigFile.ino | 4 +- .../JsonFilterExample/JsonFilterExample.ino | 4 +- .../JsonGeneratorExample.ino | 2 +- examples/JsonHttpClient/JsonHttpClient.ino | 2 +- .../JsonParserExample/JsonParserExample.ino | 2 +- examples/JsonServer/JsonServer.ino | 2 +- examples/JsonUdpBeacon/JsonUdpBeacon.ino | 2 +- examples/MsgPackParser/MsgPackParser.ino | 2 +- examples/ProgmemExample/ProgmemExample.ino | 2 +- examples/StringExample/StringExample.ino | 2 +- extras/ci/espidf/main/main.cpp | 2 +- extras/fuzzing/json_fuzzer.cpp | 2 +- extras/fuzzing/msgpack_fuzzer.cpp | 2 +- .../scripts/wandbox/JsonGeneratorExample.cpp | 2 +- extras/scripts/wandbox/JsonParserExample.cpp | 2 +- .../scripts/wandbox/MsgPackParserExample.cpp | 2 +- extras/tests/Cpp17/string_view.cpp | 2 +- extras/tests/Cpp20/smoke_test.cpp | 2 +- extras/tests/FailingBuilds/CMakeLists.txt | 6 - extras/tests/FailingBuilds/Issue1189.cpp | 13 -- extras/tests/FailingBuilds/Issue978.cpp | 2 +- extras/tests/FailingBuilds/assign_char.cpp | 2 +- .../FailingBuilds/delete_jsondocument.cpp | 12 -- extras/tests/FailingBuilds/read_long_long.cpp | 2 +- .../tests/FailingBuilds/variant_as_char.cpp | 2 +- .../tests/FailingBuilds/write_long_long.cpp | 2 +- extras/tests/IntegrationTests/gbathree.cpp | 2 +- extras/tests/IntegrationTests/issue772.cpp | 4 +- .../tests/IntegrationTests/openweathermap.cpp | 4 +- extras/tests/IntegrationTests/round_trip.cpp | 2 +- extras/tests/JsonArray/add.cpp | 10 +- extras/tests/JsonArray/clear.cpp | 2 +- extras/tests/JsonArray/compare.cpp | 12 +- extras/tests/JsonArray/copyArray.cpp | 46 ++--- extras/tests/JsonArray/createNested.cpp | 2 +- extras/tests/JsonArray/equals.cpp | 4 +- extras/tests/JsonArray/isNull.cpp | 8 +- extras/tests/JsonArray/iterator.cpp | 2 +- extras/tests/JsonArray/memoryUsage.cpp | 2 +- extras/tests/JsonArray/nesting.cpp | 2 +- extras/tests/JsonArray/remove.cpp | 2 +- extras/tests/JsonArray/size.cpp | 2 +- extras/tests/JsonArray/std_string.cpp | 2 +- extras/tests/JsonArray/subscript.cpp | 12 +- extras/tests/JsonDeserializer/array.cpp | 18 +- extras/tests/JsonDeserializer/filter.cpp | 12 +- .../JsonDeserializer/incomplete_input.cpp | 2 +- extras/tests/JsonDeserializer/input_types.cpp | 26 +-- .../tests/JsonDeserializer/invalid_input.cpp | 4 +- extras/tests/JsonDeserializer/misc.cpp | 4 +- .../tests/JsonDeserializer/nestingLimit.cpp | 2 +- extras/tests/JsonDeserializer/number.cpp | 2 +- extras/tests/JsonDeserializer/object.cpp | 14 +- extras/tests/JsonDeserializer/string.cpp | 12 +- extras/tests/JsonDocument/CMakeLists.txt | 2 +- extras/tests/JsonDocument/ElementProxy.cpp | 22 +-- ...namicJsonDocument.cpp => JsonDocument.cpp} | 56 +++--- extras/tests/JsonDocument/MemberProxy.cpp | 36 ++-- extras/tests/JsonDocument/add.cpp | 2 +- extras/tests/JsonDocument/allocator.cpp | 30 +-- extras/tests/JsonDocument/cast.cpp | 2 +- extras/tests/JsonDocument/compare.cpp | 32 +--- extras/tests/JsonDocument/containsKey.cpp | 2 +- extras/tests/JsonDocument/createNested.cpp | 8 +- extras/tests/JsonDocument/isNull.cpp | 2 +- extras/tests/JsonDocument/issue1120.cpp | 2 +- extras/tests/JsonDocument/nesting.cpp | 2 +- extras/tests/JsonDocument/overflowed.cpp | 24 +-- extras/tests/JsonDocument/remove.cpp | 2 +- extras/tests/JsonDocument/shrinkToFit.cpp | 6 +- extras/tests/JsonDocument/size.cpp | 2 +- extras/tests/JsonDocument/subscript.cpp | 6 +- extras/tests/JsonDocument/swap.cpp | 8 +- extras/tests/JsonObject/clear.cpp | 2 +- extras/tests/JsonObject/compare.cpp | 12 +- extras/tests/JsonObject/containsKey.cpp | 2 +- extras/tests/JsonObject/copy.cpp | 8 +- extras/tests/JsonObject/createNestedArray.cpp | 2 +- .../tests/JsonObject/createNestedObject.cpp | 2 +- extras/tests/JsonObject/equals.cpp | 4 +- extras/tests/JsonObject/isNull.cpp | 8 +- extras/tests/JsonObject/iterator.cpp | 4 +- extras/tests/JsonObject/memoryUsage.cpp | 2 +- extras/tests/JsonObject/nesting.cpp | 2 +- extras/tests/JsonObject/remove.cpp | 2 +- extras/tests/JsonObject/size.cpp | 2 +- extras/tests/JsonObject/std_string.cpp | 2 +- extras/tests/JsonObject/subscript.cpp | 10 +- extras/tests/JsonSerializer/CustomWriter.cpp | 2 +- extras/tests/JsonSerializer/JsonArray.cpp | 2 +- .../tests/JsonSerializer/JsonArrayPretty.cpp | 2 +- extras/tests/JsonSerializer/JsonObject.cpp | 10 +- .../tests/JsonSerializer/JsonObjectPretty.cpp | 2 +- extras/tests/JsonSerializer/JsonVariant.cpp | 2 +- extras/tests/JsonSerializer/misc.cpp | 6 +- extras/tests/JsonSerializer/std_stream.cpp | 2 +- extras/tests/JsonSerializer/std_string.cpp | 6 +- extras/tests/JsonVariant/add.cpp | 2 +- extras/tests/JsonVariant/as.cpp | 2 +- extras/tests/JsonVariant/clear.cpp | 2 +- extras/tests/JsonVariant/compare.cpp | 4 +- extras/tests/JsonVariant/containsKey.cpp | 4 +- extras/tests/JsonVariant/converters.cpp | 4 +- extras/tests/JsonVariant/copy.cpp | 4 +- extras/tests/JsonVariant/createNested.cpp | 8 +- extras/tests/JsonVariant/is.cpp | 4 +- extras/tests/JsonVariant/isnull.cpp | 10 +- extras/tests/JsonVariant/memoryUsage.cpp | 2 +- extras/tests/JsonVariant/misc.cpp | 4 +- extras/tests/JsonVariant/nesting.cpp | 2 +- extras/tests/JsonVariant/nullptr.cpp | 2 +- extras/tests/JsonVariant/or.cpp | 2 +- extras/tests/JsonVariant/overflow.cpp | 4 +- extras/tests/JsonVariant/remove.cpp | 2 +- extras/tests/JsonVariant/set.cpp | 10 +- extras/tests/JsonVariant/shallowCopy.cpp | 2 +- extras/tests/JsonVariant/size.cpp | 2 +- extras/tests/JsonVariant/stl_containers.cpp | 12 +- extras/tests/JsonVariant/subscript.cpp | 4 +- extras/tests/JsonVariant/types.cpp | 8 +- extras/tests/Misc/StringWriter.cpp | 2 +- extras/tests/Misc/TypeTraits.cpp | 2 +- extras/tests/Misc/printable.cpp | 8 +- extras/tests/Misc/unsigned_char.cpp | 40 ++-- .../MixedConfiguration/decode_unicode_0.cpp | 2 +- .../MixedConfiguration/decode_unicode_1.cpp | 2 +- .../MixedConfiguration/enable_comments_0.cpp | 2 +- .../MixedConfiguration/enable_comments_1.cpp | 6 +- .../MixedConfiguration/enable_infinity_0.cpp | 4 +- .../MixedConfiguration/enable_infinity_1.cpp | 2 +- .../tests/MixedConfiguration/enable_nan_0.cpp | 2 +- .../tests/MixedConfiguration/enable_nan_1.cpp | 2 +- .../MixedConfiguration/enable_progmem_1.cpp | 2 +- .../enable_string_deduplication_0.cpp | 2 +- .../enable_string_deduplication_1.cpp | 2 +- extras/tests/MixedConfiguration/issue1707.cpp | 2 +- .../tests/MixedConfiguration/use_double_0.cpp | 2 +- .../tests/MixedConfiguration/use_double_1.cpp | 2 +- .../MixedConfiguration/use_long_long_0.cpp | 2 +- .../MixedConfiguration/use_long_long_1.cpp | 2 +- .../MsgPackDeserializer/deserializeArray.cpp | 2 +- .../MsgPackDeserializer/deserializeObject.cpp | 2 +- .../deserializeVariant.cpp | 4 +- extras/tests/MsgPackDeserializer/filter.cpp | 12 +- .../MsgPackDeserializer/incompleteInput.cpp | 2 +- .../tests/MsgPackDeserializer/input_types.cpp | 8 +- extras/tests/MsgPackDeserializer/misc.cpp | 2 +- .../MsgPackDeserializer/nestingLimit.cpp | 2 +- .../MsgPackDeserializer/notSupported.cpp | 4 +- .../MsgPackSerializer/destination_types.cpp | 2 +- extras/tests/MsgPackSerializer/measure.cpp | 2 +- extras/tests/MsgPackSerializer/misc.cpp | 8 +- .../MsgPackSerializer/serializeArray.cpp | 2 +- .../MsgPackSerializer/serializeObject.cpp | 2 +- .../MsgPackSerializer/serializeVariant.cpp | 2 +- keywords.txt | 2 +- src/ArduinoJson.hpp | 2 +- .../Document/DynamicJsonDocument.hpp | 172 ------------------ src/ArduinoJson/Document/JsonDocument.hpp | 140 ++++++++++++-- 164 files changed, 550 insertions(+), 666 deletions(-) delete mode 100644 extras/tests/FailingBuilds/Issue1189.cpp delete mode 100644 extras/tests/FailingBuilds/delete_jsondocument.cpp rename extras/tests/JsonDocument/{DynamicJsonDocument.cpp => JsonDocument.cpp} (80%) delete mode 100644 src/ArduinoJson/Document/DynamicJsonDocument.hpp diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index aaa35d16..b240f81c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -27,7 +27,7 @@ Here is the environment that I used: Here is a small snippet that reproduces the issue. ```c++ -DynamicJsonDocument doc(1024); +JsonDocument doc(1024); DeserializationError error = deserializeJson(doc, "{\"hello\":\"world\"}"); diff --git a/.github/ISSUE_TEMPLATE/help.md b/.github/ISSUE_TEMPLATE/help.md index d367679b..f835c6be 100644 --- a/.github/ISSUE_TEMPLATE/help.md +++ b/.github/ISSUE_TEMPLATE/help.md @@ -28,7 +28,7 @@ Here is the environment that I'm using': Here is a small snippet that demonstrate the problem. ```c++ -DynamicJsonDocument doc(1024); +JsonDocument doc(1024); DeserializationError error = deserializeJson(doc, "{\"hello\":\"world\"}"); diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 41aa2281..2e97ed38 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -481,7 +481,7 @@ jobs: g++ -x c++ - < void setup() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); // You can use a Flash String as your JSON input. // WARNING: the strings in the input will be duplicated in the JsonDocument. diff --git a/examples/StringExample/StringExample.ino b/examples/StringExample/StringExample.ino index 3e51b915..240e9784 100644 --- a/examples/StringExample/StringExample.ino +++ b/examples/StringExample/StringExample.ino @@ -13,7 +13,7 @@ #include void setup() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); // You can use a String as your JSON input. // WARNING: the string in the input will be duplicated in the JsonDocument. diff --git a/extras/ci/espidf/main/main.cpp b/extras/ci/espidf/main/main.cpp index 176e2d3b..70ee1dd0 100644 --- a/extras/ci/espidf/main/main.cpp +++ b/extras/ci/espidf/main/main.cpp @@ -6,7 +6,7 @@ extern "C" void app_main() { char buffer[256]; - DynamicJsonDocument doc(200); + JsonDocument doc(200); doc["hello"] = "world"; serializeJson(doc, buffer); diff --git a/extras/fuzzing/json_fuzzer.cpp b/extras/fuzzing/json_fuzzer.cpp index 043cd426..df9ebcb1 100644 --- a/extras/fuzzing/json_fuzzer.cpp +++ b/extras/fuzzing/json_fuzzer.cpp @@ -1,7 +1,7 @@ #include extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeJson(doc, data, size); if (!error) { std::string json; diff --git a/extras/fuzzing/msgpack_fuzzer.cpp b/extras/fuzzing/msgpack_fuzzer.cpp index b6ab1414..577e5a6e 100644 --- a/extras/fuzzing/msgpack_fuzzer.cpp +++ b/extras/fuzzing/msgpack_fuzzer.cpp @@ -1,7 +1,7 @@ #include extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeMsgPack(doc, data, size); if (!error) { std::string json; diff --git a/extras/scripts/wandbox/JsonGeneratorExample.cpp b/extras/scripts/wandbox/JsonGeneratorExample.cpp index 32dfae30..9b29ce5a 100644 --- a/extras/scripts/wandbox/JsonGeneratorExample.cpp +++ b/extras/scripts/wandbox/JsonGeneratorExample.cpp @@ -13,7 +13,7 @@ int main() { // Inside the parentheses, 200 is the RAM allocated to this document. // Don't forget to change this value to match your requirement. // Use https://arduinojson.org/v6/assistant to compute the capacity. - DynamicJsonDocument doc(200); + JsonDocument doc(200); // Add values in the document // diff --git a/extras/scripts/wandbox/JsonParserExample.cpp b/extras/scripts/wandbox/JsonParserExample.cpp index c3f2f62e..9af47c03 100644 --- a/extras/scripts/wandbox/JsonParserExample.cpp +++ b/extras/scripts/wandbox/JsonParserExample.cpp @@ -13,7 +13,7 @@ int main() { // Inside the parentheses, 200 is the capacity of the memory pool in bytes. // Don't forget to change this value to match your JSON document. // Use https://arduinojson.org/v6/assistant to compute the capacity. - DynamicJsonDocument doc(300); + JsonDocument doc(300); // JSON input string. // diff --git a/extras/scripts/wandbox/MsgPackParserExample.cpp b/extras/scripts/wandbox/MsgPackParserExample.cpp index 33fce9b2..77066998 100644 --- a/extras/scripts/wandbox/MsgPackParserExample.cpp +++ b/extras/scripts/wandbox/MsgPackParserExample.cpp @@ -13,7 +13,7 @@ int main() { // Inside the parentheses, 300 is the size of the memory pool in bytes. // Don't forget to change this value to match your JSON document. // Use https://arduinojson.org/assistant to compute the capacity. - DynamicJsonDocument doc(300); + JsonDocument doc(300); // MessagePack input string. // diff --git a/extras/tests/Cpp17/string_view.cpp b/extras/tests/Cpp17/string_view.cpp index 16d7cd33..f542d967 100644 --- a/extras/tests/Cpp17/string_view.cpp +++ b/extras/tests/Cpp17/string_view.cpp @@ -8,7 +8,7 @@ #endif TEST_CASE("string_view") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); JsonVariant variant = doc.to(); SECTION("deserializeJson()") { diff --git a/extras/tests/Cpp20/smoke_test.cpp b/extras/tests/Cpp20/smoke_test.cpp index e8852c05..85b2d60a 100644 --- a/extras/tests/Cpp20/smoke_test.cpp +++ b/extras/tests/Cpp20/smoke_test.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("C++20 smoke test") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); deserializeJson(doc, "{\"hello\":\"world\"}"); REQUIRE(doc["hello"] == "world"); diff --git a/extras/tests/FailingBuilds/CMakeLists.txt b/extras/tests/FailingBuilds/CMakeLists.txt index 0464908c..84940861 100644 --- a/extras/tests/FailingBuilds/CMakeLists.txt +++ b/extras/tests/FailingBuilds/CMakeLists.txt @@ -23,18 +23,12 @@ endmacro() add_executable(Issue978 Issue978.cpp) build_should_fail(Issue978) -add_executable(Issue1189 Issue1189.cpp) -build_should_fail(Issue1189) - add_executable(read_long_long read_long_long.cpp) build_should_fail(read_long_long) add_executable(write_long_long write_long_long.cpp) build_should_fail(write_long_long) -add_executable(delete_jsondocument delete_jsondocument.cpp) -build_should_fail(delete_jsondocument) - add_executable(variant_as_char variant_as_char.cpp) build_should_fail(variant_as_char) diff --git a/extras/tests/FailingBuilds/Issue1189.cpp b/extras/tests/FailingBuilds/Issue1189.cpp deleted file mode 100644 index 40cb59f8..00000000 --- a/extras/tests/FailingBuilds/Issue1189.cpp +++ /dev/null @@ -1,13 +0,0 @@ -// ArduinoJson - https://arduinojson.org -// Copyright © 2014-2023, Benoit BLANCHON -// MIT License - -#include - -// a function should not be able to get a JsonDocument by value -void f(JsonDocument) {} - -int main() { - DynamicJsonDocument doc(1024); - f(doc); -} diff --git a/extras/tests/FailingBuilds/Issue978.cpp b/extras/tests/FailingBuilds/Issue978.cpp index d85aaa0c..66a75b11 100644 --- a/extras/tests/FailingBuilds/Issue978.cpp +++ b/extras/tests/FailingBuilds/Issue978.cpp @@ -8,6 +8,6 @@ struct Stream {}; int main() { Stream* stream = 0; - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); deserializeJson(doc, stream); } diff --git a/extras/tests/FailingBuilds/assign_char.cpp b/extras/tests/FailingBuilds/assign_char.cpp index b9d897f7..f6c81702 100644 --- a/extras/tests/FailingBuilds/assign_char.cpp +++ b/extras/tests/FailingBuilds/assign_char.cpp @@ -7,6 +7,6 @@ // See issue #1498 int main() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); doc["dummy"] = 'A'; } diff --git a/extras/tests/FailingBuilds/delete_jsondocument.cpp b/extras/tests/FailingBuilds/delete_jsondocument.cpp deleted file mode 100644 index 174b80a5..00000000 --- a/extras/tests/FailingBuilds/delete_jsondocument.cpp +++ /dev/null @@ -1,12 +0,0 @@ -// ArduinoJson - https://arduinojson.org -// Copyright © 2014-2023, Benoit BLANCHON -// MIT License - -#include - -struct Stream {}; - -int main() { - JsonDocument* doc = new DynamicJsonDocument(42); - delete doc; -} diff --git a/extras/tests/FailingBuilds/read_long_long.cpp b/extras/tests/FailingBuilds/read_long_long.cpp index 6fe5992a..7e4248b1 100644 --- a/extras/tests/FailingBuilds/read_long_long.cpp +++ b/extras/tests/FailingBuilds/read_long_long.cpp @@ -11,6 +11,6 @@ ARDUINOJSON_ASSERT_INTEGER_TYPE_IS_SUPPORTED(long long) int main() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); doc["dummy"].as(); } diff --git a/extras/tests/FailingBuilds/variant_as_char.cpp b/extras/tests/FailingBuilds/variant_as_char.cpp index 1a9e8342..ce83e45d 100644 --- a/extras/tests/FailingBuilds/variant_as_char.cpp +++ b/extras/tests/FailingBuilds/variant_as_char.cpp @@ -7,6 +7,6 @@ // See issue #1498 int main() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); doc["dummy"].as(); } diff --git a/extras/tests/FailingBuilds/write_long_long.cpp b/extras/tests/FailingBuilds/write_long_long.cpp index 6ff83565..ace250da 100644 --- a/extras/tests/FailingBuilds/write_long_long.cpp +++ b/extras/tests/FailingBuilds/write_long_long.cpp @@ -10,6 +10,6 @@ #endif int main() { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); doc["dummy"] = static_cast(42); } diff --git a/extras/tests/IntegrationTests/gbathree.cpp b/extras/tests/IntegrationTests/gbathree.cpp index 34c4d0d8..2f988cf9 100644 --- a/extras/tests/IntegrationTests/gbathree.cpp +++ b/extras/tests/IntegrationTests/gbathree.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("Gbathree") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeJson( doc, diff --git a/extras/tests/IntegrationTests/issue772.cpp b/extras/tests/IntegrationTests/issue772.cpp index dd85a085..511aec84 100644 --- a/extras/tests/IntegrationTests/issue772.cpp +++ b/extras/tests/IntegrationTests/issue772.cpp @@ -8,8 +8,8 @@ // https://github.com/bblanchon/ArduinoJson/issues/772 TEST_CASE("Issue772") { - DynamicJsonDocument doc1(4096); - DynamicJsonDocument doc2(4096); + JsonDocument doc1(4096); + JsonDocument doc2(4096); DeserializationError err; std::string data = "{\"state\":{\"reported\":{\"timestamp\":\"2018-07-02T09:40:12Z\"," diff --git a/extras/tests/IntegrationTests/openweathermap.cpp b/extras/tests/IntegrationTests/openweathermap.cpp index 37cdadef..09309dd2 100644 --- a/extras/tests/IntegrationTests/openweathermap.cpp +++ b/extras/tests/IntegrationTests/openweathermap.cpp @@ -53,12 +53,12 @@ TEST_CASE("OpenWeatherMap") { "]}"; // clang-format on - DynamicJsonDocument filter(512); + JsonDocument filter(512); filter["list"][0]["dt"] = true; filter["list"][0]["main"]["temp"] = true; filter["list"][0]["weather"][0]["description"] = true; - DynamicJsonDocument doc(16384); + JsonDocument doc(16384); REQUIRE( deserializeJson(doc, input_json, DeserializationOption::Filter(filter)) == diff --git a/extras/tests/IntegrationTests/round_trip.cpp b/extras/tests/IntegrationTests/round_trip.cpp index ede311d0..567e253a 100644 --- a/extras/tests/IntegrationTests/round_trip.cpp +++ b/extras/tests/IntegrationTests/round_trip.cpp @@ -6,7 +6,7 @@ #include void check(std::string originalJson) { - DynamicJsonDocument doc(16384); + JsonDocument doc(16384); std::string prettyJson; deserializeJson(doc, originalJson); diff --git a/extras/tests/JsonArray/add.cpp b/extras/tests/JsonArray/add.cpp index 2708c7d4..1b9039b6 100644 --- a/extras/tests/JsonArray/add.cpp +++ b/extras/tests/JsonArray/add.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray::add()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("int") { @@ -51,7 +51,7 @@ TEST_CASE("JsonArray::add()") { #endif SECTION("nested array") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr = doc2.to(); array.add(arr); @@ -62,7 +62,7 @@ TEST_CASE("JsonArray::add()") { } SECTION("nested object") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj = doc2.to(); array.add(obj); @@ -74,7 +74,7 @@ TEST_CASE("JsonArray::add()") { SECTION("array subscript") { const char* str = "hello"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr = doc2.to(); arr.add(str); @@ -85,7 +85,7 @@ TEST_CASE("JsonArray::add()") { SECTION("object subscript") { const char* str = "hello"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj = doc2.to(); obj["x"] = str; diff --git a/extras/tests/JsonArray/clear.cpp b/extras/tests/JsonArray/clear.cpp index 3d3a592b..660e83b7 100644 --- a/extras/tests/JsonArray/clear.cpp +++ b/extras/tests/JsonArray/clear.cpp @@ -14,7 +14,7 @@ TEST_CASE("JsonArray::clear()") { } SECTION("Removes all elements") { - DynamicJsonDocument doc(64); + JsonDocument doc(64); JsonArray array = doc.to(); array.add(1); array.add(2); diff --git a/extras/tests/JsonArray/compare.cpp b/extras/tests/JsonArray/compare.cpp index f587b13c..3c5243e0 100644 --- a/extras/tests/JsonArray/compare.cpp +++ b/extras/tests/JsonArray/compare.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("Compare JsonArray with JsonArray") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with unbound") { JsonArray array = doc.to(); @@ -82,7 +82,7 @@ TEST_CASE("Compare JsonArray with JsonArray") { } TEST_CASE("Compare JsonArray with JsonVariant") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with self") { JsonArray array = doc.to(); @@ -153,7 +153,7 @@ TEST_CASE("Compare JsonArray with JsonVariant") { } TEST_CASE("Compare JsonArray with JsonVariantConst") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with unbound") { JsonArray array = doc.to(); @@ -247,7 +247,7 @@ TEST_CASE("Compare JsonArray with JsonVariantConst") { } TEST_CASE("Compare JsonArray with JsonArrayConst") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with unbound") { JsonArray array = doc.to(); @@ -347,7 +347,7 @@ TEST_CASE("Compare JsonArray with JsonArrayConst") { } TEST_CASE("Compare JsonArrayConst with JsonArrayConst") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with unbound") { JsonArray array = doc.to(); @@ -430,7 +430,7 @@ TEST_CASE("Compare JsonArrayConst with JsonArrayConst") { } TEST_CASE("Compare JsonArrayConst with JsonVariant") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); SECTION("Compare with self") { JsonArray array = doc.to(); diff --git a/extras/tests/JsonArray/copyArray.cpp b/extras/tests/JsonArray/copyArray.cpp index cf347ae5..8088fbab 100644 --- a/extras/tests/JsonArray/copyArray.cpp +++ b/extras/tests/JsonArray/copyArray.cpp @@ -7,7 +7,7 @@ TEST_CASE("copyArray()") { SECTION("int[] -> JsonArray") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); char json[32]; int source[] = {1, 2, 3}; @@ -20,7 +20,7 @@ TEST_CASE("copyArray()") { } SECTION("std::string[] -> JsonArray") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); char json[32]; std::string source[] = {"a", "b", "c"}; @@ -33,7 +33,7 @@ TEST_CASE("copyArray()") { } SECTION("const char*[] -> JsonArray") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); char json[32]; const char* source[] = {"a", "b", "c"}; @@ -46,7 +46,7 @@ TEST_CASE("copyArray()") { } SECTION("const char[][] -> JsonArray") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); char json[32]; char source[][2] = {"a", "b", "c"}; @@ -59,7 +59,7 @@ TEST_CASE("copyArray()") { } SECTION("const char[][] -> JsonDocument") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; char source[][2] = {"a", "b", "c"}; @@ -71,7 +71,7 @@ TEST_CASE("copyArray()") { } SECTION("const char[][] -> MemberProxy") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; char source[][2] = {"a", "b", "c"}; @@ -83,7 +83,7 @@ TEST_CASE("copyArray()") { } SECTION("int[] -> JsonDocument") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; int source[] = {1, 2, 3}; @@ -95,7 +95,7 @@ TEST_CASE("copyArray()") { } SECTION("int[] -> MemberProxy") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; int source[] = {1, 2, 3}; @@ -108,7 +108,7 @@ TEST_CASE("copyArray()") { SECTION("int[] -> JsonArray, but not enough memory") { const size_t SIZE = JSON_ARRAY_SIZE(2); - DynamicJsonDocument doc(SIZE); + JsonDocument doc(SIZE); JsonArray array = doc.to(); char json[32]; int source[] = {1, 2, 3}; @@ -121,7 +121,7 @@ TEST_CASE("copyArray()") { } SECTION("int[][] -> JsonArray") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); char json[32]; int source[][3] = {{1, 2, 3}, {4, 5, 6}}; @@ -134,7 +134,7 @@ TEST_CASE("copyArray()") { } SECTION("int[][] -> MemberProxy") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; int source[][3] = {{1, 2, 3}, {4, 5, 6}}; @@ -146,7 +146,7 @@ TEST_CASE("copyArray()") { } SECTION("int[][] -> JsonDocument") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[32]; int source[][3] = {{1, 2, 3}, {4, 5, 6}}; @@ -160,7 +160,7 @@ TEST_CASE("copyArray()") { SECTION("int[][] -> JsonArray, but not enough memory") { const size_t SIZE = JSON_ARRAY_SIZE(2) + JSON_ARRAY_SIZE(3) + JSON_ARRAY_SIZE(2); - DynamicJsonDocument doc(SIZE); + JsonDocument doc(SIZE); JsonArray array = doc.to(); char json[32] = ""; int source[][3] = {{1, 2, 3}, {4, 5, 6}}; @@ -176,7 +176,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonArray -> int[], with more space than needed") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[1,2,3]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -193,7 +193,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonArray -> int[], without enough space") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[1,2,3]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -208,7 +208,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonArray -> std::string[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[\"a\",\"b\",\"c\"]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -225,7 +225,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonArray -> char[N][]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[\"a12345\",\"b123456\",\"c1234567\"]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -242,7 +242,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonDocument -> int[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[1,2,3]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -258,7 +258,7 @@ TEST_CASE("copyArray()") { } SECTION("MemberProxy -> int[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "{\"data\":[1,2,3]}"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -274,7 +274,7 @@ TEST_CASE("copyArray()") { } SECTION("ElementProxy -> int[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[[1,2,3]]"; DeserializationError err = deserializeJson(doc, json); CHECK(err == DeserializationError::Ok); @@ -290,7 +290,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonArray -> int[][]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[[1,2],[3],[4]]"; DeserializationError err = deserializeJson(doc, json); @@ -309,7 +309,7 @@ TEST_CASE("copyArray()") { } SECTION("JsonDocument -> int[][]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "[[1,2],[3],[4]]"; DeserializationError err = deserializeJson(doc, json); @@ -327,7 +327,7 @@ TEST_CASE("copyArray()") { } SECTION("MemberProxy -> int[][]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); char json[] = "{\"data\":[[1,2],[3],[4]]}"; DeserializationError err = deserializeJson(doc, json); diff --git a/extras/tests/JsonArray/createNested.cpp b/extras/tests/JsonArray/createNested.cpp index 4801dbe0..14994ca3 100644 --- a/extras/tests/JsonArray/createNested.cpp +++ b/extras/tests/JsonArray/createNested.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray basics") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("CreateNestedArray") { diff --git a/extras/tests/JsonArray/equals.cpp b/extras/tests/JsonArray/equals.cpp index 4998d388..f14cb17c 100644 --- a/extras/tests/JsonArray/equals.cpp +++ b/extras/tests/JsonArray/equals.cpp @@ -6,11 +6,11 @@ #include TEST_CASE("JsonArray::operator==()") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); JsonArray array1 = doc1.to(); JsonArrayConst array1c = array1; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray array2 = doc2.to(); JsonArrayConst array2c = array2; diff --git a/extras/tests/JsonArray/isNull.cpp b/extras/tests/JsonArray/isNull.cpp index 0da13be8..b88c7839 100644 --- a/extras/tests/JsonArray/isNull.cpp +++ b/extras/tests/JsonArray/isNull.cpp @@ -12,7 +12,7 @@ TEST_CASE("JsonArray::isNull()") { } SECTION("returns false") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); REQUIRE(arr.isNull() == false); } @@ -25,7 +25,7 @@ TEST_CASE("JsonArrayConst::isNull()") { } SECTION("returns false") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArrayConst arr = doc.to(); REQUIRE(arr.isNull() == false); } @@ -38,7 +38,7 @@ TEST_CASE("JsonArray::operator bool()") { } SECTION("returns true") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); REQUIRE(static_cast(arr) == true); } @@ -51,7 +51,7 @@ TEST_CASE("JsonArrayConst::operator bool()") { } SECTION("returns true") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArrayConst arr = doc.to(); REQUIRE(static_cast(arr) == true); } diff --git a/extras/tests/JsonArray/iterator.cpp b/extras/tests/JsonArray/iterator.cpp index c05a1f4a..5a33dc6f 100644 --- a/extras/tests/JsonArray/iterator.cpp +++ b/extras/tests/JsonArray/iterator.cpp @@ -7,7 +7,7 @@ template static void run_iterator_test() { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(2)); + JsonDocument doc(JSON_ARRAY_SIZE(2)); JsonArray tmp = doc.to(); tmp.add(12); tmp.add(34); diff --git a/extras/tests/JsonArray/memoryUsage.cpp b/extras/tests/JsonArray/memoryUsage.cpp index 9f4ea09b..bd414465 100644 --- a/extras/tests/JsonArray/memoryUsage.cpp +++ b/extras/tests/JsonArray/memoryUsage.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray::memoryUsage()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); SECTION("return 0 if uninitialized") { diff --git a/extras/tests/JsonArray/nesting.cpp b/extras/tests/JsonArray/nesting.cpp index fc1be8c6..b00cb5ed 100644 --- a/extras/tests/JsonArray/nesting.cpp +++ b/extras/tests/JsonArray/nesting.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray::nesting()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); SECTION("return 0 if uninitialized") { diff --git a/extras/tests/JsonArray/remove.cpp b/extras/tests/JsonArray/remove.cpp index f75efda3..f582b912 100644 --- a/extras/tests/JsonArray/remove.cpp +++ b/extras/tests/JsonArray/remove.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); array.add(1); array.add(2); diff --git a/extras/tests/JsonArray/size.cpp b/extras/tests/JsonArray/size.cpp index 6edd4db8..9036740e 100644 --- a/extras/tests/JsonArray/size.cpp +++ b/extras/tests/JsonArray/size.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonArray::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("returns 0 is empty") { diff --git a/extras/tests/JsonArray/std_string.cpp b/extras/tests/JsonArray/std_string.cpp index 7d3ec9f4..47bd18ac 100644 --- a/extras/tests/JsonArray/std_string.cpp +++ b/extras/tests/JsonArray/std_string.cpp @@ -12,7 +12,7 @@ static void eraseString(std::string& str) { } TEST_CASE("std::string") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("add()") { diff --git a/extras/tests/JsonArray/subscript.cpp b/extras/tests/JsonArray/subscript.cpp index 3079d2f9..3da8e32e 100644 --- a/extras/tests/JsonArray/subscript.cpp +++ b/extras/tests/JsonArray/subscript.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonArray::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("Pad with null") { @@ -65,7 +65,7 @@ TEST_CASE("JsonArray::operator[]") { } SECTION("nested array") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr2 = doc2.to(); array[0] = arr2; @@ -76,7 +76,7 @@ TEST_CASE("JsonArray::operator[]") { } SECTION("nested object") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj = doc2.to(); array[0] = obj; @@ -87,7 +87,7 @@ TEST_CASE("JsonArray::operator[]") { } SECTION("array subscript") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr2 = doc2.to(); const char* str = "hello"; @@ -100,7 +100,7 @@ TEST_CASE("JsonArray::operator[]") { SECTION("object subscript") { const char* str = "hello"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj = doc2.to(); obj["x"] = str; @@ -159,7 +159,7 @@ TEST_CASE("JsonArray::operator[]") { } TEST_CASE("JsonArrayConst::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); array.add(0); diff --git a/extras/tests/JsonDeserializer/array.cpp b/extras/tests/JsonDeserializer/array.cpp index e520a047..e6229856 100644 --- a/extras/tests/JsonDeserializer/array.cpp +++ b/extras/tests/JsonDeserializer/array.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("deserialize JSON array") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("An empty array") { DeserializationError err = deserializeJson(doc, "[]"); @@ -254,7 +254,7 @@ TEST_CASE("deserialize JSON array") { TEST_CASE("deserialize JSON array under memory constraints") { SECTION("buffer of the right size for an empty array") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(0)); + JsonDocument doc(JSON_ARRAY_SIZE(0)); char input[] = "[]"; DeserializationError err = deserializeJson(doc, input); @@ -263,7 +263,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("buffer too small for an array with one element") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(0)); + JsonDocument doc(JSON_ARRAY_SIZE(0)); char input[] = "[1]"; DeserializationError err = deserializeJson(doc, input); @@ -272,7 +272,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("buffer of the right size for an array with one element") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); char input[] = "[1]"; DeserializationError err = deserializeJson(doc, input); @@ -281,7 +281,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("buffer too small for an array with a nested object") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(0) + JSON_OBJECT_SIZE(0)); + JsonDocument doc(JSON_ARRAY_SIZE(0) + JSON_OBJECT_SIZE(0)); char input[] = "[{}]"; DeserializationError err = deserializeJson(doc, input); @@ -290,7 +290,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("buffer of the right size for an array with a nested object") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1) + JSON_OBJECT_SIZE(0)); + JsonDocument doc(JSON_ARRAY_SIZE(1) + JSON_OBJECT_SIZE(0)); char input[] = "[{}]"; DeserializationError err = deserializeJson(doc, input); @@ -299,7 +299,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("don't store space characters") { - DynamicJsonDocument doc(100); + JsonDocument doc(100); deserializeJson(doc, " [ \"1234567\" ] "); @@ -309,7 +309,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("Should clear the JsonArray") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(4)); + JsonDocument doc(JSON_ARRAY_SIZE(4)); char input[] = "[1,2,3,4]"; deserializeJson(doc, input); @@ -321,7 +321,7 @@ TEST_CASE("deserialize JSON array under memory constraints") { } SECTION("buffer of the right size for an array with two element") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(2)); + JsonDocument doc(JSON_ARRAY_SIZE(2)); char input[] = "[1,2]"; DeserializationError err = deserializeJson(doc, input); diff --git a/extras/tests/JsonDeserializer/filter.cpp b/extras/tests/JsonDeserializer/filter.cpp index 1f3d3b2e..976e6e0a 100644 --- a/extras/tests/JsonDeserializer/filter.cpp +++ b/extras/tests/JsonDeserializer/filter.cpp @@ -685,8 +685,8 @@ TEST_CASE("Filtering") { for (size_t i = 0; i < sizeof(testCases) / sizeof(testCases[0]); i++) { CAPTURE(i); - DynamicJsonDocument filter(256); - DynamicJsonDocument doc(256); + JsonDocument filter(256); + JsonDocument doc(256); TestCase& tc = testCases[i]; CAPTURE(tc.filter); @@ -706,10 +706,10 @@ TEST_CASE("Filtering") { TEST_CASE("Zero-copy mode") { // issue #1697 char input[] = "{\"include\":42,\"exclude\":666}"; - DynamicJsonDocument filter(256); + JsonDocument filter(256); filter["include"] = true; - DynamicJsonDocument doc(256); + JsonDocument doc(256); DeserializationError err = deserializeJson(doc, input, DeserializationOption::Filter(filter)); @@ -718,8 +718,8 @@ TEST_CASE("Zero-copy mode") { // issue #1697 } TEST_CASE("Overloads") { - DynamicJsonDocument doc(256); - DynamicJsonDocument filter(256); + JsonDocument doc(256); + JsonDocument filter(256); using namespace DeserializationOption; diff --git a/extras/tests/JsonDeserializer/incomplete_input.cpp b/extras/tests/JsonDeserializer/incomplete_input.cpp index a34aede6..65a96096 100644 --- a/extras/tests/JsonDeserializer/incomplete_input.cpp +++ b/extras/tests/JsonDeserializer/incomplete_input.cpp @@ -18,7 +18,7 @@ TEST_CASE("Truncated JSON input") { "{", "{a", "{a:", "{a:1", "{a:1,", "{a:1,"}; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const char* input = testCases[i]; diff --git a/extras/tests/JsonDeserializer/input_types.cpp b/extras/tests/JsonDeserializer/input_types.cpp index d49c9c99..4ea619d6 100644 --- a/extras/tests/JsonDeserializer/input_types.cpp +++ b/extras/tests/JsonDeserializer/input_types.cpp @@ -10,7 +10,7 @@ #include "CustomReader.hpp" TEST_CASE("deserializeJson(char*)") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); SECTION("should not duplicate strings") { char input[] = "{\"hello\":\"world\"}"; @@ -25,7 +25,7 @@ TEST_CASE("deserializeJson(char*)") { } TEST_CASE("deserializeJson(const std::string&)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("should accept const string") { const std::string input("[42]"); @@ -54,7 +54,7 @@ TEST_CASE("deserializeJson(const std::string&)") { } TEST_CASE("deserializeJson(std::istream&)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("array") { std::istringstream json(" [ 42 ] "); @@ -125,7 +125,7 @@ TEST_CASE("deserializeJson(VLA)") { char vla[i]; strcpy(vla, "{\"a\":42}"); - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1)); + JsonDocument doc(JSON_OBJECT_SIZE(1)); DeserializationError err = deserializeJson(doc, vla); REQUIRE(err == DeserializationError::Ok); @@ -133,7 +133,7 @@ TEST_CASE("deserializeJson(VLA)") { #endif TEST_CASE("deserializeJson(CustomReader)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); CustomReader reader("[4,2]"); DeserializationError err = deserializeJson(doc, reader); @@ -144,10 +144,10 @@ TEST_CASE("deserializeJson(CustomReader)") { } TEST_CASE("deserializeJson(JsonDocument&, MemberProxy)") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); doc1["payload"] = "[4,2]"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); DeserializationError err = deserializeJson(doc2, doc1["payload"]); REQUIRE(err == DeserializationError::Ok); @@ -157,10 +157,10 @@ TEST_CASE("deserializeJson(JsonDocument&, MemberProxy)") { } TEST_CASE("deserializeJson(JsonDocument&, JsonVariant)") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); doc1["payload"] = "[4,2]"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); DeserializationError err = deserializeJson(doc2, doc1["payload"].as()); @@ -171,10 +171,10 @@ TEST_CASE("deserializeJson(JsonDocument&, JsonVariant)") { } TEST_CASE("deserializeJson(JsonDocument&, JsonVariantConst)") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); doc1["payload"] = "[4,2]"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); DeserializationError err = deserializeJson(doc2, doc1["payload"].as()); @@ -185,10 +185,10 @@ TEST_CASE("deserializeJson(JsonDocument&, JsonVariantConst)") { } TEST_CASE("deserializeJson(JsonDocument&, ElementProxy)") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); doc1[0] = "[4,2]"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); DeserializationError err = deserializeJson(doc2, doc1[0]); REQUIRE(err == DeserializationError::Ok); diff --git a/extras/tests/JsonDeserializer/invalid_input.cpp b/extras/tests/JsonDeserializer/invalid_input.cpp index 52b50383..cb714fd1 100644 --- a/extras/tests/JsonDeserializer/invalid_input.cpp +++ b/extras/tests/JsonDeserializer/invalid_input.cpp @@ -13,7 +13,7 @@ TEST_CASE("Invalid JSON input") { "3}"}; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const char* input = testCases[i]; @@ -30,7 +30,7 @@ TEST_CASE("Invalid JSON input that should pass") { }; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const char* input = testCases[i]; diff --git a/extras/tests/JsonDeserializer/misc.cpp b/extras/tests/JsonDeserializer/misc.cpp index 4f22de15..0beb253f 100644 --- a/extras/tests/JsonDeserializer/misc.cpp +++ b/extras/tests/JsonDeserializer/misc.cpp @@ -7,8 +7,8 @@ using namespace Catch::Matchers; -TEST_CASE("deserializeJson(DynamicJsonDocument&)") { - DynamicJsonDocument doc(4096); +TEST_CASE("deserializeJson(JsonDocument&)") { + JsonDocument doc(4096); SECTION("Edge cases") { SECTION("null char*") { diff --git a/extras/tests/JsonDeserializer/nestingLimit.cpp b/extras/tests/JsonDeserializer/nestingLimit.cpp index cf55dc85..90ef59b1 100644 --- a/extras/tests/JsonDeserializer/nestingLimit.cpp +++ b/extras/tests/JsonDeserializer/nestingLimit.cpp @@ -12,7 +12,7 @@ REQUIRE(DeserializationError::TooDeep == expression); TEST_CASE("JsonDeserializer nesting") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("Input = const char*") { SECTION("limit = 0") { diff --git a/extras/tests/JsonDeserializer/number.cpp b/extras/tests/JsonDeserializer/number.cpp index 05cf89e8..884a01f3 100644 --- a/extras/tests/JsonDeserializer/number.cpp +++ b/extras/tests/JsonDeserializer/number.cpp @@ -16,7 +16,7 @@ using ArduinoJson::detail::isnan; } // namespace my TEST_CASE("deserialize an integer") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("Integer") { SECTION("0") { diff --git a/extras/tests/JsonDeserializer/object.cpp b/extras/tests/JsonDeserializer/object.cpp index e31c1f24..a96894c4 100644 --- a/extras/tests/JsonDeserializer/object.cpp +++ b/extras/tests/JsonDeserializer/object.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("deserialize JSON object") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("An empty object") { DeserializationError err = deserializeJson(doc, "{}"); @@ -316,7 +316,7 @@ TEST_CASE("deserialize JSON object") { TEST_CASE("deserialize JSON object under memory constraints") { SECTION("buffer for the right size for an empty object") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(0)); + JsonDocument doc(JSON_OBJECT_SIZE(0)); char input[] = "{}"; DeserializationError err = deserializeJson(doc, input); @@ -325,7 +325,7 @@ TEST_CASE("deserialize JSON object under memory constraints") { } SECTION("buffer too small for an empty object") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(0)); + JsonDocument doc(JSON_OBJECT_SIZE(0)); char input[] = "{\"a\":1}"; DeserializationError err = deserializeJson(doc, input); @@ -334,7 +334,7 @@ TEST_CASE("deserialize JSON object under memory constraints") { } SECTION("buffer of the right size for an object with one member") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1)); + JsonDocument doc(JSON_OBJECT_SIZE(1)); char input[] = "{\"a\":1}"; DeserializationError err = deserializeJson(doc, input); @@ -343,7 +343,7 @@ TEST_CASE("deserialize JSON object under memory constraints") { } SECTION("buffer too small for an object with a nested array") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(0) + JSON_ARRAY_SIZE(0)); + JsonDocument doc(JSON_OBJECT_SIZE(0) + JSON_ARRAY_SIZE(0)); char input[] = "{\"a\":[]}"; DeserializationError err = deserializeJson(doc, input); @@ -352,7 +352,7 @@ TEST_CASE("deserialize JSON object under memory constraints") { } SECTION("buffer of the right size for an object with a nested array") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1) + JSON_ARRAY_SIZE(0)); + JsonDocument doc(JSON_OBJECT_SIZE(1) + JSON_ARRAY_SIZE(0)); char input[] = "{\"a\":[]}"; DeserializationError err = deserializeJson(doc, input); @@ -361,7 +361,7 @@ TEST_CASE("deserialize JSON object under memory constraints") { } SECTION("Should clear the JsonObject") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1)); + JsonDocument doc(JSON_OBJECT_SIZE(1)); char input[] = "{\"hello\":\"world\"}"; deserializeJson(doc, input); diff --git a/extras/tests/JsonDeserializer/string.cpp b/extras/tests/JsonDeserializer/string.cpp index a49e1746..2e6a81fb 100644 --- a/extras/tests/JsonDeserializer/string.cpp +++ b/extras/tests/JsonDeserializer/string.cpp @@ -35,7 +35,7 @@ TEST_CASE("Valid JSON strings value") { }; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const TestCase& testCase = testCases[i]; @@ -47,7 +47,7 @@ TEST_CASE("Valid JSON strings value") { } TEST_CASE("\\u0000") { - DynamicJsonDocument doc(200); + JsonDocument doc(200); DeserializationError err = deserializeJson(doc, "\"wx\\u0000yz\""); REQUIRE(err == DeserializationError::Ok); @@ -68,7 +68,7 @@ TEST_CASE("Truncated JSON string") { const char* testCases[] = {"\"hello", "\'hello", "'\\u", "'\\u00", "'\\u000"}; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const char* input = testCases[i]; @@ -83,7 +83,7 @@ TEST_CASE("Invalid JSON string") { "'\\u000G'", "'\\u000/'", "'\\x1234'"}; const size_t testCount = sizeof(testCases) / sizeof(testCases[0]); - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); for (size_t i = 0; i < testCount; i++) { const char* input = testCases[i]; @@ -93,7 +93,7 @@ TEST_CASE("Invalid JSON string") { } TEST_CASE("Not enough room to save the key") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1) + 8); + JsonDocument doc(JSON_OBJECT_SIZE(1) + 8); SECTION("Quoted string") { REQUIRE(deserializeJson(doc, "{\"example\":1}") == @@ -115,7 +115,7 @@ TEST_CASE("Not enough room to save the key") { TEST_CASE("Empty memory pool") { // NOLINTNEXTLINE(clang-analyzer-optin.portability.UnixAPI) - DynamicJsonDocument doc(0); + JsonDocument doc(0); SECTION("Input is const char*") { REQUIRE(deserializeJson(doc, "\"hello\"") == diff --git a/extras/tests/JsonDocument/CMakeLists.txt b/extras/tests/JsonDocument/CMakeLists.txt index 878e6cb2..cac1bf13 100644 --- a/extras/tests/JsonDocument/CMakeLists.txt +++ b/extras/tests/JsonDocument/CMakeLists.txt @@ -9,7 +9,7 @@ add_executable(JsonDocumentTests compare.cpp containsKey.cpp createNested.cpp - DynamicJsonDocument.cpp + JsonDocument.cpp ElementProxy.cpp isNull.cpp issue1120.cpp diff --git a/extras/tests/JsonDocument/ElementProxy.cpp b/extras/tests/JsonDocument/ElementProxy.cpp index e824d998..c147443b 100644 --- a/extras/tests/JsonDocument/ElementProxy.cpp +++ b/extras/tests/JsonDocument/ElementProxy.cpp @@ -8,7 +8,7 @@ typedef ArduinoJson::detail::ElementProxy ElementProxy; TEST_CASE("ElementProxy::add()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(); ElementProxy ep = doc[0]; @@ -34,7 +34,7 @@ TEST_CASE("ElementProxy::add()") { } TEST_CASE("ElementProxy::clear()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(); ElementProxy ep = doc[0]; @@ -54,7 +54,7 @@ TEST_CASE("ElementProxy::clear()") { } TEST_CASE("ElementProxy::operator==()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("1 vs 1") { doc.add(1); @@ -94,7 +94,7 @@ TEST_CASE("ElementProxy::operator==()") { } TEST_CASE("ElementProxy::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(); ElementProxy ep = doc[0]; @@ -142,7 +142,7 @@ TEST_CASE("ElementProxy::remove()") { } TEST_CASE("ElementProxy::set()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); ElementProxy ep = doc[0]; SECTION("set(int)") { @@ -167,7 +167,7 @@ TEST_CASE("ElementProxy::set()") { } TEST_CASE("ElementProxy::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(); ElementProxy ep = doc[0]; @@ -189,7 +189,7 @@ TEST_CASE("ElementProxy::size()") { } TEST_CASE("ElementProxy::memoryUsage()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(); ElementProxy ep = doc[0]; @@ -204,7 +204,7 @@ TEST_CASE("ElementProxy::memoryUsage()") { } TEST_CASE("ElementProxy::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); ElementProxy ep = doc[1]; SECTION("set member") { @@ -221,7 +221,7 @@ TEST_CASE("ElementProxy::operator[]") { } TEST_CASE("ElementProxy cast to JsonVariantConst") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc[0] = "world"; const ElementProxy ep = doc[0]; @@ -232,7 +232,7 @@ TEST_CASE("ElementProxy cast to JsonVariantConst") { } TEST_CASE("ElementProxy cast to JsonVariant") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc[0] = "world"; ElementProxy ep = doc[0]; @@ -247,7 +247,7 @@ TEST_CASE("ElementProxy cast to JsonVariant") { } TEST_CASE("ElementProxy::shallowCopy()") { - DynamicJsonDocument doc1(1024), doc2(1024); + JsonDocument doc1(1024), doc2(1024); doc2["hello"] = "world"; doc1[0].shallowCopy(doc2); diff --git a/extras/tests/JsonDocument/DynamicJsonDocument.cpp b/extras/tests/JsonDocument/JsonDocument.cpp similarity index 80% rename from extras/tests/JsonDocument/DynamicJsonDocument.cpp rename to extras/tests/JsonDocument/JsonDocument.cpp index 96250e42..25f24c64 100644 --- a/extras/tests/JsonDocument/DynamicJsonDocument.cpp +++ b/extras/tests/JsonDocument/JsonDocument.cpp @@ -13,8 +13,8 @@ static void REQUIRE_JSON(JsonDocument& doc, const std::string& expected) { REQUIRE(json == expected); } -TEST_CASE("DynamicJsonDocument") { - DynamicJsonDocument doc(4096); +TEST_CASE("JsonDocument") { + JsonDocument doc(4096); SECTION("serializeJson()") { JsonObject obj = doc.to(); @@ -49,12 +49,12 @@ TEST_CASE("DynamicJsonDocument") { SECTION("capacity()") { SECTION("matches constructor argument") { - DynamicJsonDocument doc2(256); + JsonDocument doc2(256); REQUIRE(doc2.capacity() == 256); } SECTION("rounds up constructor argument") { - DynamicJsonDocument doc2(253); + JsonDocument doc2(253); REQUIRE(doc2.capacity() == 256); } } @@ -82,12 +82,12 @@ TEST_CASE("DynamicJsonDocument") { } } -TEST_CASE("DynamicJsonDocument constructor") { +TEST_CASE("JsonDocument constructor") { SECTION("Copy constructor") { - DynamicJsonDocument doc1(1234); + JsonDocument doc1(1234); deserializeJson(doc1, "{\"hello\":\"world\"}"); - DynamicJsonDocument doc2 = doc1; + JsonDocument doc2 = doc1; REQUIRE_JSON(doc2, "{\"hello\":\"world\"}"); @@ -95,43 +95,43 @@ TEST_CASE("DynamicJsonDocument constructor") { } SECTION("Construct from JsonObject") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); JsonObject obj = doc1.to(); obj["hello"] = "world"; - DynamicJsonDocument doc2 = obj; + JsonDocument doc2 = obj; REQUIRE_JSON(doc2, "{\"hello\":\"world\"}"); REQUIRE(doc2.capacity() == addPadding(doc1.memoryUsage())); } SECTION("Construct from JsonArray") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); JsonArray arr = doc1.to(); arr.add("hello"); - DynamicJsonDocument doc2 = arr; + JsonDocument doc2 = arr; REQUIRE_JSON(doc2, "[\"hello\"]"); REQUIRE(doc2.capacity() == addPadding(doc1.memoryUsage())); } SECTION("Construct from JsonVariant") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); deserializeJson(doc1, "42"); - DynamicJsonDocument doc2 = doc1.as(); + JsonDocument doc2 = doc1.as(); REQUIRE_JSON(doc2, "42"); REQUIRE(doc2.capacity() == addPadding(doc1.memoryUsage())); } } -TEST_CASE("DynamicJsonDocument assignment") { +TEST_CASE("JsonDocument assignment") { SECTION("Copy assignment reallocates when capacity is smaller") { - DynamicJsonDocument doc1(1234); + JsonDocument doc1(1234); deserializeJson(doc1, "{\"hello\":\"world\"}"); - DynamicJsonDocument doc2(8); + JsonDocument doc2(8); doc2 = doc1; @@ -140,9 +140,9 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Copy assignment reallocates when capacity is larger") { - DynamicJsonDocument doc1(100); + JsonDocument doc1(100); deserializeJson(doc1, "{\"hello\":\"world\"}"); - DynamicJsonDocument doc2(1234); + JsonDocument doc2(1234); doc2 = doc1; @@ -151,11 +151,11 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Assign from JsonObject") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); JsonObject obj = doc1.to(); obj["hello"] = "world"; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); doc2 = obj; REQUIRE_JSON(doc2, "{\"hello\":\"world\"}"); @@ -163,11 +163,11 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Assign from JsonArray") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); JsonArray arr = doc1.to(); arr.add("hello"); - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); doc2 = arr; REQUIRE_JSON(doc2, "[\"hello\"]"); @@ -175,10 +175,10 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Assign from JsonVariant") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); deserializeJson(doc1, "42"); - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); doc2 = doc1.as(); REQUIRE_JSON(doc2, "42"); @@ -186,10 +186,10 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Assign from MemberProxy") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); doc1["value"] = 42; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); doc2 = doc1["value"]; REQUIRE_JSON(doc2, "42"); @@ -197,10 +197,10 @@ TEST_CASE("DynamicJsonDocument assignment") { } SECTION("Assign from ElementProxy") { - DynamicJsonDocument doc1(200); + JsonDocument doc1(200); doc1[0] = 42; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); doc2 = doc1[0]; REQUIRE_JSON(doc2, "42"); diff --git a/extras/tests/JsonDocument/MemberProxy.cpp b/extras/tests/JsonDocument/MemberProxy.cpp index 6a32cd2c..486a310c 100644 --- a/extras/tests/JsonDocument/MemberProxy.cpp +++ b/extras/tests/JsonDocument/MemberProxy.cpp @@ -9,7 +9,7 @@ typedef ArduinoJson::detail::MemberProxy MemberProxy; TEST_CASE("MemberProxy::add()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("add(int)") { @@ -26,7 +26,7 @@ TEST_CASE("MemberProxy::add()") { } TEST_CASE("MemberProxy::clear()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("size goes back to zero") { @@ -45,7 +45,7 @@ TEST_CASE("MemberProxy::clear()") { } TEST_CASE("MemberProxy::operator==()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("1 vs 1") { doc["a"] = 1; @@ -85,7 +85,7 @@ TEST_CASE("MemberProxy::operator==()") { } TEST_CASE("MemberProxy::containsKey()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("containsKey(const char*)") { @@ -104,7 +104,7 @@ TEST_CASE("MemberProxy::containsKey()") { } TEST_CASE("MemberProxy::operator|()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("const char*") { doc["a"] = "hello"; @@ -127,7 +127,7 @@ TEST_CASE("MemberProxy::operator|()") { JsonObject object = doc.to(); object["hello"] = "world"; - DynamicJsonDocument emptyDoc(0); + JsonDocument emptyDoc(0); JsonObject anotherObject = object["hello"] | emptyDoc.to(); REQUIRE(anotherObject.isNull() == false); @@ -136,7 +136,7 @@ TEST_CASE("MemberProxy::operator|()") { } TEST_CASE("MemberProxy::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("remove(int)") { @@ -183,7 +183,7 @@ TEST_CASE("MemberProxy::remove()") { } TEST_CASE("MemberProxy::set()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("set(int)") { @@ -208,7 +208,7 @@ TEST_CASE("MemberProxy::set()") { } TEST_CASE("MemberProxy::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("returns 0") { @@ -231,7 +231,7 @@ TEST_CASE("MemberProxy::size()") { } TEST_CASE("MemberProxy::memoryUsage()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("returns 0 when null") { @@ -245,7 +245,7 @@ TEST_CASE("MemberProxy::memoryUsage()") { } TEST_CASE("MemberProxy::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); MemberProxy mp = doc["hello"]; SECTION("set member") { @@ -262,7 +262,7 @@ TEST_CASE("MemberProxy::operator[]") { } TEST_CASE("MemberProxy cast to JsonVariantConst") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc["hello"] = "world"; const MemberProxy mp = doc["hello"]; @@ -273,7 +273,7 @@ TEST_CASE("MemberProxy cast to JsonVariantConst") { } TEST_CASE("MemberProxy cast to JsonVariant") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc["hello"] = "world"; MemberProxy mp = doc["hello"]; @@ -288,7 +288,7 @@ TEST_CASE("MemberProxy cast to JsonVariant") { } TEST_CASE("MemberProxy::createNestedArray()") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); JsonArray arr = doc["items"].createNestedArray(); arr.add(42); @@ -296,7 +296,7 @@ TEST_CASE("MemberProxy::createNestedArray()") { } TEST_CASE("MemberProxy::createNestedArray(key)") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); JsonArray arr = doc["weather"].createNestedArray("temp"); arr.add(42); @@ -304,7 +304,7 @@ TEST_CASE("MemberProxy::createNestedArray(key)") { } TEST_CASE("MemberProxy::createNestedObject()") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); JsonObject obj = doc["items"].createNestedObject(); obj["value"] = 42; @@ -312,7 +312,7 @@ TEST_CASE("MemberProxy::createNestedObject()") { } TEST_CASE("MemberProxy::createNestedObject(key)") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); JsonObject obj = doc["status"].createNestedObject("weather"); obj["temp"] = 42; @@ -320,7 +320,7 @@ TEST_CASE("MemberProxy::createNestedObject(key)") { } TEST_CASE("MemberProxy::shallowCopy()") { - DynamicJsonDocument doc1(1024), doc2(1024); + JsonDocument doc1(1024), doc2(1024); doc2["hello"] = "world"; doc1["obj"].shallowCopy(doc2); diff --git a/extras/tests/JsonDocument/add.cpp b/extras/tests/JsonDocument/add.cpp index 5843ac96..56aa0c53 100644 --- a/extras/tests/JsonDocument/add.cpp +++ b/extras/tests/JsonDocument/add.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::add()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("integer") { doc.add(42); diff --git a/extras/tests/JsonDocument/allocator.cpp b/extras/tests/JsonDocument/allocator.cpp index 7a61d91c..1093feb4 100644 --- a/extras/tests/JsonDocument/allocator.cpp +++ b/extras/tests/JsonDocument/allocator.cpp @@ -60,21 +60,21 @@ class ControllableAllocator : public Allocator { bool _enabled; }; -TEST_CASE("DynamicJsonDocument's allocator") { +TEST_CASE("JsonDocument's allocator") { SpyingAllocator spyingAllocator; ControllableAllocator controllableAllocator; SECTION("Construct/Destruct") { - { DynamicJsonDocument doc(4096, &spyingAllocator); } + { JsonDocument doc(4096, &spyingAllocator); } REQUIRE(spyingAllocator.log() == "A4096F"); } SECTION("Copy construct") { { - DynamicJsonDocument doc1(4096, &spyingAllocator); + JsonDocument doc1(4096, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(doc1); + JsonDocument doc2(doc1); REQUIRE(doc1.as() == "The size of this string is 32!!"); REQUIRE(doc2.as() == "The size of this string is 32!!"); @@ -85,10 +85,10 @@ TEST_CASE("DynamicJsonDocument's allocator") { SECTION("Move construct") { { - DynamicJsonDocument doc1(4096, &spyingAllocator); + JsonDocument doc1(4096, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(std::move(doc1)); + JsonDocument doc2(std::move(doc1)); REQUIRE(doc2.as() == "The size of this string is 32!!"); REQUIRE(doc1.as() == "null"); @@ -100,9 +100,9 @@ TEST_CASE("DynamicJsonDocument's allocator") { SECTION("Copy assign larger") { { - DynamicJsonDocument doc1(4096, &spyingAllocator); + JsonDocument doc1(4096, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(8, &spyingAllocator); + JsonDocument doc2(8, &spyingAllocator); doc2 = doc1; @@ -115,9 +115,9 @@ TEST_CASE("DynamicJsonDocument's allocator") { SECTION("Copy assign smaller") { { - DynamicJsonDocument doc1(1024, &spyingAllocator); + JsonDocument doc1(1024, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(4096, &spyingAllocator); + JsonDocument doc2(4096, &spyingAllocator); doc2 = doc1; @@ -130,9 +130,9 @@ TEST_CASE("DynamicJsonDocument's allocator") { SECTION("Copy assign same size") { { - DynamicJsonDocument doc1(1024, &spyingAllocator); + JsonDocument doc1(1024, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(1024, &spyingAllocator); + JsonDocument doc2(1024, &spyingAllocator); doc2 = doc1; @@ -145,9 +145,9 @@ TEST_CASE("DynamicJsonDocument's allocator") { SECTION("Move assign") { { - DynamicJsonDocument doc1(4096, &spyingAllocator); + JsonDocument doc1(4096, &spyingAllocator); doc1.set(std::string("The size of this string is 32!!")); - DynamicJsonDocument doc2(8, &spyingAllocator); + JsonDocument doc2(8, &spyingAllocator); doc2 = std::move(doc1); @@ -160,7 +160,7 @@ TEST_CASE("DynamicJsonDocument's allocator") { } SECTION("garbageCollect()") { - DynamicJsonDocument doc(4096, &controllableAllocator); + JsonDocument doc(4096, &controllableAllocator); SECTION("when allocation succeeds") { deserializeJson(doc, "{\"blanket\":1,\"dancing\":2}"); diff --git a/extras/tests/JsonDocument/cast.cpp b/extras/tests/JsonDocument/cast.cpp index 3b8905eb..1f9e45ec 100644 --- a/extras/tests/JsonDocument/cast.cpp +++ b/extras/tests/JsonDocument/cast.cpp @@ -8,7 +8,7 @@ #include TEST_CASE("Implicit cast to JsonVariant") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc["hello"] = "world"; diff --git a/extras/tests/JsonDocument/compare.cpp b/extras/tests/JsonDocument/compare.cpp index 1d3f2e2a..fad64c2e 100644 --- a/extras/tests/JsonDocument/compare.cpp +++ b/extras/tests/JsonDocument/compare.cpp @@ -5,9 +5,9 @@ #include #include -TEST_CASE("DynamicJsonDocument::operator==(const DynamicJsonDocument&)") { - DynamicJsonDocument doc1(4096); - DynamicJsonDocument doc2(4096); +TEST_CASE("JsonDocument::operator==(const JsonDocument&)") { + JsonDocument doc1(4096); + JsonDocument doc2(4096); SECTION("Empty") { REQUIRE(doc1 == doc2); @@ -27,29 +27,3 @@ TEST_CASE("DynamicJsonDocument::operator==(const DynamicJsonDocument&)") { REQUIRE(doc1 != doc2); } } - -TEST_CASE("JsonDocument::operator==(const JsonDocument&)") { - DynamicJsonDocument doc1(256); - DynamicJsonDocument doc2(256); - const JsonDocument& ref1 = doc1; - const JsonDocument& ref2 = doc2; - - SECTION("Empty") { - REQUIRE(ref1 == ref2); - REQUIRE_FALSE(ref1 != ref2); - } - - SECTION("With same object") { - doc1["hello"] = "world"; - doc2["hello"] = "world"; - REQUIRE(ref1 == ref2); - REQUIRE_FALSE(ref1 != ref2); - } - - SECTION("With different object") { - doc1["hello"] = "world"; - doc2["world"] = "hello"; - REQUIRE_FALSE(ref1 == ref2); - REQUIRE(ref1 != ref2); - } -} diff --git a/extras/tests/JsonDocument/containsKey.cpp b/extras/tests/JsonDocument/containsKey.cpp index 8274fc76..ef0452a8 100644 --- a/extras/tests/JsonDocument/containsKey.cpp +++ b/extras/tests/JsonDocument/containsKey.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::containsKey()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("returns true on object") { doc["hello"] = "world"; diff --git a/extras/tests/JsonDocument/createNested.cpp b/extras/tests/JsonDocument/createNested.cpp index 0c943575..2ee2b178 100644 --- a/extras/tests/JsonDocument/createNested.cpp +++ b/extras/tests/JsonDocument/createNested.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::createNestedArray()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("promotes to array") { doc.createNestedArray(); @@ -16,7 +16,7 @@ TEST_CASE("JsonDocument::createNestedArray()") { } TEST_CASE("JsonDocument::createNestedArray(key)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("key is const char*") { SECTION("promotes to object") { @@ -36,7 +36,7 @@ TEST_CASE("JsonDocument::createNestedArray(key)") { } TEST_CASE("JsonDocument::createNestedObject()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("promotes to array") { doc.createNestedObject(); @@ -46,7 +46,7 @@ TEST_CASE("JsonDocument::createNestedObject()") { } TEST_CASE("JsonDocument::createNestedObject(key)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("key is const char*") { SECTION("promotes to object") { diff --git a/extras/tests/JsonDocument/isNull.cpp b/extras/tests/JsonDocument/isNull.cpp index d5aaae02..b68557f0 100644 --- a/extras/tests/JsonDocument/isNull.cpp +++ b/extras/tests/JsonDocument/isNull.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::isNull()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("returns true if uninitialized") { REQUIRE(doc.isNull() == true); diff --git a/extras/tests/JsonDocument/issue1120.cpp b/extras/tests/JsonDocument/issue1120.cpp index 05c1e991..a6c28197 100644 --- a/extras/tests/JsonDocument/issue1120.cpp +++ b/extras/tests/JsonDocument/issue1120.cpp @@ -3,7 +3,7 @@ #include TEST_CASE("Issue #1120") { - DynamicJsonDocument doc(500); + JsonDocument doc(500); constexpr char str[] = "{\"contents\":[{\"module\":\"Packet\"},{\"module\":\"Analog\"}]}"; deserializeJson(doc, str); diff --git a/extras/tests/JsonDocument/nesting.cpp b/extras/tests/JsonDocument/nesting.cpp index 7ac7e768..5884fbb8 100644 --- a/extras/tests/JsonDocument/nesting.cpp +++ b/extras/tests/JsonDocument/nesting.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::nesting()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("return 0 if uninitialized") { REQUIRE(doc.nesting() == 0); diff --git a/extras/tests/JsonDocument/overflowed.cpp b/extras/tests/JsonDocument/overflowed.cpp index 6f1e1994..49cd7588 100644 --- a/extras/tests/JsonDocument/overflowed.cpp +++ b/extras/tests/JsonDocument/overflowed.cpp @@ -7,68 +7,68 @@ TEST_CASE("JsonDocument::overflowed()") { SECTION("returns false on a fresh object") { - DynamicJsonDocument doc(0); + JsonDocument doc(0); CHECK(doc.overflowed() == false); } SECTION("returns true after a failed insertion") { - DynamicJsonDocument doc(0); + JsonDocument doc(0); doc.add(0); CHECK(doc.overflowed() == true); } SECTION("returns false after successful insertion") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); doc.add(0); CHECK(doc.overflowed() == false); } SECTION("returns true after a failed string copy") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); doc.add(std::string("example")); CHECK(doc.overflowed() == true); } SECTION("returns false after a successful string copy") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1) + 8); + JsonDocument doc(JSON_ARRAY_SIZE(1) + 8); doc.add(std::string("example")); CHECK(doc.overflowed() == false); } SECTION("returns true after a failed member add") { - DynamicJsonDocument doc(1); + JsonDocument doc(1); doc["example"] = true; CHECK(doc.overflowed() == true); } SECTION("returns true after a failed deserialization") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); deserializeJson(doc, "[\"example\"]"); CHECK(doc.overflowed() == true); } SECTION("returns false after a successful deserialization") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1) + 8); + JsonDocument doc(JSON_ARRAY_SIZE(1) + 8); deserializeJson(doc, "[\"example\"]"); CHECK(doc.overflowed() == false); } SECTION("returns false after clear()") { - DynamicJsonDocument doc(0); + JsonDocument doc(0); doc.add(0); doc.clear(); CHECK(doc.overflowed() == false); } SECTION("remains false after shrinkToFit()") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); doc.add(0); doc.shrinkToFit(); CHECK(doc.overflowed() == false); } SECTION("remains true after shrinkToFit()") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); doc.add(0); doc.add(0); doc.shrinkToFit(); @@ -76,7 +76,7 @@ TEST_CASE("JsonDocument::overflowed()") { } SECTION("return false after garbageCollect()") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(1)); + JsonDocument doc(JSON_ARRAY_SIZE(1)); doc.add(0); doc.add(0); doc.garbageCollect(); diff --git a/extras/tests/JsonDocument/remove.cpp b/extras/tests/JsonDocument/remove.cpp index 724b324d..fcfc7553 100644 --- a/extras/tests/JsonDocument/remove.cpp +++ b/extras/tests/JsonDocument/remove.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("remove(int)") { doc.add(1); diff --git a/extras/tests/JsonDocument/shrinkToFit.cpp b/extras/tests/JsonDocument/shrinkToFit.cpp index d3ac7be5..d534ba01 100644 --- a/extras/tests/JsonDocument/shrinkToFit.cpp +++ b/extras/tests/JsonDocument/shrinkToFit.cpp @@ -43,7 +43,7 @@ class ArmoredAllocator : public Allocator { size_t _size; }; -void testShrinkToFit(DynamicJsonDocument& doc, std::string expected_json, +void testShrinkToFit(JsonDocument& doc, std::string expected_json, size_t expected_size) { // test twice: shrinkToFit() should be idempotent for (int i = 0; i < 2; i++) { @@ -58,9 +58,9 @@ void testShrinkToFit(DynamicJsonDocument& doc, std::string expected_json, } } -TEST_CASE("DynamicJsonDocument::shrinkToFit()") { +TEST_CASE("JsonDocument::shrinkToFit()") { ArmoredAllocator armoredAllocator; - DynamicJsonDocument doc(4096, &armoredAllocator); + JsonDocument doc(4096, &armoredAllocator); SECTION("null") { testShrinkToFit(doc, "null", 0); diff --git a/extras/tests/JsonDocument/size.cpp b/extras/tests/JsonDocument/size.cpp index b3205a14..affb0d97 100644 --- a/extras/tests/JsonDocument/size.cpp +++ b/extras/tests/JsonDocument/size.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("returns 0") { REQUIRE(doc.size() == 0); diff --git a/extras/tests/JsonDocument/subscript.cpp b/extras/tests/JsonDocument/subscript.cpp index f4186f85..49685f96 100644 --- a/extras/tests/JsonDocument/subscript.cpp +++ b/extras/tests/JsonDocument/subscript.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonDocument::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); const JsonDocument& cdoc = doc; SECTION("object") { @@ -37,7 +37,7 @@ TEST_CASE("JsonDocument::operator[]") { } TEST_CASE("JsonDocument automatically promotes to object") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc["one"]["two"]["three"] = 4; @@ -45,7 +45,7 @@ TEST_CASE("JsonDocument automatically promotes to object") { } TEST_CASE("JsonDocument automatically promotes to array") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc[2] = 2; diff --git a/extras/tests/JsonDocument/swap.cpp b/extras/tests/JsonDocument/swap.cpp index 60d672f8..86106bb5 100644 --- a/extras/tests/JsonDocument/swap.cpp +++ b/extras/tests/JsonDocument/swap.cpp @@ -7,13 +7,13 @@ using namespace std; TEST_CASE("std::swap") { - SECTION("DynamicJsonDocument*") { - DynamicJsonDocument *p1, *p2; + SECTION("JsonDocument*") { + JsonDocument *p1, *p2; swap(p1, p2); // issue #1678 } - SECTION("DynamicJsonDocument") { - DynamicJsonDocument doc1(0x10), doc2(0x20); + SECTION("JsonDocument") { + JsonDocument doc1(0x10), doc2(0x20); doc1.set("hello"); doc2.set("world"); diff --git a/extras/tests/JsonObject/clear.cpp b/extras/tests/JsonObject/clear.cpp index 7a738ef7..a207db65 100644 --- a/extras/tests/JsonObject/clear.cpp +++ b/extras/tests/JsonObject/clear.cpp @@ -14,7 +14,7 @@ TEST_CASE("JsonObject::clear()") { } SECTION("Removes all elements") { - DynamicJsonDocument doc(64); + JsonDocument doc(64); JsonObject obj = doc.to(); obj["hello"] = 1; obj["world"] = 2; diff --git a/extras/tests/JsonObject/compare.cpp b/extras/tests/JsonObject/compare.cpp index 84c09771..9497df91 100644 --- a/extras/tests/JsonObject/compare.cpp +++ b/extras/tests/JsonObject/compare.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("Compare JsonObject with JsonObject") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with unbound") { JsonObject object = doc.to(); @@ -82,7 +82,7 @@ TEST_CASE("Compare JsonObject with JsonObject") { } TEST_CASE("Compare JsonObject with JsonVariant") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with self") { JsonObject object = doc.to(); @@ -153,7 +153,7 @@ TEST_CASE("Compare JsonObject with JsonVariant") { } TEST_CASE("Compare JsonObject with JsonVariantConst") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with unbound") { JsonObject object = doc.to(); @@ -247,7 +247,7 @@ TEST_CASE("Compare JsonObject with JsonVariantConst") { } TEST_CASE("Compare JsonObject with JsonObjectConst") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with unbound") { JsonObject object = doc.to(); @@ -347,7 +347,7 @@ TEST_CASE("Compare JsonObject with JsonObjectConst") { } TEST_CASE("Compare JsonObjectConst with JsonObjectConst") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with unbound") { JsonObject object = doc.to(); @@ -430,7 +430,7 @@ TEST_CASE("Compare JsonObjectConst with JsonObjectConst") { } TEST_CASE("Compare JsonObjectConst with JsonVariant") { - DynamicJsonDocument doc(512); + JsonDocument doc(512); SECTION("Compare with self") { JsonObject object = doc.to(); diff --git a/extras/tests/JsonObject/containsKey.cpp b/extras/tests/JsonObject/containsKey.cpp index 85335a88..25c3d098 100644 --- a/extras/tests/JsonObject/containsKey.cpp +++ b/extras/tests/JsonObject/containsKey.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonObject::containsKey()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["hello"] = 42; diff --git a/extras/tests/JsonObject/copy.cpp b/extras/tests/JsonObject/copy.cpp index 77dee20d..5120df87 100644 --- a/extras/tests/JsonObject/copy.cpp +++ b/extras/tests/JsonObject/copy.cpp @@ -6,8 +6,8 @@ #include TEST_CASE("JsonObject::set()") { - DynamicJsonDocument doc1(4096); - DynamicJsonDocument doc2(4096); + JsonDocument doc1(4096); + JsonDocument doc2(4096); JsonObject obj1 = doc1.to(); JsonObject obj2 = doc2.to(); @@ -72,7 +72,7 @@ TEST_CASE("JsonObject::set()") { } SECTION("destination too small to store the key") { - DynamicJsonDocument doc3(JSON_OBJECT_SIZE(1)); + JsonDocument doc3(JSON_OBJECT_SIZE(1)); JsonObject obj3 = doc3.to(); obj1[std::string("hello")] = "world"; @@ -84,7 +84,7 @@ TEST_CASE("JsonObject::set()") { } SECTION("destination too small to store the value") { - DynamicJsonDocument doc3(JSON_OBJECT_SIZE(1)); + JsonDocument doc3(JSON_OBJECT_SIZE(1)); JsonObject obj3 = doc3.to(); obj1["hello"] = std::string("world"); diff --git a/extras/tests/JsonObject/createNestedArray.cpp b/extras/tests/JsonObject/createNestedArray.cpp index 26c1a860..1a3d76c9 100644 --- a/extras/tests/JsonObject/createNestedArray.cpp +++ b/extras/tests/JsonObject/createNestedArray.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonObject::createNestedArray()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("key is a const char*") { diff --git a/extras/tests/JsonObject/createNestedObject.cpp b/extras/tests/JsonObject/createNestedObject.cpp index 9ea067a7..6429572b 100644 --- a/extras/tests/JsonObject/createNestedObject.cpp +++ b/extras/tests/JsonObject/createNestedObject.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonObject::createNestedObject()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("key is a const char*") { diff --git a/extras/tests/JsonObject/equals.cpp b/extras/tests/JsonObject/equals.cpp index 02d451f9..bac93711 100644 --- a/extras/tests/JsonObject/equals.cpp +++ b/extras/tests/JsonObject/equals.cpp @@ -6,11 +6,11 @@ #include TEST_CASE("JsonObject::operator==()") { - DynamicJsonDocument doc1(4096); + JsonDocument doc1(4096); JsonObject obj1 = doc1.to(); JsonObjectConst obj1c = obj1; - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj2 = doc2.to(); JsonObjectConst obj2c = obj2; diff --git a/extras/tests/JsonObject/isNull.cpp b/extras/tests/JsonObject/isNull.cpp index 9fdff955..8af19b29 100644 --- a/extras/tests/JsonObject/isNull.cpp +++ b/extras/tests/JsonObject/isNull.cpp @@ -12,7 +12,7 @@ TEST_CASE("JsonObject::isNull()") { } SECTION("returns false") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); REQUIRE(obj.isNull() == false); } @@ -25,7 +25,7 @@ TEST_CASE("JsonObjectConst::isNull()") { } SECTION("returns false") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObjectConst obj = doc.to(); REQUIRE(obj.isNull() == false); } @@ -38,7 +38,7 @@ TEST_CASE("JsonObject::operator bool()") { } SECTION("returns true") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); REQUIRE(static_cast(obj) == true); } @@ -51,7 +51,7 @@ TEST_CASE("JsonObjectConst::operator bool()") { } SECTION("returns true") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObjectConst obj = doc.to(); REQUIRE(static_cast(obj) == true); } diff --git a/extras/tests/JsonObject/iterator.cpp b/extras/tests/JsonObject/iterator.cpp index dc34b9c0..86c8eab2 100644 --- a/extras/tests/JsonObject/iterator.cpp +++ b/extras/tests/JsonObject/iterator.cpp @@ -8,7 +8,7 @@ using namespace Catch::Matchers; TEST_CASE("JsonObject::begin()/end()") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); JsonObject obj = doc.to(); obj["ab"] = 12; obj["cd"] = 34; @@ -38,7 +38,7 @@ TEST_CASE("JsonObject::begin()/end()") { } TEST_CASE("JsonObjectConst::begin()/end()") { - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); JsonObject obj = doc.to(); obj["ab"] = 12; obj["cd"] = 34; diff --git a/extras/tests/JsonObject/memoryUsage.cpp b/extras/tests/JsonObject/memoryUsage.cpp index 406bcda4..58a9a015 100644 --- a/extras/tests/JsonObject/memoryUsage.cpp +++ b/extras/tests/JsonObject/memoryUsage.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonObject::memoryUsage()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("return 0 if uninitialized") { diff --git a/extras/tests/JsonObject/nesting.cpp b/extras/tests/JsonObject/nesting.cpp index 2ba98adf..97b360c4 100644 --- a/extras/tests/JsonObject/nesting.cpp +++ b/extras/tests/JsonObject/nesting.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonObject::nesting()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("return 0 if uninitialized") { diff --git a/extras/tests/JsonObject/remove.cpp b/extras/tests/JsonObject/remove.cpp index 1dbd4bd5..eda17992 100644 --- a/extras/tests/JsonObject/remove.cpp +++ b/extras/tests/JsonObject/remove.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonObject::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["a"] = 0; obj["b"] = 1; diff --git a/extras/tests/JsonObject/size.cpp b/extras/tests/JsonObject/size.cpp index d9c7bb78..2b084efa 100644 --- a/extras/tests/JsonObject/size.cpp +++ b/extras/tests/JsonObject/size.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonObject::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("initial size is zero") { diff --git a/extras/tests/JsonObject/std_string.cpp b/extras/tests/JsonObject/std_string.cpp index 8a93d3f0..e177725b 100644 --- a/extras/tests/JsonObject/std_string.cpp +++ b/extras/tests/JsonObject/std_string.cpp @@ -12,7 +12,7 @@ static void eraseString(std::string& str) { } TEST_CASE("std::string") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("operator[]") { char json[] = "{\"key\":\"value\"}"; diff --git a/extras/tests/JsonObject/subscript.cpp b/extras/tests/JsonObject/subscript.cpp index afc567a6..2aaffae4 100644 --- a/extras/tests/JsonObject/subscript.cpp +++ b/extras/tests/JsonObject/subscript.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonObject::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("int") { @@ -51,7 +51,7 @@ TEST_CASE("JsonObject::operator[]") { } SECTION("array") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr = doc2.to(); obj["hello"] = arr; @@ -62,7 +62,7 @@ TEST_CASE("JsonObject::operator[]") { } SECTION("object") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj2 = doc2.to(); obj["hello"] = obj2; @@ -73,7 +73,7 @@ TEST_CASE("JsonObject::operator[]") { } SECTION("array subscript") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray arr = doc2.to(); arr.add(42); @@ -83,7 +83,7 @@ TEST_CASE("JsonObject::operator[]") { } SECTION("object subscript") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj2 = doc2.to(); obj2["x"] = 42; diff --git a/extras/tests/JsonSerializer/CustomWriter.cpp b/extras/tests/JsonSerializer/CustomWriter.cpp index b6d8be72..02a5452d 100644 --- a/extras/tests/JsonSerializer/CustomWriter.cpp +++ b/extras/tests/JsonSerializer/CustomWriter.cpp @@ -30,7 +30,7 @@ class CustomWriter { }; TEST_CASE("CustomWriter") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); array.add(4); array.add(2); diff --git a/extras/tests/JsonSerializer/JsonArray.cpp b/extras/tests/JsonSerializer/JsonArray.cpp index 7ea6a086..f3333ec1 100644 --- a/extras/tests/JsonSerializer/JsonArray.cpp +++ b/extras/tests/JsonSerializer/JsonArray.cpp @@ -15,7 +15,7 @@ static void check(JsonArray array, std::string expected) { } TEST_CASE("serializeJson(JsonArray)") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(2)); + JsonDocument doc(JSON_ARRAY_SIZE(2)); JsonArray array = doc.to(); SECTION("Empty") { diff --git a/extras/tests/JsonSerializer/JsonArrayPretty.cpp b/extras/tests/JsonSerializer/JsonArrayPretty.cpp index 9abeb015..ddabc76a 100644 --- a/extras/tests/JsonSerializer/JsonArrayPretty.cpp +++ b/extras/tests/JsonSerializer/JsonArrayPretty.cpp @@ -15,7 +15,7 @@ static void checkArray(JsonArray array, std::string expected) { } TEST_CASE("serializeJsonPretty(JsonArray)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); SECTION("Empty") { diff --git a/extras/tests/JsonSerializer/JsonObject.cpp b/extras/tests/JsonSerializer/JsonObject.cpp index 9ba21141..b49c2703 100644 --- a/extras/tests/JsonSerializer/JsonObject.cpp +++ b/extras/tests/JsonSerializer/JsonObject.cpp @@ -20,7 +20,7 @@ static void checkObject(const JsonObject obj, const std::string& expected) { } TEST_CASE("serializeJson(JsonObject)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("EmptyObject") { @@ -96,8 +96,8 @@ TEST_CASE("serializeJson(JsonObject)") { } SECTION("ThreeNestedArrays") { - DynamicJsonDocument b(4096); - DynamicJsonDocument c(4096); + JsonDocument b(4096); + JsonDocument c(4096); obj.createNestedArray("a"); obj["b"] = b.to(); @@ -107,8 +107,8 @@ TEST_CASE("serializeJson(JsonObject)") { } SECTION("ThreeNestedObjects") { - DynamicJsonDocument b(4096); - DynamicJsonDocument c(4096); + JsonDocument b(4096); + JsonDocument c(4096); obj.createNestedObject("a"); obj["b"] = b.to(); diff --git a/extras/tests/JsonSerializer/JsonObjectPretty.cpp b/extras/tests/JsonSerializer/JsonObjectPretty.cpp index 4e8d113e..3319137a 100644 --- a/extras/tests/JsonSerializer/JsonObjectPretty.cpp +++ b/extras/tests/JsonSerializer/JsonObjectPretty.cpp @@ -19,7 +19,7 @@ static void checkObjectPretty(const JsonObject obj, } TEST_CASE("serializeJsonPretty(JsonObject)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); SECTION("EmptyObject") { diff --git a/extras/tests/JsonSerializer/JsonVariant.cpp b/extras/tests/JsonSerializer/JsonVariant.cpp index 81553d31..8c07269c 100644 --- a/extras/tests/JsonSerializer/JsonVariant.cpp +++ b/extras/tests/JsonSerializer/JsonVariant.cpp @@ -8,7 +8,7 @@ template void check(T value, const std::string& expected) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.to().set(value); char buffer[256] = ""; size_t returnValue = serializeJson(doc, buffer, sizeof(buffer)); diff --git a/extras/tests/JsonSerializer/misc.cpp b/extras/tests/JsonSerializer/misc.cpp index 59c09eba..a0b01af1 100644 --- a/extras/tests/JsonSerializer/misc.cpp +++ b/extras/tests/JsonSerializer/misc.cpp @@ -3,7 +3,7 @@ #include TEST_CASE("serializeJson(MemberProxy)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "{\"hello\":42}"); JsonObject obj = doc.as(); std::string result; @@ -14,7 +14,7 @@ TEST_CASE("serializeJson(MemberProxy)") { } TEST_CASE("serializeJson(ElementProxy)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "[42]"); JsonArray arr = doc.as(); std::string result; @@ -25,7 +25,7 @@ TEST_CASE("serializeJson(ElementProxy)") { } TEST_CASE("serializeJson(JsonVariantSubscript)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "[42]"); JsonVariant var = doc.as(); std::string result; diff --git a/extras/tests/JsonSerializer/std_stream.cpp b/extras/tests/JsonSerializer/std_stream.cpp index 411f4792..5fb6a25e 100644 --- a/extras/tests/JsonSerializer/std_stream.cpp +++ b/extras/tests/JsonSerializer/std_stream.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("operator<<(std::ostream)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); std::ostringstream os; SECTION("JsonVariant containing false") { diff --git a/extras/tests/JsonSerializer/std_string.cpp b/extras/tests/JsonSerializer/std_string.cpp index 559c327d..d819c8b5 100644 --- a/extras/tests/JsonSerializer/std_string.cpp +++ b/extras/tests/JsonSerializer/std_string.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("serialize JsonArray to std::string") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray array = doc.to(); array.add(4); array.add(2); @@ -27,7 +27,7 @@ TEST_CASE("serialize JsonArray to std::string") { } TEST_CASE("serialize JsonObject to std::string") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["key"] = "value"; @@ -47,7 +47,7 @@ TEST_CASE("serialize JsonObject to std::string") { } TEST_CASE("serialize an std::string containing a NUL") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); doc.set(std::string("hello\0world", 11)); CHECK(doc.memoryUsage() == 12); diff --git a/extras/tests/JsonVariant/add.cpp b/extras/tests/JsonVariant/add.cpp index 6907ae3e..bda1d617 100644 --- a/extras/tests/JsonVariant/add.cpp +++ b/extras/tests/JsonVariant/add.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::add()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("add integer to new variant") { diff --git a/extras/tests/JsonVariant/as.cpp b/extras/tests/JsonVariant/as.cpp index 01e263e9..0725d026 100644 --- a/extras/tests/JsonVariant/as.cpp +++ b/extras/tests/JsonVariant/as.cpp @@ -15,7 +15,7 @@ enum MY_ENUM { ONE = 1, TWO = 2 }; TEST_CASE("JsonVariant::as()") { static const char* null = 0; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("not set") { diff --git a/extras/tests/JsonVariant/clear.cpp b/extras/tests/JsonVariant/clear.cpp index d516ca6c..4be139f9 100644 --- a/extras/tests/JsonVariant/clear.cpp +++ b/extras/tests/JsonVariant/clear.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::clear()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("size goes back to zero") { diff --git a/extras/tests/JsonVariant/compare.cpp b/extras/tests/JsonVariant/compare.cpp index fe371a77..28c2e89e 100644 --- a/extras/tests/JsonVariant/compare.cpp +++ b/extras/tests/JsonVariant/compare.cpp @@ -9,7 +9,7 @@ // Here, we're just filling the holes TEST_CASE("Compare JsonVariant with value") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); JsonVariant a = doc.add(); SECTION("null vs (char*)0") { @@ -37,7 +37,7 @@ TEST_CASE("Compare JsonVariant with value") { } TEST_CASE("Compare JsonVariant with JsonVariant") { - DynamicJsonDocument doc(256); + JsonDocument doc(256); JsonVariant a = doc.add(); JsonVariant b = doc.add(); diff --git a/extras/tests/JsonVariant/containsKey.cpp b/extras/tests/JsonVariant/containsKey.cpp index d003d11d..4f10287b 100644 --- a/extras/tests/JsonVariant/containsKey.cpp +++ b/extras/tests/JsonVariant/containsKey.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::containsKey()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("containsKey(const char*)") { @@ -26,7 +26,7 @@ TEST_CASE("JsonVariant::containsKey()") { } TEST_CASE("JsonVariantConst::containsKey()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc["hello"] = "world"; JsonVariantConst cvar = doc.as(); diff --git a/extras/tests/JsonVariant/converters.cpp b/extras/tests/JsonVariant/converters.cpp index 4de066a0..409b2438 100644 --- a/extras/tests/JsonVariant/converters.cpp +++ b/extras/tests/JsonVariant/converters.cpp @@ -32,7 +32,7 @@ bool canConvertFromJson(JsonVariantConst src, const Date&) { } // namespace TEST_CASE("Custom converter with overloading") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("convert JSON to Date") { doc["date"]["day"] = 2; @@ -107,7 +107,7 @@ struct Converter { } // namespace ArduinoJson TEST_CASE("Custom converter with specialization") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("convert JSON to Complex") { doc["value"]["real"] = 2; diff --git a/extras/tests/JsonVariant/copy.cpp b/extras/tests/JsonVariant/copy.cpp index 0d96bf9f..57037ac8 100644 --- a/extras/tests/JsonVariant/copy.cpp +++ b/extras/tests/JsonVariant/copy.cpp @@ -6,8 +6,8 @@ #include TEST_CASE("JsonVariant::set(JsonVariant)") { - DynamicJsonDocument doc1(4096); - DynamicJsonDocument doc2(4096); + JsonDocument doc1(4096); + JsonDocument doc2(4096); JsonVariant var1 = doc1.to(); JsonVariant var2 = doc2.to(); diff --git a/extras/tests/JsonVariant/createNested.cpp b/extras/tests/JsonVariant/createNested.cpp index e3958231..0790be77 100644 --- a/extras/tests/JsonVariant/createNested.cpp +++ b/extras/tests/JsonVariant/createNested.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::createNestedObject()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("promotes to array") { @@ -21,7 +21,7 @@ TEST_CASE("JsonVariant::createNestedObject()") { } TEST_CASE("JsonVariant::createNestedArray()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("promotes to array") { @@ -33,7 +33,7 @@ TEST_CASE("JsonVariant::createNestedArray()") { } TEST_CASE("JsonVariant::createNestedObject(key)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("promotes to object") { @@ -46,7 +46,7 @@ TEST_CASE("JsonVariant::createNestedObject(key)") { } TEST_CASE("JsonVariant::createNestedArray(key)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("promotes to object") { diff --git a/extras/tests/JsonVariant/is.cpp b/extras/tests/JsonVariant/is.cpp index 6a414a42..7ba0c86e 100644 --- a/extras/tests/JsonVariant/is.cpp +++ b/extras/tests/JsonVariant/is.cpp @@ -8,7 +8,7 @@ enum MYENUM2 { ONE = 1, TWO = 2 }; TEST_CASE("JsonVariant::is()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("unbound") { @@ -164,7 +164,7 @@ TEST_CASE("JsonVariant::is()") { } TEST_CASE("JsonVariantConst::is()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); JsonVariantConst cvariant = variant; diff --git a/extras/tests/JsonVariant/isnull.cpp b/extras/tests/JsonVariant/isnull.cpp index fadf0d3b..c05535a0 100644 --- a/extras/tests/JsonVariant/isnull.cpp +++ b/extras/tests/JsonVariant/isnull.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::isNull()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("returns true when Undefined") { @@ -20,7 +20,7 @@ TEST_CASE("JsonVariant::isNull()") { } SECTION("returns false when EmptyArray") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonArray array = doc2.to(); variant.set(array); @@ -28,7 +28,7 @@ TEST_CASE("JsonVariant::isNull()") { } SECTION("returns false when EmptyObject") { - DynamicJsonDocument doc2(4096); + JsonDocument doc2(4096); JsonObject obj = doc2.to(); variant.set(obj); @@ -71,13 +71,13 @@ TEST_CASE("JsonVariant::isNull()") { } SECTION("returns true for a shallow null copy") { - DynamicJsonDocument doc2(128); + JsonDocument doc2(128); variant.shallowCopy(doc2); CHECK(variant.isNull() == true); } SECTION("returns false for a shallow array copy") { - DynamicJsonDocument doc2(128); + JsonDocument doc2(128); doc2[0] = 42; variant.shallowCopy(doc2); CHECK(variant.isNull() == false); diff --git a/extras/tests/JsonVariant/memoryUsage.cpp b/extras/tests/JsonVariant/memoryUsage.cpp index 808acb3a..800e832a 100644 --- a/extras/tests/JsonVariant/memoryUsage.cpp +++ b/extras/tests/JsonVariant/memoryUsage.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::memoryUsage()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("returns 0 if uninitialized") { diff --git a/extras/tests/JsonVariant/misc.cpp b/extras/tests/JsonVariant/misc.cpp index 7089f640..fbbb4b7b 100644 --- a/extras/tests/JsonVariant/misc.cpp +++ b/extras/tests/JsonVariant/misc.cpp @@ -18,7 +18,7 @@ TEST_CASE("JsonVariant from JsonArray") { } SECTION("JsonArray is not null") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); arr.add(12); arr.add(34); @@ -40,7 +40,7 @@ TEST_CASE("JsonVariant from JsonObject") { } SECTION("JsonObject is not null") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["a"] = 12; obj["b"] = 34; diff --git a/extras/tests/JsonVariant/nesting.cpp b/extras/tests/JsonVariant/nesting.cpp index 1028a283..ea791f64 100644 --- a/extras/tests/JsonVariant/nesting.cpp +++ b/extras/tests/JsonVariant/nesting.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::nesting()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("return 0 if uninitialized") { diff --git a/extras/tests/JsonVariant/nullptr.cpp b/extras/tests/JsonVariant/nullptr.cpp index e26d9306..ba829b92 100644 --- a/extras/tests/JsonVariant/nullptr.cpp +++ b/extras/tests/JsonVariant/nullptr.cpp @@ -3,7 +3,7 @@ #include TEST_CASE("nullptr") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("JsonVariant == nullptr") { diff --git a/extras/tests/JsonVariant/or.cpp b/extras/tests/JsonVariant/or.cpp index 01ec4701..55d40c31 100644 --- a/extras/tests/JsonVariant/or.cpp +++ b/extras/tests/JsonVariant/or.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::operator|()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc["value"].to(); SECTION("null") { diff --git a/extras/tests/JsonVariant/overflow.cpp b/extras/tests/JsonVariant/overflow.cpp index 1bbdf4f7..56e5fcae 100644 --- a/extras/tests/JsonVariant/overflow.cpp +++ b/extras/tests/JsonVariant/overflow.cpp @@ -7,7 +7,7 @@ template void shouldBeOk(TIn value) { - DynamicJsonDocument doc(1); + JsonDocument doc(1); JsonVariant var = doc.to(); var.set(value); REQUIRE(var.as() == TOut(value)); @@ -15,7 +15,7 @@ void shouldBeOk(TIn value) { template void shouldOverflow(TIn value) { - DynamicJsonDocument doc(1); + JsonDocument doc(1); JsonVariant var = doc.to(); var.set(value); REQUIRE(var.as() == 0); diff --git a/extras/tests/JsonVariant/remove.cpp b/extras/tests/JsonVariant/remove.cpp index 0835bf0e..493e69e2 100644 --- a/extras/tests/JsonVariant/remove.cpp +++ b/extras/tests/JsonVariant/remove.cpp @@ -7,7 +7,7 @@ #include TEST_CASE("JsonVariant::remove()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("remove(int)") { diff --git a/extras/tests/JsonVariant/set.cpp b/extras/tests/JsonVariant/set.cpp index 0fcfcb84..e48f6379 100644 --- a/extras/tests/JsonVariant/set.cpp +++ b/extras/tests/JsonVariant/set.cpp @@ -8,7 +8,7 @@ enum ErrorCode { ERROR_01 = 1, ERROR_10 = 10 }; TEST_CASE("JsonVariant::set() when there is enough memory") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("const char*") { @@ -128,7 +128,7 @@ TEST_CASE("JsonVariant::set() when there is enough memory") { } TEST_CASE("JsonVariant::set() with not enough memory") { - DynamicJsonDocument doc(1); + JsonDocument doc(1); JsonVariant v = doc.to(); @@ -155,11 +155,11 @@ TEST_CASE("JsonVariant::set() with not enough memory") { } } -TEST_CASE("JsonVariant::set(DynamicJsonDocument)") { - DynamicJsonDocument doc1(1024); +TEST_CASE("JsonVariant::set(JsonDocument)") { + JsonDocument doc1(1024); doc1["hello"] = "world"; - DynamicJsonDocument doc2(1024); + JsonDocument doc2(1024); JsonVariant v = doc2.to(); // Should copy the doc diff --git a/extras/tests/JsonVariant/shallowCopy.cpp b/extras/tests/JsonVariant/shallowCopy.cpp index a39b20be..a45ecf39 100644 --- a/extras/tests/JsonVariant/shallowCopy.cpp +++ b/extras/tests/JsonVariant/shallowCopy.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::shallowCopy()") { - DynamicJsonDocument doc1(1024), doc2(1024); + JsonDocument doc1(1024), doc2(1024); JsonVariant variant = doc1.to(); SECTION("JsonVariant::shallowCopy(JsonDocument&)") { diff --git a/extras/tests/JsonVariant/size.cpp b/extras/tests/JsonVariant/size.cpp index 3a4ec467..64c282b2 100644 --- a/extras/tests/JsonVariant/size.cpp +++ b/extras/tests/JsonVariant/size.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::size()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("unbound reference") { diff --git a/extras/tests/JsonVariant/stl_containers.cpp b/extras/tests/JsonVariant/stl_containers.cpp index c103ba24..1bf67503 100644 --- a/extras/tests/JsonVariant/stl_containers.cpp +++ b/extras/tests/JsonVariant/stl_containers.cpp @@ -69,13 +69,13 @@ TEST_CASE("vector") { SECTION("toJson") { std::vector v = {1, 2}; - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc.set(v); REQUIRE(doc.as() == "[1,2]"); } SECTION("fromJson") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc.add(1); doc.add(2); @@ -86,7 +86,7 @@ TEST_CASE("vector") { } SECTION("checkJson") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); CHECK(doc.is>() == false); doc.add(1); @@ -106,13 +106,13 @@ TEST_CASE("array") { v[0] = 1; v[1] = 2; - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc.set(v); REQUIRE(doc.as() == "[1,2]"); } SECTION("fromJson") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc.add(1); doc.add(2); @@ -123,7 +123,7 @@ TEST_CASE("array") { } SECTION("checkJson") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); CHECK(doc.is() == false); doc.add(1); diff --git a/extras/tests/JsonVariant/subscript.cpp b/extras/tests/JsonVariant/subscript.cpp index 93f759b8..f0396371 100644 --- a/extras/tests/JsonVariant/subscript.cpp +++ b/extras/tests/JsonVariant/subscript.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("JsonVariant::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); SECTION("The JsonVariant is null") { @@ -132,7 +132,7 @@ TEST_CASE("JsonVariant::operator[]") { } TEST_CASE("JsonVariantConst::operator[]") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant var = doc.to(); JsonVariantConst cvar = var; diff --git a/extras/tests/JsonVariant/types.cpp b/extras/tests/JsonVariant/types.cpp index 42242991..852a9bba 100644 --- a/extras/tests/JsonVariant/types.cpp +++ b/extras/tests/JsonVariant/types.cpp @@ -9,7 +9,7 @@ template void checkValue(T expected) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); variant.set(expected); @@ -24,7 +24,7 @@ void checkReference(T& expected) { template void checkNumericType() { - DynamicJsonDocument docMin(4096), docMax(4096); + JsonDocument docMin(4096), docMax(4096); JsonVariant variantMin = docMin.to(); JsonVariant variantMax = docMax.to(); @@ -129,7 +129,7 @@ TEST_CASE("JsonVariant set()/get()") { #endif SECTION("CanStoreObject") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject object = doc.to(); checkValue(object); @@ -137,7 +137,7 @@ TEST_CASE("JsonVariant set()/get()") { } TEST_CASE("volatile") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); SECTION("volatile int") { diff --git a/extras/tests/Misc/StringWriter.cpp b/extras/tests/Misc/StringWriter.cpp index 25958582..32b8b936 100644 --- a/extras/tests/Misc/StringWriter.cpp +++ b/extras/tests/Misc/StringWriter.cpp @@ -136,7 +136,7 @@ TEST_CASE("Writer") { } TEST_CASE("serializeJson(doc, String)") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); doc["hello"] = "world"; ::String output; diff --git a/extras/tests/Misc/TypeTraits.cpp b/extras/tests/Misc/TypeTraits.cpp index 4d93c595..f0767d69 100644 --- a/extras/tests/Misc/TypeTraits.cpp +++ b/extras/tests/Misc/TypeTraits.cpp @@ -193,7 +193,7 @@ TEST_CASE("Polyfills/type_traits") { CHECK(is_convertible, JsonVariantConst>::value == true); CHECK(is_convertible::value == true); - CHECK(is_convertible::value == true); + CHECK(is_convertible::value == true); } SECTION("is_class") { diff --git a/extras/tests/Misc/printable.cpp b/extras/tests/Misc/printable.cpp index d79eebf7..82c884c8 100644 --- a/extras/tests/Misc/printable.cpp +++ b/extras/tests/Misc/printable.cpp @@ -48,7 +48,7 @@ struct PrintableString : public Printable { TEST_CASE("Printable") { SECTION("Doesn't overflow") { - DynamicJsonDocument doc(8); + JsonDocument doc(8); const char* value = "example"; // == 7 chars doc.set(666); // to make sure we override the value @@ -75,7 +75,7 @@ TEST_CASE("Printable") { } SECTION("Overflows early") { - DynamicJsonDocument doc(8); + JsonDocument doc(8); const char* value = "hello world"; // > 8 chars doc.set(666); // to make sure we override the value @@ -100,7 +100,7 @@ TEST_CASE("Printable") { } SECTION("Overflows adding terminator") { - DynamicJsonDocument doc(8); + JsonDocument doc(8); const char* value = "overflow"; // == 8 chars doc.set(666); // to make sure we override the value @@ -133,7 +133,7 @@ TEST_CASE("Printable") { } SECTION("String deduplication") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); doc.add(PrintableString("Hello World!")); doc.add(PrintableString("Hello World!")); REQUIRE(doc.size() == 2); diff --git a/extras/tests/Misc/unsigned_char.cpp b/extras/tests/Misc/unsigned_char.cpp index 5090096a..8f7d86d6 100644 --- a/extras/tests/Misc/unsigned_char.cpp +++ b/extras/tests/Misc/unsigned_char.cpp @@ -13,7 +13,7 @@ TEST_CASE("unsigned char[]") { SECTION("deserializeJson()") { unsigned char input[] = "{\"a\":42}"; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1)); + JsonDocument doc(JSON_OBJECT_SIZE(1)); DeserializationError err = deserializeJson(doc, input); REQUIRE(err == DeserializationError::Ok); @@ -22,7 +22,7 @@ TEST_CASE("unsigned char[]") { SECTION("deserializeMsgPack()") { unsigned char input[] = "\xDE\x00\x01\xA5Hello\xA5world"; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); DeserializationError err = deserializeMsgPack(doc, input); REQUIRE(err == DeserializationError::Ok); @@ -30,7 +30,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeMsgPack(unsigned char[])") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeMsgPack(doc, buffer); @@ -41,7 +41,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeMsgPack(unsigned char*)") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeMsgPack(doc, buffer, sizeof(buffer)); @@ -52,7 +52,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeJson(unsigned char[])") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeJson(doc, buffer); @@ -63,7 +63,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeJson(unsigned char*)") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeJson(doc, buffer, sizeof(buffer)); @@ -74,7 +74,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeJsonPretty(unsigned char[])") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeJsonPretty(doc, buffer); @@ -84,7 +84,7 @@ TEST_CASE("unsigned char[]") { SECTION("serializeJsonPretty(unsigned char*)") { unsigned char buffer[32]; - DynamicJsonDocument doc(JSON_OBJECT_SIZE(2)); + JsonDocument doc(JSON_OBJECT_SIZE(2)); doc["hello"] = "world"; size_t n = serializeJsonPretty(doc, buffer, sizeof(buffer)); @@ -93,7 +93,7 @@ TEST_CASE("unsigned char[]") { } SECTION("JsonVariant") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("set") { unsigned char value[] = "42"; @@ -156,7 +156,7 @@ TEST_CASE("unsigned char[]") { SECTION("operator[]") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj[key] = "world"; @@ -166,7 +166,7 @@ TEST_CASE("unsigned char[]") { SECTION("JsonObject::operator[] const") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "{\"hello\":\"world\"}"); JsonObject obj = doc.as(); @@ -177,7 +177,7 @@ TEST_CASE("unsigned char[]") { SECTION("containsKey()") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "{\"hello\":\"world\"}"); JsonObject obj = doc.as(); REQUIRE(true == obj.containsKey(key)); @@ -186,7 +186,7 @@ TEST_CASE("unsigned char[]") { SECTION("remove()") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "{\"hello\":\"world\"}"); JsonObject obj = doc.as(); obj.remove(key); @@ -197,7 +197,7 @@ TEST_CASE("unsigned char[]") { SECTION("createNestedArray()") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj.createNestedArray(key); } @@ -205,7 +205,7 @@ TEST_CASE("unsigned char[]") { SECTION("createNestedObject()") { unsigned char key[] = "hello"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj.createNestedObject(key); } @@ -215,7 +215,7 @@ TEST_CASE("unsigned char[]") { SECTION("operator=") { // issue #416 unsigned char value[] = "world"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["hello"] = value; @@ -225,7 +225,7 @@ TEST_CASE("unsigned char[]") { SECTION("set()") { unsigned char value[] = "world"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject obj = doc.to(); obj["hello"].set(value); @@ -237,7 +237,7 @@ TEST_CASE("unsigned char[]") { SECTION("add()") { unsigned char value[] = "world"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); arr.add(value); @@ -249,7 +249,7 @@ TEST_CASE("unsigned char[]") { SECTION("set()") { unsigned char value[] = "world"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); arr.add("hello"); arr[0].set(value); @@ -260,7 +260,7 @@ TEST_CASE("unsigned char[]") { SECTION("operator=") { unsigned char value[] = "world"; - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonArray arr = doc.to(); arr.add("hello"); arr[0] = value; diff --git a/extras/tests/MixedConfiguration/decode_unicode_0.cpp b/extras/tests/MixedConfiguration/decode_unicode_0.cpp index b5dc1f17..79dff54e 100644 --- a/extras/tests/MixedConfiguration/decode_unicode_0.cpp +++ b/extras/tests/MixedConfiguration/decode_unicode_0.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_DECODE_UNICODE == 0") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); DeserializationError err = deserializeJson(doc, "\"\\uD834\\uDD1E\""); REQUIRE(err == DeserializationError::Ok); diff --git a/extras/tests/MixedConfiguration/decode_unicode_1.cpp b/extras/tests/MixedConfiguration/decode_unicode_1.cpp index 2b5b6523..74cf8981 100644 --- a/extras/tests/MixedConfiguration/decode_unicode_1.cpp +++ b/extras/tests/MixedConfiguration/decode_unicode_1.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_DECODE_UNICODE == 1") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); DeserializationError err = deserializeJson(doc, "\"\\uD834\\uDD1E\""); REQUIRE(err == DeserializationError::Ok); diff --git a/extras/tests/MixedConfiguration/enable_comments_0.cpp b/extras/tests/MixedConfiguration/enable_comments_0.cpp index a3ada5ea..8ccc60a0 100644 --- a/extras/tests/MixedConfiguration/enable_comments_0.cpp +++ b/extras/tests/MixedConfiguration/enable_comments_0.cpp @@ -8,7 +8,7 @@ #include TEST_CASE("Comments should produce InvalidInput") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); const char* testCases[] = { "/*COMMENT*/ [\"hello\"]", diff --git a/extras/tests/MixedConfiguration/enable_comments_1.cpp b/extras/tests/MixedConfiguration/enable_comments_1.cpp index 5e0831c5..1fac3b01 100644 --- a/extras/tests/MixedConfiguration/enable_comments_1.cpp +++ b/extras/tests/MixedConfiguration/enable_comments_1.cpp @@ -8,7 +8,7 @@ #include TEST_CASE("Comments in arrays") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); SECTION("Block comments") { SECTION("Before opening bracket") { @@ -161,7 +161,7 @@ TEST_CASE("Comments in arrays") { } TEST_CASE("Comments in objects") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); SECTION("Block comments") { SECTION("Before opening brace") { @@ -371,7 +371,7 @@ TEST_CASE("Comments in objects") { } TEST_CASE("Comments alone") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); SECTION("Just a trailing comment with no line break") { DeserializationError err = deserializeJson(doc, "// comment"); diff --git a/extras/tests/MixedConfiguration/enable_infinity_0.cpp b/extras/tests/MixedConfiguration/enable_infinity_0.cpp index 521fb847..618db830 100644 --- a/extras/tests/MixedConfiguration/enable_infinity_0.cpp +++ b/extras/tests/MixedConfiguration/enable_infinity_0.cpp @@ -5,7 +5,7 @@ #include static void assertParseFails(const char* json) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError err = deserializeJson(doc, json); REQUIRE(err == DeserializationError::InvalidInput); @@ -20,7 +20,7 @@ static void assertJsonEquals(const JsonDocument& doc, TEST_CASE("ARDUINOJSON_ENABLE_INFINITY == 0") { SECTION("serializeJson()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.add(std::numeric_limits::infinity()); doc.add(-std::numeric_limits::infinity()); diff --git a/extras/tests/MixedConfiguration/enable_infinity_1.cpp b/extras/tests/MixedConfiguration/enable_infinity_1.cpp index 28a3461f..6322697f 100644 --- a/extras/tests/MixedConfiguration/enable_infinity_1.cpp +++ b/extras/tests/MixedConfiguration/enable_infinity_1.cpp @@ -9,7 +9,7 @@ using ArduinoJson::detail::isinf; } // namespace my TEST_CASE("ARDUINOJSON_ENABLE_INFINITY == 1") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("serializeJson()") { doc.add(std::numeric_limits::infinity()); diff --git a/extras/tests/MixedConfiguration/enable_nan_0.cpp b/extras/tests/MixedConfiguration/enable_nan_0.cpp index e015a0db..26a8d4f5 100644 --- a/extras/tests/MixedConfiguration/enable_nan_0.cpp +++ b/extras/tests/MixedConfiguration/enable_nan_0.cpp @@ -5,7 +5,7 @@ #include TEST_CASE("ARDUINOJSON_ENABLE_NAN == 0") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject root = doc.to(); SECTION("serializeJson()") { diff --git a/extras/tests/MixedConfiguration/enable_nan_1.cpp b/extras/tests/MixedConfiguration/enable_nan_1.cpp index f9ae04a6..4968370b 100644 --- a/extras/tests/MixedConfiguration/enable_nan_1.cpp +++ b/extras/tests/MixedConfiguration/enable_nan_1.cpp @@ -9,7 +9,7 @@ using ArduinoJson::detail::isnan; } // namespace my TEST_CASE("ARDUINOJSON_ENABLE_NAN == 1") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject root = doc.to(); SECTION("serializeJson()") { diff --git a/extras/tests/MixedConfiguration/enable_progmem_1.cpp b/extras/tests/MixedConfiguration/enable_progmem_1.cpp index 92a3cbf1..303dcb9e 100644 --- a/extras/tests/MixedConfiguration/enable_progmem_1.cpp +++ b/extras/tests/MixedConfiguration/enable_progmem_1.cpp @@ -10,7 +10,7 @@ #include TEST_CASE("Flash strings") { - DynamicJsonDocument doc(2048); + JsonDocument doc(2048); SECTION("deserializeJson()") { DeserializationError err = deserializeJson(doc, F("{'hello':'world'}")); diff --git a/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp b/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp index 9463a8e2..e76c0bac 100644 --- a/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp +++ b/extras/tests/MixedConfiguration/enable_string_deduplication_0.cpp @@ -12,7 +12,7 @@ #include TEST_CASE("ARDUINOJSON_ENABLE_STRING_DEDUPLICATION = 0") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); SECTION("deserializeJson()") { SECTION("Deduplicate values") { diff --git a/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp b/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp index afd2364d..272d9ef7 100644 --- a/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp +++ b/extras/tests/MixedConfiguration/enable_string_deduplication_1.cpp @@ -12,7 +12,7 @@ #include TEST_CASE("ARDUINOJSON_ENABLE_STRING_DEDUPLICATION = 1") { - DynamicJsonDocument doc(1024); + JsonDocument doc(1024); SECTION("deserializeJson()") { SECTION("Deduplicate values") { diff --git a/extras/tests/MixedConfiguration/issue1707.cpp b/extras/tests/MixedConfiguration/issue1707.cpp index 1e4af9b2..71fbd01f 100644 --- a/extras/tests/MixedConfiguration/issue1707.cpp +++ b/extras/tests/MixedConfiguration/issue1707.cpp @@ -12,7 +12,7 @@ #include TEST_CASE("Issue1707") { - DynamicJsonDocument doc(128); + JsonDocument doc(128); DeserializationError err = deserializeJson(doc, F("{\"hello\":12}")); REQUIRE(err == DeserializationError::Ok); diff --git a/extras/tests/MixedConfiguration/use_double_0.cpp b/extras/tests/MixedConfiguration/use_double_0.cpp index f38ee1f5..c2378953 100644 --- a/extras/tests/MixedConfiguration/use_double_0.cpp +++ b/extras/tests/MixedConfiguration/use_double_0.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_USE_DOUBLE == 0") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject root = doc.to(); root["pi"] = 3.14; diff --git a/extras/tests/MixedConfiguration/use_double_1.cpp b/extras/tests/MixedConfiguration/use_double_1.cpp index ff4a0e35..5eb02584 100644 --- a/extras/tests/MixedConfiguration/use_double_1.cpp +++ b/extras/tests/MixedConfiguration/use_double_1.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_USE_DOUBLE == 1") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject root = doc.to(); root["pi"] = 3.14; diff --git a/extras/tests/MixedConfiguration/use_long_long_0.cpp b/extras/tests/MixedConfiguration/use_long_long_0.cpp index f467aabd..a5f57005 100644 --- a/extras/tests/MixedConfiguration/use_long_long_0.cpp +++ b/extras/tests/MixedConfiguration/use_long_long_0.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_USE_LONG_LONG == 0") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc["A"] = 42; doc["B"] = 84; diff --git a/extras/tests/MixedConfiguration/use_long_long_1.cpp b/extras/tests/MixedConfiguration/use_long_long_1.cpp index 5127a55a..b43df5d7 100644 --- a/extras/tests/MixedConfiguration/use_long_long_1.cpp +++ b/extras/tests/MixedConfiguration/use_long_long_1.cpp @@ -4,7 +4,7 @@ #include TEST_CASE("ARDUINOJSON_USE_LONG_LONG == 1") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject root = doc.to(); root["A"] = 123456789123456789; diff --git a/extras/tests/MsgPackDeserializer/deserializeArray.cpp b/extras/tests/MsgPackDeserializer/deserializeArray.cpp index 356a9fe4..4807eee7 100644 --- a/extras/tests/MsgPackDeserializer/deserializeArray.cpp +++ b/extras/tests/MsgPackDeserializer/deserializeArray.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("deserialize MsgPack array") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("fixarray") { SECTION("empty") { diff --git a/extras/tests/MsgPackDeserializer/deserializeObject.cpp b/extras/tests/MsgPackDeserializer/deserializeObject.cpp index 4aeb5532..f126ceb5 100644 --- a/extras/tests/MsgPackDeserializer/deserializeObject.cpp +++ b/extras/tests/MsgPackDeserializer/deserializeObject.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("deserialize MsgPack object") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("fixmap") { SECTION("empty") { diff --git a/extras/tests/MsgPackDeserializer/deserializeVariant.cpp b/extras/tests/MsgPackDeserializer/deserializeVariant.cpp index 1473ddba..d1766c98 100644 --- a/extras/tests/MsgPackDeserializer/deserializeVariant.cpp +++ b/extras/tests/MsgPackDeserializer/deserializeVariant.cpp @@ -7,7 +7,7 @@ template static void checkValue(const char* input, T expected) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeMsgPack(doc, input); @@ -18,7 +18,7 @@ static void checkValue(const char* input, T expected) { static void checkError(size_t capacity, const char* input, DeserializationError expected) { - DynamicJsonDocument doc(capacity); + JsonDocument doc(capacity); DeserializationError error = deserializeMsgPack(doc, input); diff --git a/extras/tests/MsgPackDeserializer/filter.cpp b/extras/tests/MsgPackDeserializer/filter.cpp index f84c3c3e..a558959d 100644 --- a/extras/tests/MsgPackDeserializer/filter.cpp +++ b/extras/tests/MsgPackDeserializer/filter.cpp @@ -10,10 +10,10 @@ using namespace ArduinoJson::detail; TEST_CASE("deserializeMsgPack() filter") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error; - DynamicJsonDocument filter(200); + JsonDocument filter(200); DeserializationOption::Filter filterOpt(filter); SECTION("root is fixmap") { @@ -1032,10 +1032,10 @@ TEST_CASE("deserializeMsgPack() filter") { TEST_CASE("Zero-copy mode") { // issue #1697 char input[] = "\x82\xA7include\x01\xA6ignore\x02"; - DynamicJsonDocument filter(256); + JsonDocument filter(256); filter["include"] = true; - DynamicJsonDocument doc(256); + JsonDocument doc(256); DeserializationError err = deserializeMsgPack(doc, input, 18, DeserializationOption::Filter(filter)); @@ -1044,8 +1044,8 @@ TEST_CASE("Zero-copy mode") { // issue #1697 } TEST_CASE("Overloads") { - DynamicJsonDocument doc(256); - DynamicJsonDocument filter(256); + JsonDocument doc(256); + JsonDocument filter(256); using namespace DeserializationOption; diff --git a/extras/tests/MsgPackDeserializer/incompleteInput.cpp b/extras/tests/MsgPackDeserializer/incompleteInput.cpp index 6a563882..d94b60a2 100644 --- a/extras/tests/MsgPackDeserializer/incompleteInput.cpp +++ b/extras/tests/MsgPackDeserializer/incompleteInput.cpp @@ -6,7 +6,7 @@ #include DeserializationError deserialize(const char* input, size_t len) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); return deserializeMsgPack(doc, input, len); } diff --git a/extras/tests/MsgPackDeserializer/input_types.cpp b/extras/tests/MsgPackDeserializer/input_types.cpp index c8284781..8cdd5320 100644 --- a/extras/tests/MsgPackDeserializer/input_types.cpp +++ b/extras/tests/MsgPackDeserializer/input_types.cpp @@ -8,7 +8,7 @@ #include "CustomReader.hpp" TEST_CASE("deserializeMsgPack(const std::string&)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("should accept const string") { const std::string input("\x92\x01\x02"); @@ -48,7 +48,7 @@ TEST_CASE("deserializeMsgPack(const std::string&)") { } TEST_CASE("deserializeMsgPack(std::istream&)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("should accept a zero in input") { std::istringstream input(std::string("\x92\x00\x02", 3)); @@ -76,7 +76,7 @@ TEST_CASE("deserializeMsgPack(VLA)") { char vla[i]; memcpy(vla, "\xDE\x00\x01\xA5Hello\xA5world", 15); - DynamicJsonDocument doc(JSON_OBJECT_SIZE(1)); + JsonDocument doc(JSON_OBJECT_SIZE(1)); DeserializationError err = deserializeMsgPack(doc, vla); REQUIRE(err == DeserializationError::Ok); @@ -84,7 +84,7 @@ TEST_CASE("deserializeMsgPack(VLA)") { #endif TEST_CASE("deserializeMsgPack(CustomReader)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); CustomReader reader("\x92\xA5Hello\xA5world"); DeserializationError err = deserializeMsgPack(doc, reader); diff --git a/extras/tests/MsgPackDeserializer/misc.cpp b/extras/tests/MsgPackDeserializer/misc.cpp index 33334e73..05c9c98e 100644 --- a/extras/tests/MsgPackDeserializer/misc.cpp +++ b/extras/tests/MsgPackDeserializer/misc.cpp @@ -8,7 +8,7 @@ #include TEST_CASE("deserializeMsgPack() returns EmptyInput") { - DynamicJsonDocument doc(100); + JsonDocument doc(100); SECTION("from sized buffer") { DeserializationError err = deserializeMsgPack(doc, "", 0); diff --git a/extras/tests/MsgPackDeserializer/nestingLimit.cpp b/extras/tests/MsgPackDeserializer/nestingLimit.cpp index 2936415a..78ce9b9e 100644 --- a/extras/tests/MsgPackDeserializer/nestingLimit.cpp +++ b/extras/tests/MsgPackDeserializer/nestingLimit.cpp @@ -12,7 +12,7 @@ REQUIRE(DeserializationError::TooDeep == expression); TEST_CASE("JsonDeserializer nesting") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); SECTION("Input = const char*") { SECTION("limit = 0") { diff --git a/extras/tests/MsgPackDeserializer/notSupported.cpp b/extras/tests/MsgPackDeserializer/notSupported.cpp index 2be0f1ec..08b952bc 100644 --- a/extras/tests/MsgPackDeserializer/notSupported.cpp +++ b/extras/tests/MsgPackDeserializer/notSupported.cpp @@ -7,7 +7,7 @@ static void checkMsgPackDocument(const char* input, size_t inputSize, const char* expectedJson) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeMsgPack(doc, input, inputSize); @@ -19,7 +19,7 @@ static void checkMsgPackDocument(const char* input, size_t inputSize, static void checkMsgPackError(const char* input, size_t inputSize, DeserializationError expectedError) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); DeserializationError error = deserializeMsgPack(doc, input, inputSize); diff --git a/extras/tests/MsgPackSerializer/destination_types.cpp b/extras/tests/MsgPackSerializer/destination_types.cpp index 8b0dffa0..bd551ca7 100644 --- a/extras/tests/MsgPackSerializer/destination_types.cpp +++ b/extras/tests/MsgPackSerializer/destination_types.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("serialize MsgPack to various destination types") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject object = doc.to(); object["hello"] = "world"; const char* expected_result = "\x81\xA5hello\xA5world"; diff --git a/extras/tests/MsgPackSerializer/measure.cpp b/extras/tests/MsgPackSerializer/measure.cpp index a6a4fc9d..a99c8dd5 100644 --- a/extras/tests/MsgPackSerializer/measure.cpp +++ b/extras/tests/MsgPackSerializer/measure.cpp @@ -6,7 +6,7 @@ #include TEST_CASE("measureMsgPack()") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject object = doc.to(); object["hello"] = "world"; diff --git a/extras/tests/MsgPackSerializer/misc.cpp b/extras/tests/MsgPackSerializer/misc.cpp index 4753dbf4..9d1df91a 100644 --- a/extras/tests/MsgPackSerializer/misc.cpp +++ b/extras/tests/MsgPackSerializer/misc.cpp @@ -4,7 +4,7 @@ template void check(T value, const std::string& expected) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); doc.to().set(value); char buffer[256] = ""; size_t returnValue = serializeMsgPack(doc, buffer, sizeof(buffer)); @@ -13,7 +13,7 @@ void check(T value, const std::string& expected) { } TEST_CASE("serializeMsgPack(MemberProxy)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "{\"hello\":42}"); JsonObject obj = doc.as(); std::string result; @@ -24,7 +24,7 @@ TEST_CASE("serializeMsgPack(MemberProxy)") { } TEST_CASE("serializeMsgPack(ElementProxy)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "[42]"); JsonArray arr = doc.as(); std::string result; @@ -35,7 +35,7 @@ TEST_CASE("serializeMsgPack(ElementProxy)") { } TEST_CASE("serializeMsgPack(JsonVariantSubscript)") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); deserializeJson(doc, "[42]"); JsonVariant var = doc.as(); std::string result; diff --git a/extras/tests/MsgPackSerializer/serializeArray.cpp b/extras/tests/MsgPackSerializer/serializeArray.cpp index a8ec639c..c6ce923e 100644 --- a/extras/tests/MsgPackSerializer/serializeArray.cpp +++ b/extras/tests/MsgPackSerializer/serializeArray.cpp @@ -26,7 +26,7 @@ static void check(const JsonArray array, const std::string& expected) { } TEST_CASE("serialize MsgPack array") { - DynamicJsonDocument doc(JSON_ARRAY_SIZE(65536)); + JsonDocument doc(JSON_ARRAY_SIZE(65536)); JsonArray array = doc.to(); SECTION("empty") { diff --git a/extras/tests/MsgPackSerializer/serializeObject.cpp b/extras/tests/MsgPackSerializer/serializeObject.cpp index 88173074..65acf057 100644 --- a/extras/tests/MsgPackSerializer/serializeObject.cpp +++ b/extras/tests/MsgPackSerializer/serializeObject.cpp @@ -28,7 +28,7 @@ static void check(const JsonObject object, const char (&expected_data)[N]) { //} TEST_CASE("serialize MsgPack object") { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonObject object = doc.to(); SECTION("empty") { diff --git a/extras/tests/MsgPackSerializer/serializeVariant.cpp b/extras/tests/MsgPackSerializer/serializeVariant.cpp index b8a021f9..1fafe3d0 100644 --- a/extras/tests/MsgPackSerializer/serializeVariant.cpp +++ b/extras/tests/MsgPackSerializer/serializeVariant.cpp @@ -8,7 +8,7 @@ template static void checkVariant(T value, const char* expected_data, size_t expected_len) { - DynamicJsonDocument doc(4096); + JsonDocument doc(4096); JsonVariant variant = doc.to(); variant.set(value); std::string expected(expected_data, expected_data + expected_len); diff --git a/keywords.txt b/keywords.txt index a4c2a6f4..8eed9ff7 100644 --- a/keywords.txt +++ b/keywords.txt @@ -25,7 +25,7 @@ to KEYWORD2 # Type names DeserializationError KEYWORD1 DATA_TYPE -DynamicJsonDocument KEYWORD1 DATA_TYPE +JsonDocument KEYWORD1 DATA_TYPE JsonArray KEYWORD1 DATA_TYPE JsonArrayConst KEYWORD1 DATA_TYPE JsonDocument KEYWORD1 DATA_TYPE diff --git a/src/ArduinoJson.hpp b/src/ArduinoJson.hpp index afc4255f..7678180c 100644 --- a/src/ArduinoJson.hpp +++ b/src/ArduinoJson.hpp @@ -29,7 +29,7 @@ #include "ArduinoJson/Object/JsonObject.hpp" #include "ArduinoJson/Variant/JsonVariantConst.hpp" -#include "ArduinoJson/Document/DynamicJsonDocument.hpp" +#include "ArduinoJson/Document/JsonDocument.hpp" #include "ArduinoJson/Array/ElementProxy.hpp" #include "ArduinoJson/Array/JsonArrayImpl.hpp" diff --git a/src/ArduinoJson/Document/DynamicJsonDocument.hpp b/src/ArduinoJson/Document/DynamicJsonDocument.hpp deleted file mode 100644 index 7c24544d..00000000 --- a/src/ArduinoJson/Document/DynamicJsonDocument.hpp +++ /dev/null @@ -1,172 +0,0 @@ -// ArduinoJson - https://arduinojson.org -// Copyright © 2014-2023, Benoit BLANCHON -// MIT License - -#pragma once - -#include -#include - -#include // malloc, free - -ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE - -// Helper to implement the "base-from-member" idiom -// (we need to store the allocator before constructing JsonDocument) -class AllocatorOwner { - public: - AllocatorOwner(Allocator* allocator) : _allocator(allocator) {} - - void* allocate(size_t size) { - return _allocator->allocate(size); - } - - void deallocate(void* ptr) { - if (ptr) - _allocator->deallocate(ptr); - } - - void* reallocate(void* ptr, size_t new_size) { - return _allocator->reallocate(ptr, new_size); - } - - Allocator* allocator() { - return _allocator; - } - - private: - Allocator* _allocator; -}; - -// A JsonDocument that uses the provided allocator to allocate its memory pool. -// https://arduinojson.org/v6/api/dynamicjsondocument/ -class DynamicJsonDocument : AllocatorOwner, public JsonDocument { - public: - explicit DynamicJsonDocument( - size_t capa, Allocator* alloc = detail::DefaultAllocator::instance()) - : AllocatorOwner(alloc), JsonDocument(allocPool(capa)) {} - - // Copy-constructor - DynamicJsonDocument(const DynamicJsonDocument& src) - : AllocatorOwner(src), JsonDocument() { - copyAssignFrom(src); - } - - // Move-constructor - DynamicJsonDocument(DynamicJsonDocument&& src) : AllocatorOwner(src) { - moveAssignFrom(src); - } - - DynamicJsonDocument(const JsonDocument& src) - : AllocatorOwner(detail::DefaultAllocator::instance()) { - copyAssignFrom(src); - } - - // Construct from variant, array, or object - template - DynamicJsonDocument( - const T& src, typename detail::enable_if< - detail::is_same::value || - detail::is_same::value || - detail::is_same::value || - detail::is_same::value || - detail::is_same::value || - detail::is_same::value>::type* = 0) - : DynamicJsonDocument(src.memoryUsage()) { - set(src); - } - - // disambiguate - DynamicJsonDocument(JsonVariant src) - : AllocatorOwner(detail::DefaultAllocator::instance()), - JsonDocument(allocPool(src.memoryUsage())) { - set(src); - } - - ~DynamicJsonDocument() { - freePool(); - } - - DynamicJsonDocument& operator=(const DynamicJsonDocument& src) { - copyAssignFrom(src); - return *this; - } - - DynamicJsonDocument& operator=(DynamicJsonDocument&& src) { - moveAssignFrom(src); - return *this; - } - - template - DynamicJsonDocument& operator=(const T& src) { - size_t requiredSize = src.memoryUsage(); - if (requiredSize > capacity()) - reallocPool(requiredSize); - set(src); - return *this; - } - - // Reduces the capacity of the memory pool to match the current usage. - // https://arduinojson.org/v6/api/dynamicjsondocument/shrinktofit/ - void shrinkToFit() { - ptrdiff_t bytes_reclaimed = _pool.squash(); - if (bytes_reclaimed == 0) - return; - - void* old_ptr = _pool.buffer(); - void* new_ptr = this->reallocate(old_ptr, _pool.capacity()); - - ptrdiff_t ptr_offset = - static_cast(new_ptr) - static_cast(old_ptr); - - _pool.movePointers(ptr_offset); - _data.movePointers(ptr_offset, ptr_offset - bytes_reclaimed); - } - - // Reclaims the memory leaked when removing and replacing values. - // https://arduinojson.org/v6/api/jsondocument/garbagecollect/ - bool garbageCollect() { - // make a temporary clone and move assign - DynamicJsonDocument tmp(*this); - if (!tmp.capacity()) - return false; - tmp.set(*this); - moveAssignFrom(tmp); - return true; - } - - using AllocatorOwner::allocator; - - private: - detail::MemoryPool allocPool(size_t requiredSize) { - size_t capa = detail::addPadding(requiredSize); - return {reinterpret_cast(this->allocate(capa)), capa}; - } - - void reallocPool(size_t requiredSize) { - size_t capa = detail::addPadding(requiredSize); - if (capa == _pool.capacity()) - return; - freePool(); - replacePool(allocPool(detail::addPadding(requiredSize))); - } - - void freePool() { - this->deallocate(getPool()->buffer()); - } - - void copyAssignFrom(const JsonDocument& src) { - reallocPool(src.capacity()); - set(src); - } - - void moveAssignFrom(DynamicJsonDocument& src) { - freePool(); - _data = src._data; - _pool = src._pool; - src._data.setNull(); - src._pool = {0, 0}; - } -}; - -ARDUINOJSON_END_PUBLIC_NAMESPACE diff --git a/src/ArduinoJson/Document/JsonDocument.hpp b/src/ArduinoJson/Document/JsonDocument.hpp index 32dea8df..9f74dfd3 100644 --- a/src/ArduinoJson/Document/JsonDocument.hpp +++ b/src/ArduinoJson/Document/JsonDocument.hpp @@ -5,6 +5,7 @@ #pragma once #include +#include #include #include #include @@ -20,8 +21,95 @@ class JsonDocument : public detail::VariantOperators { friend class detail::VariantAttorney; public: - JsonDocument(const JsonDocument&) = delete; - JsonDocument& operator=(const JsonDocument&) = delete; + explicit JsonDocument(size_t capa, + Allocator* alloc = detail::DefaultAllocator::instance()) + : _allocator(alloc), _pool(allocPool(capa)) {} + + // Copy-constructor + JsonDocument(const JsonDocument& src) + : JsonDocument(src.capacity(), src._allocator) { + set(src); + } + + // Move-constructor + JsonDocument(JsonDocument&& src) : _allocator(src._allocator), _pool(0, 0) { + // TODO: use the copy and swap idiom + moveAssignFrom(src); + } + + // Construct from variant, array, or object + template + JsonDocument(const T& src, + typename detail::enable_if< + detail::is_same::value || + detail::is_same::value || + detail::is_same::value || + detail::is_same::value || + detail::is_same::value || + detail::is_same::value>::type* = 0) + : JsonDocument(src.memoryUsage()) { + set(src); + } + + // disambiguate + // TODO: still needed? + JsonDocument(JsonVariant src) : JsonDocument(src.memoryUsage()) { + set(src); + } + + ~JsonDocument() { + freePool(); + } + + JsonDocument& operator=(const JsonDocument& src) { + // TODO: use the copy and swap idiom + copyAssignFrom(src); + return *this; + } + + JsonDocument& operator=(JsonDocument&& src) { + // TODO: use the copy and swap idiom + moveAssignFrom(src); + return *this; + } + + template + JsonDocument& operator=(const T& src) { + size_t requiredSize = src.memoryUsage(); + if (requiredSize > capacity()) + reallocPool(requiredSize); + set(src); + return *this; + } + + // Reduces the capacity of the memory pool to match the current usage. + // https://arduinojson.org/v6/api/JsonDocument/shrinktofit/ + void shrinkToFit() { + ptrdiff_t bytes_reclaimed = _pool.squash(); + if (bytes_reclaimed == 0) + return; + + void* old_ptr = _pool.buffer(); + void* new_ptr = _allocator->reallocate(old_ptr, _pool.capacity()); + + ptrdiff_t ptr_offset = + static_cast(new_ptr) - static_cast(old_ptr); + + _pool.movePointers(ptr_offset); + _data.movePointers(ptr_offset, ptr_offset - bytes_reclaimed); + } + + // Reclaims the memory leaked when removing and replacing values. + // https://arduinojson.org/v6/api/jsondocument/garbagecollect/ + bool garbageCollect() { + // make a temporary clone and move assign + JsonDocument tmp(*this); + if (!tmp.capacity()) + return false; + tmp.set(*this); + moveAssignFrom(tmp); + return true; + } // Casts the root to the specified type. // https://arduinojson.org/v6/api/jsondocument/as/ @@ -276,15 +364,7 @@ class JsonDocument : public detail::VariantOperators { return getVariant(); } - protected: - JsonDocument() : _pool(0, 0) {} - - JsonDocument(detail::MemoryPool pool) : _pool(pool) {} - - JsonDocument(char* buf, size_t capa) : _pool(buf, capa) {} - - ~JsonDocument() {} - + private: void replacePool(detail::MemoryPool pool) { _pool = pool; } @@ -297,10 +377,38 @@ class JsonDocument : public detail::VariantOperators { return JsonVariantConst(&_data); } - detail::MemoryPool _pool; - detail::VariantData _data; + detail::MemoryPool allocPool(size_t requiredSize) { + size_t capa = detail::addPadding(requiredSize); + return {reinterpret_cast(_allocator->allocate(capa)), capa}; + } + + void reallocPool(size_t requiredSize) { + size_t capa = detail::addPadding(requiredSize); + if (capa == _pool.capacity()) + return; + freePool(); + replacePool(allocPool(detail::addPadding(requiredSize))); + } + + void freePool() { + auto p = getPool()->buffer(); + if (p) + _allocator->deallocate(p); + } + + void copyAssignFrom(const JsonDocument& src) { + reallocPool(src.capacity()); + set(src); + } + + void moveAssignFrom(JsonDocument& src) { + freePool(); + _data = src._data; + _pool = src._pool; + src._data.setNull(); + src._pool = {0, 0}; + } - protected: detail::MemoryPool* getPool() { return &_pool; } @@ -316,6 +424,10 @@ class JsonDocument : public detail::VariantOperators { detail::VariantData* getOrCreateData() { return &_data; } + + Allocator* _allocator; + detail::MemoryPool _pool; + detail::VariantData _data; }; inline void convertToJson(const JsonDocument& src, JsonVariant dst) {