2 * Tested interface: AtkAction
4 * Tested AtkObject: EailRadio
6 * Description: Test AtkAction interface
8 * Test input: accessible object representing EailRadio
10 * Expected test result: test should return 0 (success)
13 #include <Elementary.h>
16 #include "eail_test_utils.h"
18 #define ACTIONS_COUNT 1
19 #define DEFAULT_ACTION 0
23 #define RADIO1 "Radio 1"
24 #define RADIO2 "Radio 2"
25 #define RADIO3 "Radio 3"
29 INIT_TEST("EailRadioButton")
32 _init_radio(Evas_Object *win)
34 Evas_Object *bg, *radio, *group, *bx, *ic;
36 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
37 elm_win_autodel_set(win, EINA_TRUE);
40 elm_win_resize_object_add(win, bg);
43 bx = elm_box_add(win);
44 elm_box_horizontal_set(bx, EINA_TRUE);
45 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
46 elm_win_resize_object_add(win, bx);
49 group = radio = elm_radio_add(win);
50 elm_object_text_set(radio, RADIO1);
51 elm_radio_state_value_set(radio, 1);
52 elm_radio_value_pointer_set(radio, &val);
53 ic = elm_icon_add(win);
54 elm_icon_standard_set(ic, "home");
55 elm_object_part_content_set(radio, "icon", ic);
56 elm_box_pack_end(bx, radio);
57 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
58 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
59 evas_object_show(radio);
61 radio = elm_radio_add(win);
62 elm_object_text_set(radio, RADIO2);
63 elm_radio_state_value_set(radio, 2);
64 elm_radio_value_pointer_set(radio, &val);
65 elm_radio_group_add(radio, group);
66 ic = elm_icon_add(win);
67 elm_icon_standard_set(ic, "file");
68 elm_object_part_content_set(radio, "icon", ic);
69 elm_box_pack_end(bx, radio);
70 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
71 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
72 evas_object_show(radio);
74 radio = elm_radio_add(win);
75 elm_object_text_set(radio, RADIO3);
76 elm_radio_state_value_set(radio, 3);
77 elm_radio_value_pointer_set(radio, &val);
78 elm_radio_group_add(radio, group);
79 elm_box_pack_end(bx, radio);
80 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
81 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
82 evas_object_show(radio);
84 elm_radio_value_set(radio, RADIO2_SEL);
88 _do_test(AtkObject *obj)
90 AtkStateSet *state_set = atk_object_ref_state_set(obj);
92 g_assert(ATK_IS_ACTION(obj));
94 g_assert(atk_action_get_n_actions(ATK_ACTION(obj)) == ACTIONS_COUNT);
96 eailu_test_action_description_all(ATK_ACTION(obj));
98 g_assert(atk_action_do_action(ATK_ACTION(obj), DEFAULT_ACTION));
99 state_set = atk_object_ref_state_set(obj);
100 g_assert(atk_state_set_contains_state(state_set, ATK_STATE_CHECKED));
101 g_object_unref(state_set);
103 g_assert((eailu_get_action_number(ATK_ACTION(obj), "typo")) == -1);
105 eailu_test_code_called = 1;
109 elm_main(int argc, char **argv)
113 win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
116 evas_object_show(win);