nullptr.cpp 818 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #include <ArduinoJson.h>
  2. #include <catch.hpp>
  3. #if !ARDUINOJSON_HAS_NULLPTR
  4. # error ARDUINOJSON_HAS_NULLPTR must be set to 1
  5. #endif
  6. TEST_CASE("nullptr") {
  7. DynamicJsonDocument doc(4096);
  8. JsonVariant variant = doc.to<JsonVariant>();
  9. SECTION("JsonVariant == nullptr") {
  10. REQUIRE((variant == nullptr));
  11. REQUIRE_FALSE((variant != nullptr));
  12. }
  13. SECTION("JsonVariant != nullptr") {
  14. variant.set(42);
  15. REQUIRE_FALSE((variant == nullptr));
  16. REQUIRE((variant != nullptr));
  17. }
  18. SECTION("JsonVariant.set(nullptr)") {
  19. variant.set(42);
  20. variant.set(nullptr);
  21. REQUIRE(variant.isNull());
  22. }
  23. SECTION("JsonVariant.is<nullptr_t>()") {
  24. variant.set(42);
  25. REQUIRE(variant.is<std::nullptr_t>() == false);
  26. variant.clear();
  27. REQUIRE(variant.is<std::nullptr_t>() == true);
  28. }
  29. }