enable_progmem_1.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2019
  3. // MIT License
  4. #include "progmem_emulation.hpp"
  5. #define ARDUINOJSON_ENABLE_PROGMEM 1
  6. #include <ArduinoJson.h>
  7. #include <catch.hpp>
  8. TEST_CASE("Flash strings") {
  9. DynamicJsonDocument doc(2048);
  10. SECTION("deserializeJson()") {
  11. DeserializationError err = deserializeJson(doc, F("{'hello':'world'}"));
  12. REQUIRE(err == DeserializationError::Ok);
  13. REQUIRE(doc["hello"] == "world");
  14. }
  15. SECTION("JsonDocument::operator[]") {
  16. doc[F("hello")] = F("world");
  17. REQUIRE(doc["hello"] == "world");
  18. }
  19. SECTION("JsonDocument::add()") {
  20. doc.add(F("world"));
  21. REQUIRE(doc[0] == "world");
  22. }
  23. SECTION("JsonVariant::set()") {
  24. JsonVariant var = doc.to<JsonVariant>();
  25. var.set(F("world"));
  26. REQUIRE(var == "world");
  27. }
  28. SECTION("MemberProxy::operator==") {
  29. doc["hello"] = "world";
  30. REQUIRE(doc["hello"] == F("world"));
  31. }
  32. SECTION("ElementProxy::operator==") {
  33. doc.add("world");
  34. REQUIRE(doc[0] == F("world"));
  35. }
  36. }