mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-24 07:47:32 +02:00
Change link()
to shallowCopy()
(issue #1343)
Instead of storing a pointer, the function copies the `VariantData`. Benefits: * smaller code * no impact on programs that don't use this feature Drawbacks: * changes to the original variant are not always reflected on the copy * modifying the original from the shallow copy leads to UB
This commit is contained in:
@ -39,24 +39,4 @@ TEST_CASE("JsonVariant::remove()") {
|
||||
|
||||
REQUIRE(var.as<std::string>() == "{\"a\":1}");
|
||||
}
|
||||
|
||||
SECTION("linked array") {
|
||||
StaticJsonDocument<128> doc2;
|
||||
doc2[0] = 42;
|
||||
var.link(doc2);
|
||||
|
||||
var.remove(0);
|
||||
|
||||
CHECK(var.as<std::string>() == "[42]");
|
||||
}
|
||||
|
||||
SECTION("linked object") {
|
||||
StaticJsonDocument<128> doc2;
|
||||
doc2["hello"] = "world";
|
||||
var.link(doc2);
|
||||
|
||||
var.remove("hello");
|
||||
|
||||
CHECK(var.as<std::string>() == "{\"hello\":\"world\"}");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user