8000 Skip array 32 · enginux/ArduinoJson@140790a · GitHub
[go: up one dir, main page]

Skip to content

Commit 140790a

Browse files
committed
Skip array 32
1 parent 4361771 commit 140790a

File tree

2 files changed

+111
-93
lines changed

2 files changed

+111
-93
lines changed

extras/tests/MsgPackDeserializer/filter.cpp

Lines changed: 104 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -21,134 +21,134 @@ TEST_CASE("deserializeMsgPack() filter") {
2121
SECTION("input truncated after ignored key") {
2222
error = deserializeMsgPack(doc, "\x82\xA6ignore", 8, filterOpt);
2323

24-
REQUIRE(error == DeserializationError::IncompleteInput);
25-
REQUIRE(doc.as<std::string>() == "{}");
26-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
24+
CHECK(error == DeserializationError::IncompleteInput);
25+
CHECK(doc.as<std::string>() == "{}");
26+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
2727
}
2828

2929
SECTION("input truncated after inside skipped uint 8") {
3030
error = deserializeMsgPack(doc, "\x82\xA6ignore\xCC\x2A\xA7include\x2A",
3131
9, filterOpt);
3232

33-
REQUIRE(error == DeserializationError::IncompleteInput);
34-
REQUIRE(doc.as<std::string>() == "{}");
35-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
33+
CHECK(error == DeserializationError::IncompleteInput);
34+
CHECK(doc.as<std::string>() == "{}");
35+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
3636
}
3737

3838
SECTION("input truncated after before skipped string size") {
3939
error = deserializeMsgPack(doc, "\x82\xA6ignore\xd9", 9, filterOpt);
4040

41-
REQUIRE(error == DeserializationError::IncompleteInput);
42-
REQUIRE(doc.as<std::string>() == "{}");
43-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
41+
CHECK(error == DeserializationError::IncompleteInput);
42+
CHECK(doc.as<std::string>() == "{}");
43+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(0));
4444
}
4545

4646
SECTION("skip nil") {
4747
error = deserializeMsgPack(doc, "\x82\xA6ignore\xC0\xA7include\x2A",
4848
filterOpt);
4949

50-
REQUIRE(error == DeserializationError::Ok);
51-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
52-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
50+
CHECK(error == DeserializationError::Ok);
51+
CHECK(doc.as<std::string>() == "{\"include\":42}");
52+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
5353
}
5454

5555
SECTION("skip 0xc1 (unused code)") {
5656
error = deserializeMsgPack(doc, "\x82\xA6ignore\xC1\xA7include\x2A",
5757
filterOpt);
5858

59-
REQUIRE(error == DeserializationError::Ok);
60-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
61-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
59+
CHECK(error == DeserializationError::Ok);
60+
CHECK(doc.as<std::string>() == "{\"include\":42}");
61+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
6262
}
6363

6464
SECTION("skip false") {
6565
error = deserializeMsgPack(doc, "\x82\xA6ignore\xC2\xA7include\x2A",
6666
filterOpt);
6767

68-
REQUIRE(error == DeserializationError::Ok);
69-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
70-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
68+
CHECK(error == DeserializationError::Ok);
69+
CHECK(doc.as<std::string>() == "{\"include\":42}");
70+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
7171
}
7272

7373
SECTION("skip true") {
7474
error = deserializeMsgPack(doc, "\x82\xA6ignore\xC3\xA7include\x2A",
7575
filterOpt);
7676

77-
REQUIRE(error == DeserializationError::Ok);
78-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
79-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
77+
CHECK(error == DeserializationError::Ok);
78+
CHECK(doc.as<std::string>() == "{\"include\":42}");
79+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
8080
}
8181

8282
SECTION("skip positive fixint") {
8383
error = deserializeMsgPack(doc, "\x82\xA6ignore\x2A\xA7include\x2A",
8484
filterOpt);
8585

86-
REQUIRE(error == DeserializationError::Ok);
87-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
88-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
86+
CHECK(error == DeserializationError::Ok);
87+
CHECK(doc.as<std::string>() == "{\"include\":42}");
88+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
8989
}
9090

