2 * Tested interface: AtkEditableText
4 * Tested AtkObject: EailEntry
6 * Description: Test AtkEditableText interface
8 * Test input: accessible object representing EailEntry
10 * Expected test result: test should return 0 (success)
13 #include <Elementary.h>
16 #include "eail_test_utils.h"
18 #define ENTRY_TEXT "Trololo lololololo olololo"
19 #define ENTRY_FIRST "first"
20 #define ENTRY_SECOND "second"
22 INIT_TEST("EailEntry")
25 _test_state(AtkObject *obj, AtkStateType state_type)
27 AtkStateSet *state_set;
29 state_set = atk_object_ref_state_set(obj);
30 g_assert(atk_state_set_contains_state(state_set, state_type));
31 g_object_unref(state_set);
35 _do_test(AtkObject *obj)
38 int start_offset, end_offset;
40 g_assert(ATK_IS_EDITABLE_TEXT(obj));
42 text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
43 if (!g_strcmp0(text, ENTRY_FIRST))
47 text = g_strdup(ENTRY_TEXT);
48 atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj), text);
53 text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
54 g_assert_cmpstr(text, ==, ENTRY_TEXT);
59 atk_editable_text_delete_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
60 text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
61 g_assert_cmpstr(text, ==, " lololololo olololo");
64 atk_editable_text_insert_text(ATK_EDITABLE_TEXT(obj), "Trololo", 7,
66 text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
67 g_assert(start_offset == 7);
68 g_assert_cmpstr(text, ==, ENTRY_TEXT);
73 atk_editable_text_copy_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
74 atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj), "123");
75 atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj), 3);
79 text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
80 g_assert_cmpstr(text, ==, "123lololololo");
85 atk_editable_text_cut_text(ATK_EDITABLE_TEXT(obj), start_offset, end_offset);
86 text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
87 g_assert_cmpstr(text, ==, "lol");
92 atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj), 3);
93 text = atk_text_get_text(ATK_TEXT(obj), start_offset, end_offset);
94 g_assert_cmpstr(text, ==, "lol123olololo");
97 atk_editable_text_cut_text(ATK_EDITABLE_TEXT(obj), 3, 6);
98 text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
99 g_assert_cmpstr(text, ==, "lololololo");
102 else if (!g_strcmp0(text, ENTRY_SECOND))
105 atk_editable_text_paste_text(ATK_EDITABLE_TEXT(obj), 0);
106 text = atk_text_get_text(ATK_TEXT(obj), 0, -1);
107 g_assert_cmpstr(text, ==, "123second");
110 eailu_test_code_called = 1;
115 _init_entry(Evas_Object *win)
117 Evas_Object *box, *tb, *bg, *en, *en2;
119 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
120 elm_win_autodel_set(win, EINA_TRUE);
122 bg = elm_bg_add(win);
123 elm_win_resize_object_add(win, bg);
124 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125 evas_object_show(bg);
127 box = elm_box_add(win);
128 evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
129 elm_win_resize_object_add(win, box);
130 evas_object_show(box);
132 tb = elm_box_add(win);
133 elm_box_horizontal_set(tb, EINA_TRUE);
134 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, 0.0);
135 evas_object_size_hint_weight_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
136 elm_box_pack_end(box, tb);
137 evas_object_show(tb);
139 en = elm_entry_add(win);
140 elm_entry_autosave_set(en, EINA_FALSE);
141 elm_entry_line_wrap_set(en, ELM_WRAP_WORD);
142 elm_entry_entry_set(en, ENTRY_FIRST);
143 evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
144 evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
145 elm_box_pack_end(box, en);
146 evas_object_show(en);
148 en2 = elm_entry_add(win);
149 elm_entry_autosave_set(en2, EINA_FALSE);
150 elm_entry_line_wrap_set(en2, ELM_WRAP_WORD);
151 elm_entry_entry_set(en2, ENTRY_SECOND);
152 evas_object_size_hint_weight_set(en2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
153 evas_object_size_hint_align_set(en2, EVAS_HINT_FILL, EVAS_HINT_FILL);
154 elm_box_pack_end(box, en2);
155 evas_object_show(en2);
157 evas_object_resize(win, 200, 300);
161 elm_main(int argc, char *argv[])
165 win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
167 evas_object_show(win);