diff --git a/legacy/eobj/examples/signals/main.c b/legacy/eobj/examples/signals/main.c index 846a681b11..a9be0a1fd8 100644 --- a/legacy/eobj/examples/signals/main.c +++ b/legacy/eobj/examples/signals/main.c @@ -43,13 +43,26 @@ main(int argc, char *argv[]) eobj_event_callback_del_full(obj, SIG_A_CHANGED, _a_changed_cb, (void *) 3); fail_if(pd->cb_count != 3); - eobj_event_callback_del_full(obj, SIG_A_CHANGED, _a_changed_cb, (void *) 4); + + fail_if(eobj_event_callback_del_full(obj, SIG_A_CHANGED, _a_changed_cb, (void *) 12)); + fail_if(pd->cb_count != 3); + + fail_if(4 != (int) eobj_event_callback_del_full(obj, SIG_A_CHANGED, _a_changed_cb, (void *) 4)); fail_if(pd->cb_count != 2); eobj_event_callback_del(obj, SIG_A_CHANGED, _a_changed_cb); fail_if(pd->cb_count != 1); + + fail_if(eobj_event_callback_del(obj, SIG_A_CHANGED, NULL)); + fail_if(pd->cb_count != 1); + fail_if(eobj_event_callback_del_full(obj, SIG_A_CHANGED, NULL, 0)); + fail_if(pd->cb_count != 1); + eobj_event_callback_del(obj, SIG_A_CHANGED, _a_changed_cb); fail_if(pd->cb_count != 0); + fail_if(eobj_event_callback_del(obj, SIG_A_CHANGED, _a_changed_cb)); + fail_if(pd->cb_count != 0); + eobj_unref(obj); eobj_shutdown(); return 0; diff --git a/legacy/eobj/tests/eobj_test_general.c b/legacy/eobj/tests/eobj_test_general.c index 17b095478d..454ae10ba9 100644 --- a/legacy/eobj/tests/eobj_test_general.c +++ b/legacy/eobj/tests/eobj_test_general.c @@ -49,8 +49,34 @@ START_TEST(eobj_op_errors) } END_TEST +START_TEST(eobj_generic_data) +{ + eobj_init(); + Eobj *obj = eobj_add(SIMPLE_CLASS, NULL); + + eobj_generic_data_set(obj, "test1", (void *) 1); + fail_if(1 != (int) eobj_generic_data_get(obj, "test1")); + fail_if(1 != (int) eobj_generic_data_del(obj, "test1")); + fail_if(eobj_generic_data_del(obj, "test1")); + + eobj_generic_data_set(obj, "test1", (void *) 1); + eobj_generic_data_set(obj, "test2", (void *) 2); + fail_if(2 != (int) eobj_generic_data_get(obj, "test2")); + fail_if(2 != (int) eobj_generic_data_del(obj, "test2")); + fail_if(eobj_generic_data_del(obj, "test2")); + + fail_if(1 != (int) eobj_generic_data_get(obj, "test1")); + fail_if(1 != (int) eobj_generic_data_del(obj, "test1")); + fail_if(eobj_generic_data_del(obj, "test1")); + + eobj_unref(obj); + eobj_shutdown(); +} +END_TEST + void eobj_test_general(TCase *tc) { + tcase_add_test(tc, eobj_generic_data); tcase_add_test(tc, eobj_op_errors); tcase_add_test(tc, eobj_simple); }