isNull.cpp 875 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright © 2014-2022, Benoit BLANCHON
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonDocument::isNull()") {
  7. DynamicJsonDocument doc(4096);
  8. SECTION("returns true if uninitialized") {
  9. REQUIRE(doc.isNull() == true);
  10. }
  11. SECTION("returns false after to<JsonObject>()") {
  12. doc.to<JsonObject>();
  13. REQUIRE(doc.isNull() == false);
  14. }
  15. SECTION("returns false after to<JsonArray>()") {
  16. doc.to<JsonArray>();
  17. REQUIRE(doc.isNull() == false);
  18. }
  19. SECTION("returns true after to<JsonVariant>()") {
  20. REQUIRE(doc.isNull() == true);
  21. }
  22. SECTION("returns false after set()") {
  23. doc.to<JsonVariant>().set(42);
  24. REQUIRE(doc.isNull() == false);
  25. }
  26. SECTION("returns true after clear()") {
  27. doc.to<JsonObject>();
  28. doc.clear();
  29. REQUIRE(doc.isNull() == true);
  30. }
  31. }