Return JsonArray and JsonObject by value (closes #309)

This commit is contained in:
Benoit Blanchon
2018-07-02 09:35:21 +02:00
parent 4fe2b1100e
commit b105e6f7c4
93 changed files with 983 additions and 1091 deletions

View File

@ -5,7 +5,7 @@
#include <ArduinoJson.h>
#include <catch.hpp>
static void check(JsonArray &array, std::string expected) {
static void check(JsonArray array, std::string expected) {
std::string actual;
size_t actualLen = serializeJson(array, actual);
REQUIRE(expected == actual);
@ -16,7 +16,7 @@ static void check(JsonArray &array, std::string expected) {
TEST_CASE("serializeJson(JsonArray)") {
StaticJsonDocument<JSON_ARRAY_SIZE(2)> doc;
JsonArray &array = doc.to<JsonArray>();
JsonArray array = doc.to<JsonArray>();
SECTION("Empty") {
check(array, "[]");

View File

@ -5,7 +5,7 @@
#include <ArduinoJson.h>
#include <catch.hpp>
static void check(JsonArray& array, std::string expected) {
static void check(JsonArray array, std::string expected) {
std::string actual;
size_t actualLen = serializeJsonPretty(array, actual);
size_t measuredLen = measureJsonPretty(array);
@ -16,7 +16,7 @@ static void check(JsonArray& array, std::string expected) {
TEST_CASE("serializeJsonPretty(JsonArray)") {
DynamicJsonDocument doc;
JsonArray& array = doc.to<JsonArray>();
JsonArray array = doc.to<JsonArray>();
SECTION("Empty") {
check(array, "[]");
@ -54,11 +54,11 @@ TEST_CASE("serializeJsonPretty(JsonArray)") {
}
SECTION("NestedArrays") {
JsonArray& nested1 = array.createNestedArray();
JsonArray nested1 = array.createNestedArray();
nested1.add(1);
nested1.add(2);
JsonObject& nested2 = array.createNestedObject();
JsonObject nested2 = array.createNestedObject();
nested2["key"] = 3;
check(array,

View File

@ -6,7 +6,7 @@
#include <catch.hpp>
#include <string>
void check(const JsonObject &obj, const std::string &expected) {
void check(const JsonObject obj, const std::string &expected) {
char actual[256];
size_t actualLen = serializeJson(obj, actual);
size_t measuredLen = measureJson(obj);
@ -18,7 +18,7 @@ void check(const JsonObject &obj, const std::string &expected) {
TEST_CASE("serializeJson(JsonObject)") {
DynamicJsonDocument doc;
JsonObject &obj = doc.to<JsonObject>();
JsonObject obj = doc.to<JsonObject>();
SECTION("EmptyObject") {
check(obj, "{}");

View File

@ -6,7 +6,7 @@
#include <catch.hpp>
#include <string>
void check(const JsonObject &obj, const std::string expected) {
void check(const JsonObject obj, const std::string expected) {
char json[256];
size_t actualLen = serializeJsonPretty(obj, json);
@ -19,7 +19,7 @@ void check(const JsonObject &obj, const std::string expected) {
TEST_CASE("serializeJsonPretty(JsonObject)") {
DynamicJsonDocument doc;
JsonObject &obj = doc.to<JsonObject>();
JsonObject obj = doc.to<JsonObject>();
SECTION("EmptyObject") {
check(obj, "{}");
@ -57,10 +57,10 @@ TEST_CASE("serializeJsonPretty(JsonObject)") {
}
SECTION("NestedContainers") {
JsonObject &nested1 = obj.createNestedObject("key1");
JsonObject nested1 = obj.createNestedObject("key1");
nested1["a"] = 1;
JsonArray &nested2 = obj.createNestedArray("key2");
JsonArray nested2 = obj.createNestedArray("key2");
nested2.add(2);
check(obj,

View File

@ -14,11 +14,11 @@ void check(JsonVariant variant, const std::string &expected) {
}
TEST_CASE("serializeJson(JsonVariant)") {
SECTION("Empty") {
check(JsonVariant(), "");
SECTION("Undefined") {
check(JsonVariant(), "null");
}
SECTION("Null") {
SECTION("Null string") {
check(static_cast<char *>(0), "null");
}

View File

@ -27,7 +27,7 @@ TEST_CASE("operator<<(std::ostream)") {
}
SECTION("JsonObject") {
JsonObject& object = doc.to<JsonObject>();
JsonObject object = doc.to<JsonObject>();
object["key"] = "value";
os << object;
@ -36,7 +36,7 @@ TEST_CASE("operator<<(std::ostream)") {
}
SECTION("JsonObjectSubscript") {
JsonObject& object = doc.to<JsonObject>();
JsonObject object = doc.to<JsonObject>();
object["key"] = "value";
os << object["key"];
@ -45,7 +45,7 @@ TEST_CASE("operator<<(std::ostream)") {
}
SECTION("JsonArray") {
JsonArray& array = doc.to<JsonArray>();
JsonArray array = doc.to<JsonArray>();
array.add("value");
os << array;
@ -54,7 +54,7 @@ TEST_CASE("operator<<(std::ostream)") {
}
SECTION("JsonArraySubscript") {
JsonArray& array = doc.to<JsonArray>();
JsonArray array = doc.to<JsonArray>();
array.add("value");
os << array[0];

View File

@ -7,7 +7,7 @@
TEST_CASE("serialize JsonArray to std::string") {
DynamicJsonDocument doc;
JsonArray &array = doc.to<JsonArray>();
JsonArray array = doc.to<JsonArray>();
array.add(4);
array.add(2);
@ -28,7 +28,7 @@ TEST_CASE("serialize JsonArray to std::string") {
TEST_CASE("serialize JsonObject to std::string") {
DynamicJsonDocument doc;
JsonObject &obj = doc.to<JsonObject>();
JsonObject obj = doc.to<JsonObject>();
obj["key"] = "value";
SECTION("object") {