Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_list_tc2.c
1 /*
2  * Tested interface: AtkAction
3  *
4  * Tested AtkObject: EailList
5  *
6  * Description: Test AtkAction interface
7  *
8  * Test input: accessible object representing EailList
9  *
10  * Expected test result: test should return 0 (success)
11  */
12
13 #include <Elementary.h>
14 #include <atk/atk.h>
15
16 #include "eail_test_utils.h"
17
18 INIT_TEST("EailList")
19
20 static Evas_Object *glob_elm_list = NULL;
21
22 void
23 _do_test(AtkObject *aobj)
24 {
25    int n_actions = 0;
26
27    g_assert(ATK_IS_ACTION(aobj));
28    n_actions = atk_action_get_n_actions(ATK_ACTION(aobj));
29    g_assert(4 == n_actions);
30
31    /* scroll up*/
32    eailu_test_action_activate(ATK_ACTION(aobj), "scroll_up");
33
34    /* scroll_down */
35    eailu_test_action_activate(ATK_ACTION(aobj), "scroll_down");
36
37    /* scroll_left */
38    eailu_test_action_activate(ATK_ACTION(aobj), "scroll_left");
39
40    /* scroll_right*/
41    eailu_test_action_activate(ATK_ACTION(aobj), "scroll_right");
42
43    /* description test */
44    eailu_test_action_description_all(ATK_ACTION(aobj));
45
46    eailu_test_code_called = 1;
47 }
48
49 void
50 _init_list(Evas_Object *win)
51 {
52    Evas_Object *box, *entry;
53    int i = 0;
54
55    static const char *lbl[] =
56      {
57         "Sunday",
58         "Monday",
59         "Tuesday",
60         "Wednesday",
61         "Thursday",
62         "Friday",
63         "Saturday"
64      };
65
66    box = elm_box_add(win);
67    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
68    elm_win_resize_object_add(win, box);
69    evas_object_show(box);
70
71    glob_elm_list = elm_list_add(win);
72    evas_object_size_hint_weight_set(glob_elm_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
73    evas_object_size_hint_align_set(glob_elm_list, EVAS_HINT_FILL, EVAS_HINT_FILL);
74    elm_object_tree_focus_allow_set(win, EINA_TRUE);
75
76    entry = elm_entry_add(win);
77    elm_entry_single_line_set(entry, EINA_TRUE);
78    evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, 0.0);
79    evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
80    evas_object_show(entry);
81
82    for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++)
83      elm_list_item_append(glob_elm_list, lbl[i], entry, entry, NULL, NULL);
84
85    elm_box_pack_end(box, glob_elm_list);
86
87    elm_list_go(glob_elm_list);
88    evas_object_show(glob_elm_list);
89 }
90
91 EAPI_MAIN int
92 elm_main(int argc, char **argv)
93 {
94    Evas_Object *win;
95
96    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
97    _init_list(win);
98
99    /* and show the window */
100    evas_object_show(win);
101
102    elm_run();
103    elm_shutdown();
104
105    /* exit code */
106    return 0;
107 }
108 ELM_MAIN()