efl_ui_selectable: add spec test suite for this

Summary:
this brings a spec test suite for Efl.Ui.Selectable

Depends on D9517

Reviewers: zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9518
This commit is contained in:
Marcel Hollerbach 2019-08-08 09:12:46 -04:00 committed by Mike Blumenkrantz
parent 5f1e44ddad
commit 090588f58b
3 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,57 @@
#ifdef HAVE_CONFIG_H
# include "elementary_config.h"
#endif
#include <Efl_Ui.h>
#include "efl_ui_spec_suite.h"
#include "suite_helpers.h"
/* spec-meta-start
{"test-interface":"Efl.Ui.Selectable",
"test-widgets": ["Efl.Ui.Item.Realized", "Efl.Ui.Check"]}
spec-meta-end */
static void
_callback_assert_called_once(void *data, const Efl_Event *ev EINA_UNUSED)
{
int *callback_called = data;
ck_assert_int_eq(*callback_called, 0);
*callback_called = *callback_called + 1;
}
EFL_START_TEST(selectable_events)
{
int callback_called = 0;
efl_event_callback_add(widget, EFL_UI_EVENT_SELECTED_CHANGED, _callback_assert_called_once, &callback_called);
efl_ui_selectable_selected_set(widget, EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(widget), EINA_TRUE);
ck_assert_int_eq(callback_called, 1);
callback_called = 0;
efl_ui_selectable_selected_set(widget, EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(widget), EINA_FALSE);
ck_assert_int_eq(callback_called, 1);
callback_called = 0;
efl_ui_selectable_selected_set(widget, EINA_TRUE);
callback_called = 0;
efl_ui_selectable_selected_set(widget, EINA_TRUE);
ck_assert_int_eq(callback_called, 0);
}
EFL_END_TEST
EFL_START_TEST(selectable_set)
{
ck_assert_int_eq(efl_ui_selectable_selected_get(widget), EINA_FALSE);
efl_ui_selectable_selected_set(widget, EINA_TRUE);
ck_assert_int_eq(efl_ui_selectable_selected_get(widget), EINA_TRUE);
efl_ui_selectable_selected_set(widget, EINA_FALSE);
ck_assert_int_eq(efl_ui_selectable_selected_get(widget), EINA_FALSE);
}
EFL_END_TEST
void
efl_ui_selectable_behavior_test(TCase *tc)
{
tcase_add_test(tc, selectable_set);
tcase_add_test(tc, selectable_events);
}

View File

@ -21,6 +21,7 @@ void efl_ui_range_display_interactive_behavior_test(TCase *tc);
void efl_ui_view_behavior_test(TCase *tc);
void efl_ui_single_selectable_behavior_test(TCase *tc);
void efl_ui_multi_selectable_behavior_test(TCase *tc);
void efl_ui_selectable_behavior_test(TCase *tc);
void efl_test_container_content_equal(Efl_Ui_Widget **wid, unsigned int len);
void efl_test_container_expect_evt_content_added(Efl_Ui_Widget *widget, const Efl_Event_Description *ev, Eina_Bool *flag, void *event_data);

View File

@ -10,6 +10,7 @@ efl_ui_suite_behavior_test_files = files([
'efl_test_ui_view.c',
'efl_test_single_selectable.c',
'efl_test_multi_selectable.c',
'efl_test_selectable.c',
])
efl_ui_suite_behavior_src = files([