diff options
Diffstat (limited to 'tests/check-qnull.c')
-rw-r--r-- | tests/check-qnull.c | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/tests/check-qnull.c b/tests/check-qnull.c index 8dd1c9686f..5c6eb0adc8 100644 --- a/tests/check-qnull.c +++ b/tests/check-qnull.c @@ -24,20 +24,21 @@ static void qnull_ref_test(void) { QObject *obj; - g_assert(qnull_.refcnt == 1); - obj = qnull(); + g_assert(qnull_.base.refcnt == 1); + obj = QOBJECT(qnull()); g_assert(obj); - g_assert(obj == &qnull_); - g_assert(qnull_.refcnt == 2); + g_assert(obj == QOBJECT(&qnull_)); + g_assert(qnull_.base.refcnt == 2); g_assert(qobject_type(obj) == QTYPE_QNULL); qobject_decref(obj); - g_assert(qnull_.refcnt == 1); + g_assert(qnull_.base.refcnt == 1); } static void qnull_visit_test(void) { QObject *obj; Visitor *v; + QNull *null; /* * Most tests of interactions between QObject and visitors are in @@ -45,21 +46,25 @@ static void qnull_visit_test(void) * depend on layering violations to check qnull_ refcnt. */ - g_assert(qnull_.refcnt == 1); - obj = qnull(); + g_assert(qnull_.base.refcnt == 1); + obj = QOBJECT(qnull()); v = qobject_input_visitor_new(obj); qobject_decref(obj); - visit_type_null(v, NULL, &error_abort); + visit_type_null(v, NULL, &null, &error_abort); + g_assert(obj == QOBJECT(&qnull_)); + QDECREF(null); visit_free(v); + null = NULL; v = qobject_output_visitor_new(&obj); - visit_type_null(v, NULL, &error_abort); + visit_type_null(v, NULL, &null, &error_abort); visit_complete(v, &obj); - g_assert(obj == &qnull_); + g_assert(obj == QOBJECT(&qnull_)); + QDECREF(null); qobject_decref(obj); visit_free(v); - g_assert(qnull_.refcnt == 1); + g_assert(qnull_.base.refcnt == 1); } int main(int argc, char **argv) |