deprecated.cpp 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // ArduinoJson - https://arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2021
  3. // MIT License
  4. #define ARDUINOJSON_DEPRECATED(msg) // nothing
  5. #include <ArduinoJson.h>
  6. #include <catch.hpp>
  7. TEST_CASE("Deprecated features") {
  8. StaticJsonDocument<256> doc;
  9. const char* s = "hello";
  10. doc["s"] = s;
  11. doc["c"] = 42;
  12. doc["a"].add(s);
  13. doc["a"].add(42);
  14. SECTION("JsonVariant::add(char)") {
  15. JsonVariant v = doc.to<JsonVariant>();
  16. v.add('*');
  17. REQUIRE(v[0] == 42);
  18. }
  19. SECTION("JsonVariant::as<char*>()") {
  20. JsonVariant v = doc["s"];
  21. REQUIRE(v.as<char*>() == s);
  22. }
  23. SECTION("JsonVariant::as<char>()") {
  24. JsonVariant v = doc["c"];
  25. REQUIRE(v.as<char>() == '*');
  26. }
  27. SECTION("JsonVariant::set(char)") {
  28. JsonVariant v = doc.to<JsonVariant>();
  29. v.set('*');
  30. REQUIRE(v.as<unsigned char>() == 42);
  31. }
  32. SECTION("JsonVariantConst::as<char*>()") {
  33. JsonVariantConst v = doc["s"];
  34. REQUIRE(v.as<char*>() == s);
  35. }
  36. SECTION("JsonVariantConst::as<char>()") {
  37. JsonVariantConst v = doc["c"];
  38. REQUIRE(v.as<char>() == '*');
  39. }
  40. SECTION("MemberProxy::as<char*>()") {
  41. REQUIRE(doc["s"].as<char*>() == s);
  42. }
  43. SECTION("MemberProxy::as<char>()") {
  44. REQUIRE(doc["c"].as<char>() == '*');
  45. }
  46. SECTION("MemberProxy::as<char>()") {
  47. doc["x"].set('*');
  48. REQUIRE(doc["x"] == 42);
  49. }
  50. SECTION("ElementProxy::as<char*>()") {
  51. REQUIRE(doc["a"][0].as<char*>() == s);
  52. }
  53. SECTION("ElementProxy::as<char>()") {
  54. REQUIRE(doc["a"][1].as<char>() == '*');
  55. }
  56. SECTION("ElementProxy::as<char>()") {
  57. doc["a"][0].set('*');
  58. REQUIRE(doc["a"][0] == 42);
  59. }
  60. }