nullptr.cpp 880 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #include <ArduinoJson.h>
  2. #include <catch.hpp>
  3. TEST_CASE("nullptr") {
  4. JsonDocument doc;
  5. JsonVariant variant = doc.to<JsonVariant>();
  6. SECTION("JsonVariant == nullptr") {
  7. REQUIRE(variant == nullptr);
  8. REQUIRE_FALSE(variant != nullptr);
  9. }
  10. SECTION("JsonVariant != nullptr") {
  11. variant.set(42);
  12. REQUIRE_FALSE(variant == nullptr);
  13. REQUIRE(variant != nullptr);
  14. }
  15. SECTION("JsonVariant.set(nullptr)") {
  16. variant.set(42);
  17. variant.set(nullptr);
  18. REQUIRE(variant.isNull());
  19. }
  20. SECTION("JsonVariant.set(nullptr) with unbound reference") {
  21. JsonVariant unboundReference;
  22. unboundReference.set(nullptr);
  23. REQUIRE(variant.isNull());
  24. }
  25. SECTION("JsonVariant.is<nullptr_t>()") {
  26. variant.set(42);
  27. REQUIRE(variant.is<std::nullptr_t>() == false);
  28. variant.clear();
  29. REQUIRE(variant.is<std::nullptr_t>() == true);
  30. }
  31. }