Eobj: Added some more test scenarios.

SVN revision: 70147
This commit is contained in:
Tom Hacohen 2012-04-12 14:37:57 +00:00
parent de70c853ea
commit 739441afeb
3 changed files with 32 additions and 0 deletions

View File

@ -30,6 +30,8 @@ _constructor(Eobj *obj, void *class_data __UNUSED__)
fail_if(eobj_composite_is(obj));
fail_if(!eobj_composite_is(simple));
eobj_generic_data_set(obj, "simple-obj", simple);
eobj_unref(simple);
}

View File

@ -36,6 +36,22 @@ main(int argc, char *argv[])
eobj_do(obj, SIMPLE_A_GET(&a));
fail_if(a != 1);
/* disable the callback forwarder, and fail if it's still called. */
Eobj *simple = eobj_generic_data_get(obj, "simple-obj");
eobj_ref(simple);
eobj_event_callback_forwarder_del(simple, SIG_A_CHANGED, obj);
cb_called = EINA_FALSE;
eobj_do(obj, SIMPLE_A_SET(2));
fail_if(cb_called);
fail_if(!eobj_composite_is(simple));
eobj_composite_object_detach(obj, simple);
fail_if(eobj_composite_is(simple));
eobj_composite_object_attach(obj, simple);
fail_if(!eobj_composite_is(simple));
eobj_unref(simple);
eobj_unref(obj);
eobj_shutdown();

View File

@ -30,6 +30,20 @@ START_TEST(eobj_op_errors)
/* Ilegal class. */
fail_if(eobj_do(obj, 0x0F010111));
fail_if(eobj_ref_get(obj) != 1);
eobj_ref(obj);
fail_if(eobj_ref_get(obj) != 2);
eobj_ref(obj);
fail_if(eobj_ref_get(obj) != 3);
eobj_unref(obj);
fail_if(eobj_ref_get(obj) != 2);
eobj_unref(obj);
fail_if(eobj_ref_get(obj) != 1);
eobj_unref(obj);
eobj_shutdown();
}