efl
142 строки · 3.4 Кб
1#ifdef HAVE_CONFIG_H2# include "elementary_config.h"3#endif4
5#define EFL_ACCESS_OBJECT_BETA6#include <Elementary.h>7#include "elm_suite.h"8
9EFL_START_TEST(elm_radio_legacy_type_check)10{
11Evas_Object *win, *radio;12const char *type;13
14win = win_add(NULL, "radio", ELM_WIN_BASIC);15
16radio = elm_radio_add(win);17
18type = elm_object_widget_type_get(radio);19ck_assert(type != NULL);20ck_assert(!strcmp(type, "Elm_Radio"));21
22type = evas_object_type_get(radio);23ck_assert(type != NULL);24ck_assert(!strcmp(type, "elm_radio"));25
26}
27EFL_END_TEST
28
29EFL_START_TEST(elm_atspi_role_get)30{
31Evas_Object *win, *radio;32Efl_Access_Role role;33
34win = win_add(NULL, "radio", ELM_WIN_BASIC);35
36radio = elm_radio_add(win);37role = efl_access_object_role_get(radio);38
39ck_assert(role == EFL_ACCESS_ROLE_RADIO_BUTTON);40
41}
42EFL_END_TEST
43
44static unsigned int radio_change_count = 0;45
46static void47_rdg_changed_cb()48{
49radio_change_count++;50ecore_main_loop_quit();51}
52
53EFL_START_TEST(elm_test_radio_selection)54{
55radio_change_count = 0;56Evas_Object *rd, *rdg;57Evas_Object *win = win_add(NULL, "radio", ELM_WIN_BASIC);58evas_object_resize(win, 100, 100);59
60// radio 161rd = elm_radio_add(win);62evas_object_resize(rd, 100, 100);63
64// rdg radio group65rdg = rd;66evas_object_smart_callback_add(rdg, "changed", _rdg_changed_cb, NULL);67
68elm_radio_state_value_set(rd, 1);69elm_object_text_set(rd, "Radio Group Test #1");70evas_object_show(rd);71
72
73// radio 274rd = elm_radio_add(win);75evas_object_smart_callback_add(rd, "changed", _rdg_changed_cb, NULL);76evas_object_resize(rd, 100, 100);77elm_radio_state_value_set(rd, 2);78elm_object_text_set(rd, "Radio Group Test #2");79elm_radio_group_add(rd, rdg);80evas_object_show(rd);81evas_object_show(win);82
83elm_layout_signal_emit(rdg, "elm,action,radio,toggle", "elm");84ecore_main_loop_begin();85ck_assert_int_eq(elm_radio_value_get(rdg), 1);86ck_assert_int_eq(radio_change_count, 1);87
88elm_layout_signal_emit(rd, "elm,action,radio,toggle", "elm");89ecore_main_loop_begin();90ck_assert_int_eq(elm_radio_value_get(rdg), 2);91ck_assert_int_eq(radio_change_count, 2);92
93elm_layout_signal_emit(rdg, "elm,action,radio,toggle", "elm");94ecore_main_loop_begin();95ck_assert_int_eq(elm_radio_value_get(rdg), 1);96ck_assert_int_eq(radio_change_count, 3);97}
98EFL_END_TEST
99
100EFL_START_TEST(elm_test_radio_callback)101{
102radio_change_count = 0;103Evas_Object *rd, *rdg;104Evas_Object *win = win_add(NULL, "radio", ELM_WIN_BASIC);105evas_object_resize(win, 100, 100);106
107// radio 1108rd = elm_radio_add(win);109evas_object_resize(rd, 100, 100);110
111// rdg radio group112rdg = rd;113evas_object_smart_callback_add(rdg, "changed", _rdg_changed_cb, NULL);114
115elm_radio_state_value_set(rd, 1);116elm_object_text_set(rd, "Radio Group Test #1");117evas_object_show(rd);118
119
120// radio 2121rd = elm_radio_add(win);122evas_object_resize(rd, 100, 100);123elm_radio_state_value_set(rd, 2);124elm_object_text_set(rd, "Radio Group Test #2");125elm_radio_group_add(rd, rdg);126evas_object_show(rd);127evas_object_show(win);128
129elm_radio_value_set(rdg, 2);130elm_radio_value_set(rdg, 1);131elm_radio_value_set(rdg, 2);132ck_assert_int_eq(radio_change_count, 0);133}
134EFL_END_TEST
135
136void elm_test_radio(TCase *tc)137{
138tcase_add_test(tc, elm_radio_legacy_type_check);139tcase_add_test(tc, elm_atspi_role_get);140tcase_add_test(tc, elm_test_radio_selection);141tcase_add_test(tc, elm_test_radio_callback);142}
143