isnull.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2018
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. TEST_CASE("JsonVariant::isNull()") {
  7. DynamicJsonDocument doc;
  8. JsonVariant variant = doc.to<JsonVariant>();
  9. SECTION("return true when Undefined") {
  10. REQUIRE(variant.isNull() == true);
  11. }
  12. SECTION("return false when Integer") {
  13. variant.set(42);
  14. REQUIRE(variant.isNull() == false);
  15. }
  16. SECTION("return false when EmptyArray") {
  17. DynamicJsonDocument doc2;
  18. JsonArray array = doc2.to<JsonArray>();
  19. variant.set(array);
  20. REQUIRE(variant.isNull() == false);
  21. }
  22. SECTION("return false when EmptyObject") {
  23. DynamicJsonDocument doc2;
  24. JsonObject obj = doc2.to<JsonObject>();
  25. variant.set(obj);
  26. REQUIRE(variant.isNull() == false);
  27. }
  28. /* SECTION("return true when InvalidArray") {
  29. variant.set(JsonArray());
  30. REQUIRE(variant.isNull() == true);
  31. }
  32. */
  33. /* SECTION("return true when InvalidObject") {
  34. variant.set(JsonObject());
  35. REQUIRE(variant.isNull() == true);
  36. }*/
  37. SECTION("works with JsonVariantConst") {
  38. variant.set(42);
  39. JsonVariantConst cvar = variant;
  40. REQUIRE(cvar.isNull() == false);
  41. }
  42. }