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.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9863
This commit is contained in:
Marcel Hollerbach 2019-09-06 14:00:58 +02:00
parent c963239086
commit 2d2e01bdec
1 changed files with 44 additions and 0 deletions

View File

@ -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);