Tests: replace constants with sizeofString(n)

This commit is contained in:
Benoit Blanchon
2023-04-07 14:43:16 +02:00
parent 5e0e35615c
commit e9850152a7
18 changed files with 174 additions and 148 deletions

View File

@ -11,6 +11,7 @@
using ArduinoJson::detail::sizeofArray;
using ArduinoJson::detail::sizeofObject;
using ArduinoJson::detail::sizeofString;
TEST_CASE("Filtering") {
struct TestCase {
@ -46,7 +47,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"abcdefg\":\"hijklmn\"}",
sizeofObject(1) + 16
sizeofObject(1) + 2*sizeofString(7)
},
{
"{\"hello\":\"world\"}",
@ -72,7 +73,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":null}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// Member is a number, but filter wants an array
@ -81,7 +82,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":null}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// Input is an array, but filter wants an object
@ -117,7 +118,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// skip a float
@ -126,7 +127,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// skip false
@ -135,7 +136,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// skip true
@ -144,7 +145,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// skip null
@ -153,7 +154,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip a double-quoted string
@ -162,7 +163,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip a single-quoted string
@ -171,7 +172,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an empty array
@ -180,7 +181,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an empty array with spaces in it
@ -189,7 +190,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an array
@ -198,7 +199,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an array with spaces in it
@ -207,7 +208,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an empty object
@ -216,7 +217,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an empty object with spaces in it
@ -225,7 +226,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// can skip an object
@ -234,7 +235,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// skip an object with spaces in it
@ -243,7 +244,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":42}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
"{\"an_integer\": 0,\"example\":{\"type\":\"int\",\"outcome\":42}}",
@ -251,7 +252,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":{\"outcome\":42}}",
2 * sizeofObject(1) + 16
2 * sizeofObject(1) + 2*sizeofString(7)
},
{
// wildcard
@ -260,7 +261,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":{\"outcome\":42}}",
2 * sizeofObject(1) + 16
2 * sizeofObject(1) + 2*sizeofString(7)
},
{
// exclusion filter (issue #1628)
@ -269,7 +270,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"{\"example\":1}",
sizeofObject(1) + 8
sizeofObject(1) + sizeofString(7)
},
{
// only the first element of array counts
@ -296,7 +297,7 @@ TEST_CASE("Filtering") {
10,
DeserializationError::Ok,
"[{\"example\":1},{\"example\":3}]",
sizeofArray(2) + 2 * sizeofObject(1) + 8
sizeofArray(2) + 2 * sizeofObject(1) + sizeofString(7)
},
{
"[',2,3]",

View File

@ -97,7 +97,7 @@ TEST_CASE("Invalid JSON string") {
}
TEST_CASE("Not enough room to save the key") {
JsonDocument doc(sizeofObject(1) + 8);
JsonDocument doc(sizeofObject(1) + sizeofString(7));
SECTION("Quoted string") {
REQUIRE(deserializeJson(doc, "{\"example\":1}") ==
@ -139,7 +139,7 @@ TEST_CASE("Deduplicate values") {
JsonDocument doc(1024);
deserializeJson(doc, "[\"example\",\"example\"]");
CHECK(doc.memoryUsage() == sizeofArray(2) + 8);
CHECK(doc.memoryUsage() == sizeofArray(2) + sizeofString(7));
CHECK(doc[0].as<const char*>() == doc[1].as<const char*>());
}
@ -147,7 +147,8 @@ TEST_CASE("Deduplicate keys") {
JsonDocument doc(1024);
deserializeJson(doc, "[{\"example\":1},{\"example\":2}]");
CHECK(doc.memoryUsage() == 2 * sizeofObject(1) + sizeofArray(2) + 8);
CHECK(doc.memoryUsage() ==
2 * sizeofObject(1) + sizeofArray(2) + sizeofString(7));
const char* key1 = doc[0].as<JsonObject>().begin()->key().c_str();
const char* key2 = doc[1].as<JsonObject>().begin()->key().c_str();