9191
SECTION("skip negative fixint") {
9292
error = deserializeMsgPack(doc, "\x82\xA6ignore\xFF\xA7include\x2A",
9393
filterOpt);
9494

95-
REQUIRE(error == DeserializationError::Ok);
96-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
97-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
95+
CHECK(error == DeserializationError::Ok);
96+
CHECK(doc.as<std::string>() == "{\"include\":42}");
97+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
9898
}
9999

100100
SECTION("skip uint 8") {
101101
error = deserializeMsgPack(doc, "\x82\xA6ignore\xCC\x2A\xA7include\x2A",
102102
filterOpt);
103103

104-
REQUIRE(error == DeserializationError::Ok);
105-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
106-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
104+
CHECK(error == DeserializationError::Ok);
105+
CHECK(doc.as<std::string>() == "{\"include\":42}");
106+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
107107
}
108108

109109
SECTION("skip int 8") {
110110
error = deserializeMsgPack(doc, "\x82\xA6ignore\xD0\x2A\xA7include\x2A",
111111
filterOpt);
112112

113-
REQUIRE(error == DeserializationError::Ok);
114-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
115-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
113+
CHECK(error == DeserializationError::Ok);
114+
CHECK(doc.as<std::string>() == "{\"include\":42}");
115+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
116116
}
117117

118118
SECTION("skip uint 16") {
119119
error = deserializeMsgPack(
120120
doc, "\x82\xA6ignore\xcd\x30\x39\xA7include\x2A", filterOpt);
121121

122-
REQUIRE(error == DeserializationError::Ok);
123-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
124-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
122+
CHECK(error == DeserializationError::Ok);
123+
CHECK(doc.as<std::string>() == "{\"include\":42}");
124+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
125125
}
126126

127127
SECTION("skip int 16") {
128128
error = deserializeMsgPack(
129129
doc, "\x82\xA6ignore\xD1\xCF\xC7\xA7include\x2A", filterOpt);
130130

131-
REQUIRE(error == DeserializationError::Ok);
132-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
133-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
131+
CHECK(error == DeserializationError::Ok);
132+
CHECK(doc.as<std::string>() == "{\"include\":42}");
133+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
134134
}
135135

136136
SECTION("skip uint 32") {
137137
error = deserializeMsgPack(
138138
doc, "\x82\xA6ignore\xCE\x12\x34\x56\x78\xA7include\x2A", filterOpt);
139139

140-
REQUIRE(error == DeserializationError::Ok);
141-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
142-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
140+
CHECK(error == DeserializationError::Ok);
141+
CHECK(doc.as<std::string>() == "{\"include\":42}");
142+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
143143
}
144144

145145
SECTION("skip int 32") {
146146
error = deserializeMsgPack(
147147
doc, "\x82\xA6ignore\xD2\xB6\x69\xFD\x2E\xA7include\x2A", filterOpt);
148148

149-
REQUIRE(error == DeserializationError::Ok);
150-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
151-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
149+
CHECK(error == DeserializationError::Ok);
150+
CHECK(doc.as<std::string>() == "{\"include\":42}");
151+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
152152
}
153153

154154
SECTION("skip uint 64") {
@@ -157,9 +157,9 @@ TEST_CASE("deserializeMsgPack() filter") {
157157
"\x82\xA6ignore\xCF\x12\x34\x56\x78\x9A\xBC\xDE\xF0\xA7include\x2A",
158158
filterOpt);
159159

160-
REQUIRE(error == DeserializationError::Ok);
161-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
162-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
160+
CHECK(error == DeserializationError::Ok);
161+
CHECK(doc.as<std::string>() == "{\"include\":42}");
162+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
163163
}
164164

