2 # include "elementary_config.h"
5 #define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
6 #include <Elementary.h>
9 static Evas_Object *win, *genlist;
10 static Elm_Gen_Item_Class itc;
13 static Elm_Atspi_Event_Children_Changed_Data ev_data;
18 elm_config_atspi_mode_set(EINA_TRUE);
19 win = elm_win_add(NULL, "genlist", ELM_WIN_BASIC);
20 genlist = elm_genlist_add(win);
23 START_TEST (elm_atspi_role_get)
29 eo_do(genlist, role = elm_interface_atspi_accessible_role_get());
31 ck_assert(role == ELM_ATSPI_ROLE_LIST);
37 START_TEST(elm_atspi_children_get1)
41 Elm_Object_Item *it[3];
43 eo_do(genlist, children = elm_interface_atspi_accessible_children_get());
44 ck_assert(children == NULL);
46 it[0] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
47 it[1] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
48 it[2] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
50 eo_do(genlist, children = elm_interface_atspi_accessible_children_get());
51 ck_assert(eina_list_count(children) == 3);
52 ck_assert(eina_list_nth(children, 0) == it[0]);
53 ck_assert(eina_list_nth(children, 1) == it[1]);
54 ck_assert(eina_list_nth(children, 2) == it[2]);
56 eina_list_free(children);
62 START_TEST(elm_atspi_children_get2)
66 Elm_Object_Item *it[3];
68 it[0] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
69 it[1] = elm_genlist_item_prepend(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
70 it[2] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_TREE, NULL, NULL);
72 eo_do(genlist, children = elm_interface_atspi_accessible_children_get());
73 ck_assert(eina_list_nth(children, 1) == it[0]);
74 ck_assert(eina_list_nth(children, 0) == it[1]);
75 ck_assert(eina_list_nth(children, 2) == it[2]);
82 _children_changed_cb(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
83 const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
85 ev_data = *(Elm_Atspi_Event_Children_Changed_Data*)event_info;
92 START_TEST(elm_atspi_children_events_add)
99 Elm_Object_Item *it[3];
101 eo_do(genlist, eo_event_callback_add(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_CHILDREN_CHANGED, _children_changed_cb, NULL));
103 it[0] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
104 ck_assert(genlist == current);
105 ck_assert(counter == 1);
106 ck_assert(ev_data.is_added == EINA_TRUE);
107 ck_assert(ev_data.child == it[0]);
109 it[1] = elm_genlist_item_prepend(genlist, &itc, it[0], NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
110 ck_assert(genlist == current);
111 ck_assert(counter == 2);
112 ck_assert(ev_data.is_added == EINA_TRUE);
113 ck_assert(ev_data.child == it[1]);
115 it[2] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_TREE, NULL, NULL);
116 ck_assert(genlist == current);
117 ck_assert(counter == 3);
118 ck_assert(ev_data.is_added == EINA_TRUE);
119 ck_assert(ev_data.child == it[2]);
125 START_TEST(elm_atspi_children_events_del1)
132 Elm_Object_Item *it[3];
134 it[0] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
135 it[1] = elm_genlist_item_prepend(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
136 it[2] = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_TREE, NULL, NULL);
138 eo_do(genlist, eo_event_callback_add(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_CHILDREN_CHANGED, _children_changed_cb, NULL));
140 elm_object_item_del(it[0]);
141 ck_assert(genlist == current);
142 ck_assert(counter == 1);
143 ck_assert(ev_data.is_added == EINA_FALSE);
144 ck_assert(ev_data.child == it[0]);
146 elm_object_item_del(it[2]);
147 ck_assert(genlist == current);
148 ck_assert(counter == 2);
149 ck_assert(ev_data.is_added == EINA_FALSE);
150 ck_assert(ev_data.child == it[2]);
156 START_TEST(elm_atspi_children_events_del2)
164 it = elm_genlist_item_append(genlist, &itc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
166 eo_do(genlist, eo_event_callback_add(ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_CHILDREN_CHANGED, _children_changed_cb, NULL));
167 elm_genlist_clear(genlist);
169 ck_assert(genlist == current);
170 ck_assert(counter == 1);
171 ck_assert(ev_data.is_added == EINA_FALSE);
172 ck_assert(ev_data.child == it);
178 void elm_test_genlist(TCase *tc)
180 tcase_add_test(tc, elm_atspi_role_get);
181 tcase_add_test(tc, elm_atspi_children_get1);
182 tcase_add_test(tc, elm_atspi_children_get2);
183 tcase_add_test(tc, elm_atspi_children_events_add);
184 tcase_add_test(tc, elm_atspi_children_events_del1);
185 tcase_add_test(tc, elm_atspi_children_events_del2);