diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test-qobject-input-visitor.c | 7 | ||||
-rw-r--r-- | tests/test-qobject-output-visitor.c | 22 |
2 files changed, 20 insertions, 9 deletions
diff --git a/tests/test-qobject-input-visitor.c b/tests/test-qobject-input-visitor.c index 928cc2694f..34bab8a913 100644 --- a/tests/test-qobject-input-visitor.c +++ b/tests/test-qobject-input-visitor.c @@ -123,7 +123,6 @@ static void test_visitor_in_int(TestInputVisitorData *data, static void test_visitor_in_uint(TestInputVisitorData *data, const void *unused) { - Error *err = NULL; uint64_t res = 0; int64_t i64; double dbl; @@ -147,12 +146,10 @@ static void test_visitor_in_uint(TestInputVisitorData *data, visit_type_uint64(v, NULL, &res, &error_abort); g_assert_cmpuint(res, ==, (uint64_t)-value); - /* BUG: value between INT64_MAX+1 and UINT64_MAX rejected */ - v = visitor_input_test_init(data, "18446744073709551574"); - visit_type_uint64(v, NULL, &res, &err); - error_free_or_abort(&err); + visit_type_uint64(v, NULL, &res, &error_abort); + g_assert_cmpuint(res, ==, 18446744073709551574U); visit_type_number(v, NULL, &dbl, &error_abort); g_assert_cmpfloat(dbl, ==, 18446744073709552000.0); diff --git a/tests/test-qobject-output-visitor.c b/tests/test-qobject-output-visitor.c index a16c8f663f..749c54065f 100644 --- a/tests/test-qobject-output-visitor.c +++ b/tests/test-qobject-output-visitor.c @@ -602,14 +602,28 @@ static void check_native_list(QObject *qobj, qlist = qlist_copy(qobject_to_qlist(qdict_get(qdict, "data"))); switch (kind) { - case USER_DEF_NATIVE_LIST_UNION_KIND_S8: - case USER_DEF_NATIVE_LIST_UNION_KIND_S16: - case USER_DEF_NATIVE_LIST_UNION_KIND_S32: - case USER_DEF_NATIVE_LIST_UNION_KIND_S64: case USER_DEF_NATIVE_LIST_UNION_KIND_U8: case USER_DEF_NATIVE_LIST_UNION_KIND_U16: case USER_DEF_NATIVE_LIST_UNION_KIND_U32: case USER_DEF_NATIVE_LIST_UNION_KIND_U64: + for (i = 0; i < 32; i++) { + QObject *tmp; + QNum *qvalue; + uint64_t val; + + tmp = qlist_peek(qlist); + g_assert(tmp); + qvalue = qobject_to_qnum(tmp); + g_assert(qnum_get_try_uint(qvalue, &val)); + g_assert_cmpint(val, ==, i); + qobject_decref(qlist_pop(qlist)); + } + break; + + case USER_DEF_NATIVE_LIST_UNION_KIND_S8: + case USER_DEF_NATIVE_LIST_UNION_KIND_S16: + case USER_DEF_NATIVE_LIST_UNION_KIND_S32: + case USER_DEF_NATIVE_LIST_UNION_KIND_S64: /* * All integer elements in JSON arrays get stored into QNums * when we convert to QObjects, so we can check them all in |