mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-30 02:37:35 +02:00
@ -23,4 +23,12 @@ TEST_CASE("JsonVariant::containsKey()") {
|
||||
REQUIRE(var.containsKey(std::string("hello")) == true);
|
||||
REQUIRE(var.containsKey(std::string("world")) == false);
|
||||
}
|
||||
|
||||
SECTION("containsKey(JsonVariant)") {
|
||||
var["hello"] = "world";
|
||||
var["key"] = "hello";
|
||||
|
||||
REQUIRE(var.containsKey(doc["key"]) == true);
|
||||
REQUIRE(var.containsKey(doc["foo"]) == false);
|
||||
}
|
||||
}
|
||||
|
@ -81,3 +81,30 @@ TEST_CASE("JsonVariant::remove(std::string)") {
|
||||
|
||||
REQUIRE(var.as<std::string>() == "{\"a\":1}");
|
||||
}
|
||||
|
||||
TEST_CASE("JsonVariant::remove(JsonVariant) from object") {
|
||||
JsonDocument doc;
|
||||
JsonVariant var = doc.to<JsonVariant>();
|
||||
|
||||
var["a"] = "a";
|
||||
var["b"] = 2;
|
||||
var["c"] = "b";
|
||||
|
||||
var.remove(var["c"]);
|
||||
|
||||
REQUIRE(var.as<std::string>() == "{\"a\":\"a\",\"c\":\"b\"}");
|
||||
}
|
||||
|
||||
TEST_CASE("JsonVariant::remove(JsonVariant) from array") {
|
||||
JsonDocument doc;
|
||||
JsonVariant var = doc.to<JsonVariant>();
|
||||
|
||||
var[0] = 3;
|
||||
var[1] = 2;
|
||||
var[2] = 1;
|
||||
|
||||
var.remove(var[2]);
|
||||
var.remove(var[3]); // noop
|
||||
|
||||
REQUIRE(var.as<std::string>() == "[3,1]");
|
||||
}
|
||||
|
@ -67,6 +67,15 @@ TEST_CASE("JsonVariant::operator[]") {
|
||||
REQUIRE(var.is<int>());
|
||||
REQUIRE(var.as<int>() == 123);
|
||||
}
|
||||
|
||||
SECTION("use JsonVariant as index") {
|
||||
array.add("A");
|
||||
array.add("B");
|
||||
array.add(1);
|
||||
|
||||
REQUIRE(var[var[2]] == "B");
|
||||
REQUIRE(var[var[3]].isNull());
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("The JsonVariant is a JsonObject") {
|
||||
@ -103,6 +112,15 @@ TEST_CASE("JsonVariant::operator[]") {
|
||||
JsonArray arr = var["hello"].to<JsonArray>();
|
||||
REQUIRE(arr.isNull() == false);
|
||||
}
|
||||
|
||||
SECTION("use JsonVariant as key") {
|
||||
object["a"] = "a";
|
||||
object["b"] = "b";
|
||||
object["c"] = "b";
|
||||
|
||||
REQUIRE(var[var["c"]] == "b");
|
||||
REQUIRE(var[var["d"]].isNull());
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(HAS_VARIABLE_LENGTH_ARRAY) && \
|
||||
|
Reference in New Issue
Block a user