// ArduinoJson - https://arduinojson.org // Copyright © 2014-2024, Benoit BLANCHON // MIT License #include #include #include #include "Allocators.hpp" TEST_CASE("JsonVariant::clear()") { SpyingAllocator spy; JsonDocument doc(&spy); JsonVariant var = doc.to(); SECTION("size goes back to zero") { var.add(42); var.clear(); REQUIRE(var.size() == 0); } SECTION("isNull() return true") { var.add("hello"); var.clear(); REQUIRE(var.isNull() == true); } SECTION("releases owned string") { var.set(std::string("hello")); var.clear(); REQUIRE(spy.log() == AllocatorLog{ Allocate(sizeofString("hello")), Deallocate(sizeofString("hello")), }); } }