Skip to content

Commit 80426ab

Browse files
committed
A little more coverage for EXT types and limited skipping
1 parent fac4b28 commit 80426ab

1 file changed

Lines changed: 53 additions & 29 deletions

File tree

test/test.c

Lines changed: 53 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -3346,6 +3346,10 @@ static void test_ext(void **state) {
33463346
assert_int_equal(esize32, 0x10000);
33473347
assert_memory_equal(outbuf32, buf32, 16);
33483348

3349+
M_BufferSeek(&buf, 0);
3350+
assert_true(cmp_read_object(&cmp, &obj));
3351+
assert_true(cmp_object_as_ext(&obj, &etype, &esize32));
3352+
33493353
M_BufferSeek(&buf, 0);
33503354

33513355
assert_true(cmp_write_ext_marker(&cmp, 2, 1));
@@ -4193,31 +4197,33 @@ void test_skipping(void **state) {
41934197
assert_true(cmp_write_nil(&cmp));
41944198
assert_true(cmp_write_integer(&cmp, -8));
41954199
assert_true(cmp_write_array(&cmp, 10));
4196-
assert_true(cmp_write_uinteger(&cmp, 8));
4197-
assert_true(cmp_write_integer(&cmp, -120));
4198-
assert_true(cmp_write_uinteger(&cmp, 200));
4199-
assert_true(cmp_write_integer(&cmp, -32000));
4200-
assert_true(cmp_write_uinteger(&cmp, 64000));
4201-
assert_true(cmp_write_integer(&cmp, -33000));
4202-
assert_true(cmp_write_uinteger(&cmp, 66000));
4203-
assert_true(cmp_write_integer(&cmp, -2150000000));
4204-
assert_true(cmp_write_uinteger(&cmp, 4300000000));
4205-
assert_true(cmp_write_map(&cmp, 3));
4206-
assert_true(cmp_write_str(&cmp, "a", 1));
4207-
assert_true(cmp_write_str(&cmp, "apple", 5));
4208-
assert_true(cmp_write_str(&cmp, "b", 1));
4209-
assert_true(cmp_write_array(&cmp, 2));
4210-
assert_true(cmp_write_str(&cmp, "banana", 6));
4211-
assert_true(cmp_write_str(&cmp, "blackberry", 10));
4212-
assert_true(cmp_write_str(&cmp, "c", 1));
4213-
assert_true(cmp_write_str(&cmp, "coconut", 7));
4200+
assert_true(cmp_write_uinteger(&cmp, 8));
4201+
assert_true(cmp_write_integer(&cmp, -120));
4202+
assert_true(cmp_write_uinteger(&cmp, 200));
4203+
assert_true(cmp_write_integer(&cmp, -32000));
4204+
assert_true(cmp_write_uinteger(&cmp, 64000));
4205+
assert_true(cmp_write_integer(&cmp, -33000));
4206+
assert_true(cmp_write_uinteger(&cmp, 66000));
4207+
assert_true(cmp_write_integer(&cmp, -2150000000));
4208+
assert_true(cmp_write_uinteger(&cmp, 4300000000));
4209+
assert_true(cmp_write_map(&cmp, 3));
4210+
assert_true(cmp_write_str(&cmp, "a", 1));
4211+
assert_true(cmp_write_str(&cmp, "apple", 5));
4212+
assert_true(cmp_write_str(&cmp, "b", 1));
4213+
assert_true(cmp_write_array(&cmp, 2));
4214+
assert_true(cmp_write_str(&cmp, "banana", 6));
4215+
assert_true(cmp_write_str(&cmp, "blackberry", 10));
4216+
assert_true(cmp_write_str(&cmp, "c", 1));
4217+
assert_true(cmp_write_str(&cmp, "coconut", 7));
42144218
assert_true(cmp_write_map(&cmp, 66000));
42154219

42164220
for (uint32_t i = 0; i < 66000; i++) {
4217-
cmp_write_integer(&cmp, 1);
4218-
cmp_write_integer(&cmp, 1);
4221+
assert_true(cmp_write_integer(&cmp, 1));
4222+
assert_true(cmp_write_integer(&cmp, 1));
42194223
}
42204224

4225+
assert_true(cmp_write_nil(&cmp));
4226+
42214227
M_BufferSeek(&buf, 0);
42224228
assert_true(cmp_skip_object(&cmp, &obj));
42234229

@@ -4228,15 +4234,41 @@ void test_skipping(void **state) {
42284234
assert_true(cmp_skip_object_no_limit(&cmp));
42294235
assert_true(cmp_skip_object_no_limit(&cmp));
42304236
assert_true(cmp_skip_object_no_limit(&cmp));
4231-
assert_false(cmp_skip_object_no_limit(&cmp));
4237+
assert_true(cmp_skip_object_no_limit(&cmp));
42324238
cmp.skip = skip;
42334239

4240+
M_BufferSeek(&buf, 0);
4241+
assert_true(cmp_skip_object_no_limit(&cmp));
4242+
assert_true(cmp_skip_object_no_limit(&cmp));
4243+
assert_true(cmp_skip_object_no_limit(&cmp));
4244+
assert_true(cmp_skip_object_no_limit(&cmp));
4245+
assert_true(cmp_skip_object_no_limit(&cmp));
4246+
assert_true(cmp_skip_object_no_limit(&cmp));
4247+
4248+
M_BufferSeek(&buf, 0);
4249+
assert_true(cmp_skip_object_no_limit(&cmp));
4250+
assert_true(cmp_skip_object_no_limit(&cmp));
4251+
assert_true(cmp_skip_object_no_limit(&cmp));
4252+
assert_false(cmp_skip_object(&cmp, &obj));
4253+
42344254
M_BufferSeek(&buf, 0);
42354255
assert_true(cmp_skip_object_no_limit(&cmp));
42364256
assert_true(cmp_skip_object_no_limit(&cmp));
42374257
assert_true(cmp_skip_object_no_limit(&cmp));
42384258
assert_false(cmp_skip_object_limit(&cmp, &obj, 1));
42394259

4260+
M_BufferSeek(&buf, 0);
4261+
assert_true(cmp_skip_object_no_limit(&cmp));
4262+
assert_true(cmp_skip_object_no_limit(&cmp));
4263+
assert_true(cmp_skip_object_no_limit(&cmp));
4264+
assert_false(cmp_skip_object_limit(&cmp, &obj, 2));
4265+
4266+
M_BufferSeek(&buf, 0);
4267+
assert_true(cmp_skip_object_no_limit(&cmp));
4268+
assert_true(cmp_skip_object_no_limit(&cmp));
4269+
assert_true(cmp_skip_object_no_limit(&cmp));
4270+
assert_true(cmp_skip_object_limit(&cmp, &obj, 3));
4271+
42404272
M_BufferSeek(&buf, 0);
42414273
assert_true(cmp_read_object(&cmp, &obj));
42424274
assert_int_equal(obj.type, CMP_TYPE_BOOLEAN);
@@ -4292,14 +4324,6 @@ void test_skipping(void **state) {
42924324
assert_true(cmp_read_object(&cmp, &obj));
42934325
assert_int_equal(obj.type, CMP_TYPE_MAP32);
42944326

4295-
M_BufferSeek(&buf, 0);
4296-
assert_true(cmp_skip_object_no_limit(&cmp));
4297-
assert_true(cmp_skip_object_no_limit(&cmp));
4298-
assert_true(cmp_skip_object_no_limit(&cmp));
4299-
assert_true(cmp_skip_object_no_limit(&cmp));
4300-
assert_true(cmp_skip_object_no_limit(&cmp));
4301-
assert_false(cmp_skip_object_no_limit(&cmp));
4302-
43034327
M_BufferClear(&buf);
43044328
assert_true(cmp_write_float(&cmp, 1.1f));
43054329
assert_true(cmp_write_double(&cmp, 1.1));

0 commit comments

Comments
 (0)