// ArduinoJson - arduinojson.org // Copyright Benoit Blanchon 2014-2018 // MIT License #include #include TEST_CASE("deserializeJson(StaticJsonArray&)") { SECTION("BufferOfTheRightSizeForEmptyArray") { StaticJsonArray arr; char input[] = "[]"; JsonError err = deserializeJson(arr, input); REQUIRE(err == JsonError::Ok); } SECTION("TooSmallBufferForArrayWithOneValue") { StaticJsonArray arr; char input[] = "[1]"; JsonError err = deserializeJson(arr, input); REQUIRE(err != JsonError::Ok); } SECTION("BufferOfTheRightSizeForArrayWithOneValue") { StaticJsonArray arr; char input[] = "[1]"; JsonError err = deserializeJson(arr, input); REQUIRE(err == JsonError::Ok); } SECTION("TooSmallBufferForArrayWithNestedObject") { StaticJsonArray arr; char input[] = "[{}]"; JsonError err = deserializeJson(arr, input); REQUIRE(err != JsonError::Ok); } SECTION("BufferOfTheRightSizeForArrayWithNestedObject") { StaticJsonArray arr; char input[] = "[{}]"; JsonError err = deserializeJson(arr, input); REQUIRE(err == JsonError::Ok); } SECTION("CharPtrNull") { StaticJsonArray<100> arr; JsonError err = deserializeJson(arr, static_cast(0)); REQUIRE(err != JsonError::Ok); } SECTION("ConstCharPtrNull") { StaticJsonArray<100> arr; JsonError err = deserializeJson(arr, static_cast(0)); REQUIRE(err != JsonError::Ok); } SECTION("CopyStringNotSpaces") { StaticJsonArray<100> arr; deserializeJson(arr, " [ \"1234567\" ] "); REQUIRE(JSON_ARRAY_SIZE(1) + sizeof("1234567") == arr.memoryUsage()); // note: we use a string of 8 bytes to be sure that the StaticJsonBuffer // will not insert bytes to enforce alignement } }