// ArduinoJson - arduinojson.org // Copyright Benoit Blanchon 2014-2018 // MIT License #include #include TEST_CASE("deserializeJson(StaticJsonArray&)") { SECTION("BufferOfTheRightSizeForEmptyArray") { StaticJsonArray arr; char input[] = "[]"; bool success = deserializeJson(arr, input); REQUIRE(success == true); } SECTION("TooSmallBufferForArrayWithOneValue") { StaticJsonArray arr; char input[] = "[1]"; bool success = deserializeJson(arr, input); REQUIRE(success == false); } SECTION("BufferOfTheRightSizeForArrayWithOneValue") { StaticJsonArray arr; char input[] = "[1]"; bool success = deserializeJson(arr, input); REQUIRE(success == true); } SECTION("TooSmallBufferForArrayWithNestedObject") { StaticJsonArray arr; char input[] = "[{}]"; bool success = deserializeJson(arr, input); REQUIRE(success == false); } SECTION("BufferOfTheRightSizeForArrayWithNestedObject") { StaticJsonArray arr; char input[] = "[{}]"; bool success = deserializeJson(arr, input); REQUIRE(success == true); } SECTION("CharPtrNull") { StaticJsonArray<100> arr; bool success = deserializeJson(arr, static_cast(0)); REQUIRE(success == false); } SECTION("ConstCharPtrNull") { StaticJsonArray<100> arr; bool success = deserializeJson(arr, static_cast(0)); REQUIRE(success == false); } 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 } }