deprecated.cpp 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. // Copyright Benoit Blanchon 2014-2017
  2. // MIT License
  3. //
  4. // Arduino JSON library
  5. // https://bblanchon.github.io/ArduinoJson/
  6. // If you like this project, please add a star!
  7. #define ARDUINOJSON_ENABLE_DEPRECATED 1
  8. #include <ArduinoJson.h>
  9. #include <catch.hpp>
  10. #if defined(__clang__)
  11. #pragma clang diagnostic ignored "-Wdeprecated-declarations"
  12. #elif defined(__GNUC__)
  13. #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
  14. #elif defined(_MSC_VER)
  15. #pragma warning(disable : 4996)
  16. #endif
  17. TEST_CASE("Deprecated functions") {
  18. DynamicJsonBuffer jsonBuffer;
  19. SECTION("JsonVariant::asArray()") {
  20. JsonVariant variant = jsonBuffer.createArray();
  21. REQUIRE(variant.asArray().success());
  22. }
  23. SECTION("JsonVariant::asObject()") {
  24. JsonVariant variant = jsonBuffer.createObject();
  25. REQUIRE(variant.asObject().success());
  26. }
  27. SECTION("JsonVariant::asString()") {
  28. JsonVariant variant = "hello";
  29. REQUIRE(std::string("hello") == variant.asString());
  30. }
  31. SECTION("JsonArray::removeAt()") {
  32. JsonArray& arr = jsonBuffer.createArray();
  33. arr.removeAt(0);
  34. }
  35. SECTION("JsonVariant::JsonVariant(float, uint8_t)") {
  36. JsonVariant variant(3.14f, 2);
  37. REQUIRE(variant == 3.14f);
  38. }
  39. SECTION("JsonVariant::JsonVariant(double, uint8_t)") {
  40. JsonVariant variant(3.14, 2);
  41. REQUIRE(variant == 3.14);
  42. }
  43. SECTION("float_with_n_digits()") {
  44. JsonVariant variant = float_with_n_digits(3.14f, 4);
  45. REQUIRE(variant == 3.14f);
  46. }
  47. SECTION("double_with_n_digits()") {
  48. JsonVariant variant = double_with_n_digits(3.14f, 4);
  49. REQUIRE(variant == 3.14f);
  50. }
  51. SECTION("JsonArraySubscript::set(double, uint8_t)") {
  52. JsonArray& arr = jsonBuffer.createArray();
  53. arr.add(666);
  54. arr[0].set(123.45, 2);
  55. REQUIRE(123.45 == arr[0].as<double>());
  56. REQUIRE(true == arr[0].is<double>());
  57. REQUIRE(false == arr[0].is<int>());
  58. }
  59. SECTION("JsonArray::add(double, uint8_t)") {
  60. JsonArray& arr = jsonBuffer.createArray();
  61. arr.add(3.14159265358979323846, 4);
  62. }
  63. SECTION("JsonArray::add(float, uint8_t)") {
  64. JsonArray& arr = jsonBuffer.createArray();
  65. arr.add(3.14159265358979323846f, 4);
  66. }
  67. SECTION("JsonObject::set(unsigned char[], double, uint8_t)") {
  68. unsigned char key[] = "hello";
  69. JsonObject& obj = jsonBuffer.createObject();
  70. obj.set(key, 3.14, 2);
  71. REQUIRE(3.14 == obj["hello"]);
  72. }
  73. SECTION("JsonObject::set(const char*, double, uint8_t)") {
  74. JsonObject& obj = jsonBuffer.createObject();
  75. obj.set("hello", 123.45, 2);
  76. REQUIRE(123.45 == obj["hello"].as<double>());
  77. REQUIRE(obj["hello"].is<double>());
  78. REQUIRE_FALSE(obj["hello"].is<long>());
  79. }
  80. SECTION("JsonObjectSubscript::set(double, uint8_t)") {
  81. JsonObject& obj = jsonBuffer.createObject();
  82. obj["hello"].set(123.45, 2);
  83. REQUIRE(true == obj["hello"].is<double>());
  84. REQUIRE(false == obj["hello"].is<long>());
  85. REQUIRE(123.45 == obj["hello"].as<double>());
  86. }
  87. }