efl
45 строк · 977.0 Байт
1#ifdef HAVE_CONFIG_H2# include "elementary_config.h"3#endif4
5#include <Efl_Ui.h>6#include <Elementary.h>7#include "elm_suite.h"8
9static Eo *win;10
11static void12callback_setup()13{
14win = win_add();15
16efl_gfx_entity_size_set(win, EINA_SIZE2D(500, 50));17}
18
19static void20_btn_visibility_change(void *data EINA_UNUSED, const Efl_Event *ev)21{
22Eina_Bool *flag = data;23Eina_Bool *visible = ev->info;24
25if (!(*visible))26*flag = EINA_TRUE;27}
28
29EFL_START_TEST(efl_ui_callback_visibility)30{
31Eina_Bool check = EINA_FALSE;32Eo *box = efl_add(EFL_UI_BOX_CLASS, win,33efl_content_set(win, efl_added));34efl_event_callback_add(box, EFL_GFX_ENTITY_EVENT_VISIBILITY_CHANGED, _btn_visibility_change, &check);35efl_gfx_entity_visible_set(box, EINA_FALSE);36
37ck_assert_int_eq(check, EINA_TRUE);38}
39EFL_END_TEST
40
41void efl_ui_test_callback(TCase *tc)42{
43tcase_add_checked_fixture(tc, callback_setup, NULL);44tcase_add_test(tc, efl_ui_callback_visibility);45}
46