165165
SECTION("skip int 64") {
@@ -168,18 +168,18 @@ TEST_CASE("deserializeMsgPack() filter") {
168168
"\x82\xA6ignore\xD3\x12\x34\x56\x78\x9A\xBC\xDE\xF0\xA7include\x2A",
169169
filterOpt);
170170

171-
REQUIRE(error == DeserializationError::Ok);
172-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
173-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
171+
CHECK(error == DeserializationError::Ok);
172+
CHECK(doc.as<std::string>() == "{\"include\":42}");
173+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
174174
}
175175

176176
SECTION("skip float 32") {
177177
error = deserializeMsgPack(
178178
doc, "\x82\xA6ignore\xCA\x40\x48\xF5\xC3\xA7include\x2A", filterOpt);
179179

180-
REQUIRE(error == DeserializationError::Ok);
181-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
182-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
180+
CHECK(error == DeserializationError::Ok);
181+
CHECK(doc.as<std::string>() == "{\"include\":42}");
182+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
183183
}
184184

185185
SECTION("skip float 64") {
@@ -188,93 +188,106 @@ TEST_CASE("deserializeMsgPack() filter") {
188188
"\x82\xA6ignore\xCB\x40\x09\x21\xCA\xC0\x83\x12\x6F\xA7include\x2A",
189189
filterOpt);
190190

191-
REQUIRE(error == DeserializationError::Ok);
192-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
193-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SI 6851 ZE(1) + 8);
191+
CHECK(error == DeserializationError::Ok);
192+
CHECK(doc.as<std::string>() == "{\"include\":42}");
193+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
194194
}
195195

196196
SECTION("skip fixstr") {
197197
error = deserializeMsgPack(
198198
doc, "\x82\xA6ignore\xABhello world\xA7include\x2A", filterOpt);
199199

200-
REQUIRE(error == DeserializationError::Ok);
201-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
202-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
200+
CHECK(error == DeserializationError::Ok);
201+
CHECK(doc.as<std::string>() == "{\"include\":42}");
202+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
203203
}
204204

205205
SECTION("skip str 8") {
206206
error = deserializeMsgPack(
207207
doc, "\x82\xA6ignore\xd9\x05hello\xA7include\x2A", filterOpt);
208208

209-
REQUIRE(error == DeserializationError::Ok);
210-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
211-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
209+
CHECK(error == DeserializationError::Ok);
210+
CHECK(doc.as<std::string>() == "{\"include\":42}");
211+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
212212
}
213213

214214
SECTION("skip str 16") {
215215
error = deserializeMsgPack(
216216
doc, "\x82\xA6ignore\xda\x00\x05hello\xA7include\x2A", filterOpt);
217217

218-
REQUIRE(error == DeserializationError::Ok);
219-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
220-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
218+
CHECK(error == DeserializationError::Ok);
219+
CHECK(doc.as<std::string>() == "{\"include\":42}");
220+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
221221
}
222222

223223
SECTION("skip str 32") {
224224
error = deserializeMsgPack(
225225
doc, "\x82\xA6ignore\xdb\x00\x00\x00\x05hello\xA7include\x2A",
226226
filterOpt);
227227

228-
REQUIRE(error == DeserializationError::Ok);
229-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
230-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
228+
CHECK(error == DeserializationError::Ok);
229+
CHECK(doc.as<std::string>() == "{\"include\":42}");
230+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
231231
}
232232

233233
SECTION("skip bin 8") {
234234
error = deserializeMsgPack(
235235
doc, "\x82\xA6ignore\xC4\x05hello\xA7include\x2A", filterOpt);
236236

237-
REQUIRE(error == DeserializationError::Ok);
238-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
239-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
237+
CHECK(error == DeserializationError::Ok);
238+
CHECK(doc.as<std::string>() == "{\"include\":42}");
239+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
240240
}
241241

