forked from bblanchon/ArduinoJson
Merge DynamicJsonDocument
with JsonDocument
This commit is contained in:
@@ -9,7 +9,7 @@ add_executable(JsonDocumentTests
|
||||
compare.cpp
|
||||
containsKey.cpp
|
||||
createNested.cpp
|
||||
DynamicJsonDocument.cpp
|
||||
JsonDocument.cpp
|
||||
ElementProxy.cpp
|
||||
isNull.cpp
|
||||
issue1120.cpp
|
||||
|
@@ -8,7 +8,7 @@
|
||||
typedef ArduinoJson::detail::ElementProxy<JsonDocument&> 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);
|
||||
|
||||
|
@@ -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<JsonObject>();
|
||||
@@ -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<JsonObject>();
|
||||
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<JsonArray>();
|
||||
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<JsonVariant>();
|
||||
JsonDocument doc2 = doc1.as<JsonVariant>();
|
||||
|
||||
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<JsonObject>();
|
||||
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<JsonArray>();
|
||||
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<JsonVariant>();
|
||||
|
||||
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");
|
@@ -9,7 +9,7 @@ typedef ArduinoJson::detail::MemberProxy<JsonDocument&, const char*>
|
||||
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<JsonObject>();
|
||||
object["hello"] = "world";
|
||||
|
||||
DynamicJsonDocument emptyDoc(0);
|
||||
JsonDocument emptyDoc(0);
|
||||
JsonObject anotherObject = object["hello"] | emptyDoc.to<JsonObject>();
|
||||
|
||||
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);
|
||||
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::add()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("integer") {
|
||||
doc.add(42);
|
||||
|
@@ -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<std::string>() == "The size of this string is 32!!");
|
||||
REQUIRE(doc2.as<std::string>() == "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<std::string>() == "The size of this string is 32!!");
|
||||
REQUIRE(doc1.as<std::string>() == "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}");
|
||||
|
@@ -8,7 +8,7 @@
|
||||
#include <string>
|
||||
|
||||
TEST_CASE("Implicit cast to JsonVariant") {
|
||||
DynamicJsonDocument doc(128);
|
||||
JsonDocument doc(128);
|
||||
|
||||
doc["hello"] = "world";
|
||||
|
||||
|
@@ -5,9 +5,9 @@
|
||||
#include <ArduinoJson.h>
|
||||
#include <catch.hpp>
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::containsKey()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("returns true on object") {
|
||||
doc["hello"] = "world";
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
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") {
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::isNull()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("returns true if uninitialized") {
|
||||
REQUIRE(doc.isNull() == true);
|
||||
|
@@ -3,7 +3,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("Issue #1120") {
|
||||
DynamicJsonDocument doc(500);
|
||||
JsonDocument doc(500);
|
||||
constexpr char str[] =
|
||||
"{\"contents\":[{\"module\":\"Packet\"},{\"module\":\"Analog\"}]}";
|
||||
deserializeJson(doc, str);
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::nesting()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("return 0 if uninitialized") {
|
||||
REQUIRE(doc.nesting() == 0);
|
||||
|
@@ -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();
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::remove()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("remove(int)") {
|
||||
doc.add(1);
|
||||
|
@@ -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);
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
TEST_CASE("JsonDocument::size()") {
|
||||
DynamicJsonDocument doc(4096);
|
||||
JsonDocument doc(4096);
|
||||
|
||||
SECTION("returns 0") {
|
||||
REQUIRE(doc.size() == 0);
|
||||
|
@@ -6,7 +6,7 @@
|
||||
#include <catch.hpp>
|
||||
|
||||
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;
|
||||
|
||||
|
@@ -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");
|
||||
|
||||
|
Reference in New Issue
Block a user