diff options
Diffstat (limited to 'src/tests/edje/edje_test_edje.c')
-rw-r--r-- | src/tests/edje/edje_test_edje.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/tests/edje/edje_test_edje.c b/src/tests/edje/edje_test_edje.c index 8a3d6451a8..658f115d89 100644 --- a/src/tests/edje/edje_test_edje.c +++ b/src/tests/edje/edje_test_edje.c @@ -350,6 +350,37 @@ START_TEST(edje_test_color_class) } END_TEST +START_TEST(edje_test_swallows) +{ + Evas *evas = EDJE_TEST_INIT_EVAS(); + Evas_Object *ly, *o1, *o2; + + ly = eo_add(EDJE_OBJECT_CLASS, evas); + fail_unless(edje_object_file_set(ly, test_layout_get("test_swallows.edj"), "test_group")); + + fail_unless(edje_object_part_exists(ly, "swallow")); + + + o1 = eo_add(EDJE_OBJECT_CLASS, ly); + fail_if(!edje_obj_part_swallow(ly, "swallow", o1)); + ck_assert_ptr_eq(eo_parent_get(o1), ly); + + edje_obj_part_unswallow(ly, o1); + ck_assert_ptr_eq(eo_parent_get(o1), evas_common_evas_get(o1)); + + fail_if(!edje_obj_part_swallow(ly, "swallow", o1)); + ck_assert_ptr_eq(eo_parent_get(o1), ly); + + o2 = eo_add(EDJE_OBJECT_CLASS, ly); + fail_if(!edje_obj_part_swallow(ly, "swallow", o2)); + ck_assert_ptr_eq(eo_parent_get(o2), ly); + /* o1 is deleted at this point. */ + ck_assert_ptr_eq(eo_parent_get(o1), evas_common_evas_get(o1)); + + EDJE_TEST_FREE_EVAS(); +} +END_TEST + void edje_test_edje(TCase *tc) { tcase_add_test(tc, edje_test_edje_init); @@ -363,4 +394,5 @@ void edje_test_edje(TCase *tc) tcase_add_test(tc, edje_test_snapshot); tcase_add_test(tc, edje_test_size_class); tcase_add_test(tc, edje_test_color_class); + tcase_add_test(tc, edje_test_swallows); } |