242242
SECTION("skip bin 16") {
243243
error = deserializeMsgPack(
244244
doc, "\x82\xA6ignore\xC5\x00\x05hello\xA7include\x2A", filterOpt);
245245

246-
REQUIRE(error == DeserializationError::Ok);
247-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
248-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
246+
CHECK(error == DeserializationError::Ok);
247+
CHECK(doc.as<std::string>() == "{\"include\":42}");
248+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
249249
}
250250

251251
SECTION("skip bin 32") {
252252
error = deserializeMsgPack(
253253
doc, "\x82\xA6ignore\xC6\x00\x00\x00\x05hello\xA7include\x2A",
254254
filterOpt);
255255

256-
REQUIRE(error == DeserializationError::Ok);
257-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
258-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
256+
CHECK(error == DeserializationError::Ok);
257+
CHECK(doc.as<std::string>() == "{\"include\":42}");
258+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
259259
}
260260

261261
SECTION("skip fixarray") {
262262
error = deserializeMsgPack(
263263
doc, "\x82\xA6ignore\x92\x01\x02\xA7include\x2A", filterOpt);
264264

265-
REQUIRE(error == DeserializationError::Ok);
266-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
267-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
265+
CHECK(error == DeserializationError::Ok);
266+
CHECK(doc.as<std::string>() == "{\"include\":42}");
267+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
268268
}
269269

270270
SECTION("skip array 16") {
271271
error = deserializeMsgPack(
272272
doc, "\x82\xA6ignore\xDC\x00\x02\xA5hello\xA5world\xA7include\x2A",
273273
filterOpt);
274274

275-
REQUIRE(error == DeserializationError::Ok);
276-
REQUIRE(doc.as<std::string>() == "{\"include\":42}");
277-
REQUIRE(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
275+
CHECK(error == DeserializationError::Ok);
276+
CHECK(doc.as<std::string>() == "{\"include\":42}");
277+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
278+
}
279+
280+
SECTION("skip array 32") {
281+
error = deserializeMsgPack(
282+
doc,
283+
"\x82\xA6ignore"
284+
"\xDD\x00\x00\x00\x02\xCA\x00\x00\x00\x00\xCA\x40\x48\xF5\xC3"
285+
"\xA7include\x2A",
286+
filterOpt);
287+
288+
CHECK(error == DeserializationError::Ok);
289+
CHECK(doc.as<std::string>() == "{\"include\":42}");
290+
CHECK(doc.memoryUsage() == JSON_OBJECT_SIZE(1) + 8);
278291
}
279292
}
280293

@@ -283,9 +296,9 @@ TEST_CASE("deserializeMsgPack() filter") {
283296

284297
error = deserializeMsgPack(doc, "\x90", filterOpt);
285298

286-
REQUIRE(error == DeserializationError::Ok);
287-
REQUIRE(doc.is<JsonArray>() == true);
288-
REQUIRE(doc.size() == 0);
299+
CHECK(error == DeserializationError::Ok);
300+
CHECK(doc.is<JsonArray>() == true);
301+
CHECK(doc.size() == 0);
289302
}
290303

291304
SECTION("filter = false") {
@@ -294,15 +307,15 @@ TEST_CASE("deserializeMsgPack() filter") {
294307
SECTION("input = fixarray") {
295308
error = deserializeMsgPack(doc, "\x92\x01\x02", filterOpt);
296309

297-
REQUIRE(error == DeserializationError::Ok);
298-
REQUIRE(doc.isNull() == true);
310+
CHECK(error == DeserializationError::Ok);
311+
CHECK(doc.isNull() == true);
299312
}
300313

301314
SECTION("input = array 16") {
302315
error = deserializeMsgPack(doc, "\xDC\x00\x02\x01\x02", filterOpt);
303316

304-
REQUIRE(error == DeserializationError::Ok);
305-
REQUIRE(doc.isNull() == true);
317+
CHECK(error == DeserializationError::Ok);
318+
CHECK(doc.isNull() == true);
306319
}
307320
}
308321
}

0 commit comments

Comments
 (0)
0