StaticJsonVariant.cpp 924 B

1234567891011121314151617181920212223242526272829303132333435
  1. // ArduinoJson - arduinojson.org
  2. // Copyright Benoit Blanchon 2014-2018
  3. // MIT License
  4. #include <ArduinoJson.h>
  5. #include <catch.hpp>
  6. using namespace Catch::Matchers;
  7. TEST_CASE("deserializeJson(StaticJsonVariant&)") {
  8. SECTION("Array") {
  9. StaticJsonVariant<JSON_ARRAY_SIZE(2)> variant;
  10. char input[] = "[1,2]";
  11. JsonError err = deserializeJson(variant, input);
  12. REQUIRE(err == JsonError::Ok);
  13. REQUIRE(variant.is<JsonArray>());
  14. REQUIRE(variant[0] == 1);
  15. REQUIRE(variant[1] == 2);
  16. REQUIRE(variant.memoryUsage() == JSON_ARRAY_SIZE(2));
  17. }
  18. SECTION("Should clear the JsonVariant") {
  19. StaticJsonVariant<JSON_ARRAY_SIZE(2)> variant;
  20. char input[] = "[1,2]";
  21. deserializeJson(variant, input);
  22. JsonError err = deserializeJson(variant, "{}");
  23. REQUIRE(err == JsonError::Ok);
  24. REQUIRE(variant.is<JsonObject>());
  25. REQUIRE(variant.memoryUsage() == JSON_OBJECT_SIZE(0));
  26. }
  27. }