Converted JsonArray::copyFrom()/copyTo() to free functions copyArray()

This commit is contained in:
Benoit Blanchon
2019-02-15 15:33:04 +01:00
parent c3f71c1a99
commit 7ed92bebd3
10 changed files with 197 additions and 188 deletions

View File

@ -5,7 +5,7 @@
#include <ArduinoJson.h>
#include <catch.hpp>
TEST_CASE("JsonObject::copyFrom()") {
TEST_CASE("JsonObject::set()") {
DynamicJsonDocument doc1(4096);
DynamicJsonDocument doc2(4096);
@ -15,7 +15,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("doesn't copy static string in key or value") {
obj1["hello"] = "world";
obj2.copyFrom(obj1);
obj2.set(obj1);
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));
@ -24,7 +24,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("copy local string value") {
obj1["hello"] = std::string("world");
obj2.copyFrom(obj1);
obj2.set(obj1);
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));
@ -33,7 +33,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("copy local key") {
obj1[std::string("hello")] = "world";
obj2.copyFrom(obj1);
obj2.set(obj1);
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));
@ -42,7 +42,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("copy string from deserializeJson()") {
deserializeJson(doc1, "{'hello':'world'}");
obj2.copyFrom(obj1);
obj2.set(obj1);
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));
@ -51,7 +51,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("copy string from deserializeMsgPack()") {
deserializeMsgPack(doc1, "\x81\xA5hello\xA5world");
obj2.copyFrom(obj1);
obj2.set(obj1);
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));
@ -60,7 +60,7 @@ TEST_CASE("JsonObject::copyFrom()") {
SECTION("should work with JsonObjectConst") {
obj1["hello"] = "world";
obj2.copyFrom(static_cast<JsonObjectConst>(obj1));
obj2.set(static_cast<JsonObjectConst>(obj1));
REQUIRE(doc1.memoryUsage() == doc2.memoryUsage());
REQUIRE(obj2["hello"] == std::string("world"));