From 2d2e01bdecc59f87649940645dc0ee48a49caf3b Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Fri, 6 Sep 2019 14:00:58 +0200 Subject: [PATCH] efl_ui_spec: add tests for the previous fixes we should check that if existing is not added before, that we do not perform reparenting, and that we return false. Reviewed-by: Mike Blumenkrantz Differential Revision: https://phab.enlightenment.org/D9863 --- .../elementary/spec/efl_test_pack_linear.c | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/tests/elementary/spec/efl_test_pack_linear.c b/src/tests/elementary/spec/efl_test_pack_linear.c index 4747ec82b3..b66f449b8d 100644 --- a/src/tests/elementary/spec/efl_test_pack_linear.c +++ b/src/tests/elementary/spec/efl_test_pack_linear.c @@ -161,6 +161,27 @@ EFL_START_TEST(pack_before2) } EFL_END_TEST +EFL_START_TEST(pack_before3) +{ + Efl_Ui_Widget *wid[3]; + Efl_Ui_Widget *inv = create_test_widget(); + Efl_Ui_Widget *inv2 = create_test_widget(); + + _fill_array(wid); + + for (int i = 0; i < 3; i++) + efl_pack_end(widget, wid[i]); + + EXPECT_ERROR_START; + ck_assert_int_eq(efl_pack_before(widget, inv, inv2), EINA_FALSE); + EXPECT_ERROR_END; + ck_assert_ptr_ne(efl_test_parent_get(inv), widget); + + ck_assert_int_eq(efl_pack_before(widget, inv, wid[0]), EINA_TRUE); + ck_assert_ptr_eq(efl_test_parent_get(inv), widget); +} +EFL_END_TEST + EFL_START_TEST(pack_after1) { Efl_Ui_Widget *wid[3]; @@ -205,6 +226,27 @@ EFL_START_TEST(pack_after2) } EFL_END_TEST +EFL_START_TEST(pack_after3) +{ + Efl_Ui_Widget *wid[3]; + Efl_Ui_Widget *inv = create_test_widget(); + Efl_Ui_Widget *inv2 = create_test_widget(); + + _fill_array(wid); + + for (int i = 0; i < 3; i++) + efl_pack_end(widget, wid[i]); + + EXPECT_ERROR_START; + ck_assert_int_eq(efl_pack_after(widget, inv, inv2), EINA_FALSE); + EXPECT_ERROR_END; + ck_assert_ptr_ne(efl_test_parent_get(inv), widget); + + ck_assert_int_eq(efl_pack_after(widget, inv, wid[0]), EINA_TRUE); + ck_assert_ptr_eq(efl_test_parent_get(inv), widget); +} +EFL_END_TEST + EFL_START_TEST(pack_at1) { for (int x = -3; x < 3; ++x) @@ -406,8 +448,10 @@ efl_pack_linear_behavior_test(TCase *tc) tcase_add_test(tc, pack_end2); tcase_add_test(tc, pack_before1); tcase_add_test(tc, pack_before2); + tcase_add_test(tc, pack_before3); tcase_add_test(tc, pack_after1); tcase_add_test(tc, pack_after2); + tcase_add_test(tc, pack_after3); tcase_add_test(tc, pack_at1); tcase_add_test(tc, pack_at2); tcase_add_test(tc, pack_at3);