Replace add() with add<T>() (add(T) is still supported)

This commit is contained in:
Benoit Blanchon
2023-08-09 10:57:52 +02:00
parent 7a587ac2e2
commit f422b7b37d
12 changed files with 133 additions and 28 deletions

View File

@ -6,7 +6,7 @@
#include <stdint.h>
#include <catch.hpp>
TEST_CASE("JsonVariant::add()") {
TEST_CASE("JsonVariant::add(T)") {
JsonDocument doc;
JsonVariant var = doc.to<JsonVariant>();
@ -44,3 +44,27 @@ TEST_CASE("JsonVariant::add()") {
REQUIRE(var.as<std::string>() == "{\"val\":123}");
}
}
TEST_CASE("JsonVariant::add<T>()") {
JsonDocument doc;
JsonVariant var = doc.to<JsonVariant>();
SECTION("JsonArray") {
JsonArray array = var.add<JsonArray>();
array.add(1);
array.add(2);
REQUIRE(doc.as<std::string>() == "[[1,2]]");
}
SECTION("JsonObject") {
JsonObject object = var.add<JsonObject>();
object["hello"] = "world";
REQUIRE(doc.as<std::string>() == "[{\"hello\":\"world\"}]");
}
SECTION("JsonVariant") {
JsonVariant variant = var.add<JsonVariant>();
variant.set(42);
REQUIRE(doc.as<std::string>() == "[42]");
}
}