bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2d2e01bdecc59f87649940645dc0ee48a49caf3b

commit 2d2e01bdecc59f87649940645dc0ee48a49caf3b
Author: Marcel Hollerbach <m...@marcel-hollerbach.de>
Date:   Fri Sep 6 14:00:58 2019 +0200

    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 <michael.blumenkra...@gmail.com>
    Differential Revision: https://phab.enlightenment.org/D9863
---
 src/tests/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);

-- 


Reply via email to