forked from bblanchon/ArduinoJson
Implemented reference semantics for JsonVariant
This commit is contained in:
@@ -29,19 +29,13 @@ TEST_CASE("unsigned char[]") {
|
||||
}
|
||||
|
||||
SECTION("JsonVariant") {
|
||||
SECTION("constructor") {
|
||||
DynamicJsonDocument doc;
|
||||
|
||||
SECTION("set") {
|
||||
unsigned char value[] = "42";
|
||||
|
||||
JsonVariant variant(value);
|
||||
|
||||
REQUIRE(42 == variant.as<int>());
|
||||
}
|
||||
|
||||
SECTION("operator=") {
|
||||
unsigned char value[] = "42";
|
||||
|
||||
JsonVariant variant(666);
|
||||
variant = value;
|
||||
JsonVariant variant = doc.to<JsonVariant>();
|
||||
variant.set(value);
|
||||
|
||||
REQUIRE(42 == variant.as<int>());
|
||||
}
|
||||
@@ -50,7 +44,6 @@ TEST_CASE("unsigned char[]") {
|
||||
SECTION("operator[]") {
|
||||
unsigned char key[] = "hello";
|
||||
|
||||
DynamicJsonDocument doc;
|
||||
deserializeJson(doc, "{\"hello\":\"world\"}");
|
||||
JsonVariant variant = doc.as<JsonVariant>();
|
||||
|
||||
@@ -62,7 +55,6 @@ TEST_CASE("unsigned char[]") {
|
||||
SECTION("operator[] const") {
|
||||
unsigned char key[] = "hello";
|
||||
|
||||
DynamicJsonDocument doc;
|
||||
deserializeJson(doc, "{\"hello\":\"world\"}");
|
||||
const JsonVariant variant = doc.as<JsonVariant>();
|
||||
|
||||
@@ -73,8 +65,8 @@ TEST_CASE("unsigned char[]") {
|
||||
SECTION("operator==") {
|
||||
unsigned char comparand[] = "hello";
|
||||
|
||||
JsonVariant variant;
|
||||
variant = "hello";
|
||||
JsonVariant variant = doc.to<JsonVariant>();
|
||||
variant.set("hello");
|
||||
|
||||
REQUIRE(comparand == variant);
|
||||
REQUIRE(variant == comparand);
|
||||
@@ -85,8 +77,8 @@ TEST_CASE("unsigned char[]") {
|
||||
SECTION("operator!=") {
|
||||
unsigned char comparand[] = "hello";
|
||||
|
||||
JsonVariant variant;
|
||||
variant = "world";
|
||||
JsonVariant variant = doc.to<JsonVariant>();
|
||||
variant.set("world");
|
||||
|
||||
REQUIRE(comparand != variant);
|
||||
REQUIRE(variant != comparand);
|
||||
|
||||
+8
-18
@@ -40,23 +40,15 @@ TEST_CASE("Variable Length Array") {
|
||||
}
|
||||
|
||||
SECTION("JsonVariant") {
|
||||
SECTION("constructor") {
|
||||
DynamicJsonDocument doc;
|
||||
|
||||
SECTION("set()") {
|
||||
int i = 16;
|
||||
char vla[i];
|
||||
strcpy(vla, "42");
|
||||
|
||||
JsonVariant variant(vla);
|
||||
|
||||
REQUIRE(42 == variant.as<int>());
|
||||
}
|
||||
|
||||
SECTION("operator=") {
|
||||
int i = 16;
|
||||
char vla[i];
|
||||
strcpy(vla, "42");
|
||||
|
||||
JsonVariant variant(666);
|
||||
variant = vla;
|
||||
JsonVariant variant = doc.to<JsonVariant>();
|
||||
variant.set(vla);
|
||||
|
||||
REQUIRE(42 == variant.as<int>());
|
||||
}
|
||||
@@ -67,7 +59,6 @@ TEST_CASE("Variable Length Array") {
|
||||
char vla[i];
|
||||
strcpy(vla, "hello");
|
||||
|
||||
DynamicJsonDocument doc;
|
||||
deserializeJson(doc, "{\"hello\":\"world\"}");
|
||||
JsonVariant variant = doc.as<JsonVariant>();
|
||||
|
||||
@@ -81,7 +72,6 @@ TEST_CASE("Variable Length Array") {
|
||||
char vla[i];
|
||||
strcpy(vla, "hello");
|
||||
|
||||
DynamicJsonDocument doc;
|
||||
deserializeJson(doc, "{\"hello\":\"world\"}");
|
||||
const JsonVariant variant = doc.as<JsonVariant>();
|
||||
|
||||
@@ -94,8 +84,8 @@ TEST_CASE("Variable Length Array") {
|
||||
char vla[i];
|
||||
strcpy(vla, "hello");
|
||||
|
||||
JsonVariant variant;
|
||||
variant = "hello";
|
||||
JsonVariant variant = doc.to<JsonVariant>();
|
||||
variant.set("hello");
|
||||
|
||||
REQUIRE((vla == variant));
|
||||
REQUIRE((variant == vla));
|
||||
@@ -109,7 +99,7 @@ TEST_CASE("Variable Length Array") {
|
||||
strcpy(vla, "hello");
|
||||
|
||||
JsonVariant variant;
|
||||
variant = "world";
|
||||
variant.set("world");
|
||||
|
||||
REQUIRE((vla != variant));
|
||||
REQUIRE((variant != vla));
|
||||
|
||||
Reference in New Issue
Block a user