Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_panes_tc1.c
1 /*
2  * Tested interface: AtkObject
3  *
4  * Tested AtkObject: EailPanes
5  *
6  * Description: Test AtkObject interface
7  *
8  * Test input: accessible object representing EailPanes
9  *
10  * Expected test result: test should return 0 (success)
11  */
12
13 #include <Elementary.h>
14 #include <atk/atk.h>
15 #include "eail_test_utils.h"
16
17 INIT_TEST("EailPanes")
18
19 static void
20 _do_test(AtkObject *obj)
21 {
22    int child_count = 0;
23
24    child_count = atk_object_get_n_accessible_children(obj);
25    g_assert(child_count == 2);
26    atk_object_set_description(obj, "test");
27    g_assert_cmpstr(atk_object_get_description(obj), ==, "test");
28
29    atk_object_set_name(obj, "test name");
30    g_assert_cmpstr(atk_object_get_name(obj), ==, "test name");
31
32    AtkStateSet *state_set = atk_object_ref_state_set(obj);
33    gboolean v_contains = atk_state_set_contains_state(state_set,
34                                                       ATK_STATE_VERTICAL);
35    gboolean h_contains = atk_state_set_contains_state(state_set,
36                                                       ATK_STATE_HORIZONTAL);
37    g_object_unref(state_set);
38    g_assert(v_contains || h_contains);
39
40    eailu_test_atk_focus(obj, TRUE);
41
42    eailu_test_code_called = 1;
43 }
44
45 static void
46 _init_panes(Evas_Object *win)
47 {
48    Evas_Object *bg, *panes, *panes_h, *bt;
49
50    bg = elm_bg_add(win);
51    elm_win_resize_object_add(win, bg);
52    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
53    elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
54    evas_object_show(bg);
55
56    panes = elm_panes_add(win);
57    elm_win_resize_object_add(win, panes);
58    evas_object_size_hint_weight_set(panes, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
59    evas_object_size_hint_align_set(panes, EVAS_HINT_FILL, EVAS_HINT_FILL);
60    evas_object_show(panes);
61
62    bt = elm_button_add(win);
63    elm_object_text_set(bt, "Left");
64    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
66    evas_object_show(bt);
67    elm_object_part_content_set(panes, "left", bt);
68
69    panes_h = elm_panes_add(win);
70    elm_panes_horizontal_set(panes_h, EINA_TRUE);
71    evas_object_size_hint_weight_set(panes_h, EVAS_HINT_EXPAND,
72                                     EVAS_HINT_EXPAND);
73    evas_object_size_hint_align_set(panes_h, EVAS_HINT_FILL, EVAS_HINT_FILL);
74    evas_object_show(panes_h);
75    elm_object_part_content_set(panes, "right", panes_h);
76
77    bt = elm_button_add(win);
78    elm_object_text_set(bt, "Up");
79    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
80    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
81    evas_object_show(bt);
82    elm_object_part_content_set(panes_h, "left", bt);
83
84    bt = elm_button_add(win);
85    elm_object_text_set(bt, "Down");
86    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
87    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
88    evas_object_show(bt);
89    elm_object_part_content_set(panes_h, "right", bt);
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    g_assert(win);
99    _init_panes(win);
100    evas_object_show(win);
101    elm_run();
102    elm_shutdown();
103
104    return 0;
105 }
106 ELM_MAIN()