Eobj: Improved tests.
authortasn <tasn>
Tue, 17 Apr 2012 10:27:40 +0000 (10:27 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 17 Apr 2012 10:27:40 +0000 (10:27 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eobj@70264 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

examples/signals/main.c
tests/eobj_test_general.c

index 846a681..a9be0a1 100644 (file)
@@ -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;
index 17b0954..454ae10 100644 (file)
@@ -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);
 }