Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_segment_control_tc2.c
1 /*
2  * Tested interface: AtkSelection
3  *
4  * Tested AtkObject: EailSegmentControl
5  *
6  * Description: Test AtkSelection interface
7  *
8  * Test input: accessible object representing EailSegmentControl
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 #define EAIL_TEST_SELECTED_INDEX 3
19
20 INIT_TEST("EailSegmentControl")
21
22 static void
23 _do_test(AtkObject *obj)
24 {
25    int i = 0;
26
27    g_assert(ATK_IS_SELECTION(obj));
28
29    /* only one objec can be selected at time, if '0' is selected then
30     * rest of them should be unselected*/
31    for (i = 0; i < 7; ++i)
32      {
33          Eina_Bool state;
34
35          state =  atk_selection_is_child_selected(ATK_SELECTION(obj), i);
36          /* only item with index EAIL_TEST_SELECTED_INDEX should be selected */
37          if (i == EAIL_TEST_SELECTED_INDEX)
38             g_assert(TRUE == state);
39          else
40             g_assert(FALSE == state);
41
42      }
43
44    eailu_test_code_called = 1;
45 }
46
47 static void
48 _init_diskselector(Evas_Object *win)
49 {
50    Evas_Object *sgm_ctrl = NULL, *vbox;
51    Elm_Object_Item *obj_item = NULL;
52    unsigned int i;
53    static const char *lbl[] =
54      {
55         "Sunday",
56         "Monday",
57         "Tuesday",
58         "Wednesday",
59         "Thursday",
60         "Friday",
61         "Saturday"
62      };
63
64    vbox = elm_box_add(win);
65    elm_win_resize_object_add(win, vbox);
66    evas_object_size_hint_weight_set(vbox, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
67    evas_object_show(vbox);
68
69    /* default */
70    sgm_ctrl = elm_segment_control_add(win);
71    evas_object_size_hint_weight_set
72                                  (sgm_ctrl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
73    evas_object_size_hint_align_set
74                                  (sgm_ctrl, EVAS_HINT_FILL, EVAS_HINT_FILL);
75
76    elm_box_pack_end(vbox, sgm_ctrl);
77
78    for (i = 0; i < sizeof(lbl) / sizeof(lbl[0]); i++)
79      {
80          obj_item = elm_segment_control_item_add(sgm_ctrl, NULL , lbl[i]);
81
82          /* marking element as selected */
83          if (EAIL_TEST_SELECTED_INDEX == i)
84             elm_segment_control_item_selected_set(obj_item, EINA_TRUE);
85      }
86
87
88    evas_object_show(sgm_ctrl);
89    evas_object_resize(win, 800, 200);
90 }
91
92 EAPI_MAIN int
93 elm_main(int argc, char **argv)
94 {
95    Evas_Object *win;
96
97    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
98    _init_diskselector(win);
99
100    evas_object_show(win);
101
102    elm_run();
103    elm_shutdown();
104
105    /* exit code */
106    return 0;
107 }
108 ELM_MAIN()