Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_panel_tc2.c
1 /*
2  * Tested interface: AtkAction
3  *
4  * Tested AtkObject: EailPanel
5  *
6  * Description: Test AtkAction interface
7  *
8  * Test input: accessible object representing EailPanel
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("EailPanel")
18
19 static void
20 _do_test(AtkObject *object)
21 {
22    gboolean result;
23
24    g_assert(ATK_IS_ACTION(object));
25
26    AtkAction *action = ATK_ACTION(object);
27    int actions_num = atk_action_get_n_actions(action);
28    g_assert(actions_num == 1);
29    const gchar *action_name = atk_action_get_name(action, 0);
30    g_assert(!strcmp("toggle", action_name));
31    result = atk_action_do_action(action, 0);
32    eailu_test_action_description_all(ATK_ACTION(object));
33    g_assert(result);
34
35    AtkStateSet *state_set = atk_object_ref_state_set(object);
36    gboolean contains = atk_state_set_contains_state(state_set,
37                                                     ATK_STATE_VISIBLE);
38    g_assert(contains);
39    g_object_unref(state_set);
40
41    eailu_test_code_called = 1;
42 }
43
44 static void
45 _init_panel(Evas_Object *win)
46 {
47    Evas_Object *bg, *bx, *panel, *content;
48
49
50    bg = elm_bg_add(win);
51    elm_win_resize_object_add(win, bg);
52    evas_object_show(bg);
53
54    bx = elm_box_add(win);
55    elm_box_horizontal_set(bx, EINA_FALSE);
56    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
57    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
58    elm_win_resize_object_add(win, bx);
59    evas_object_show(bx);
60
61    panel = elm_panel_add(win);
62    elm_panel_orient_set(panel, ELM_PANEL_ORIENT_TOP);
63    elm_panel_toggle(panel);
64    evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65    evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL);
66    evas_object_show(panel);
67    elm_box_pack_end(bx, panel);
68
69    content = elm_label_add(win);
70    elm_object_text_set(content, "content");
71    evas_object_show(content);
72    elm_object_content_set(panel, content);
73
74    panel = elm_panel_add(win);
75    elm_panel_orient_set(panel, ELM_PANEL_ORIENT_RIGHT);
76    elm_panel_hidden_set(panel, EINA_TRUE);
77    evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
78    evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL);
79    evas_object_show(panel);
80    elm_box_pack_end(bx, panel);
81
82    content = elm_label_add(win);
83    elm_object_text_set(content, "content2");
84    evas_object_show(content);
85    elm_object_content_set(panel, content);
86
87    panel = elm_panel_add(win);
88    evas_object_size_hint_weight_set(panel, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
89    evas_object_size_hint_align_set(panel, EVAS_HINT_FILL, EVAS_HINT_FILL);
90    evas_object_show(panel);
91    elm_box_pack_end(bx, panel);
92
93    content = elm_label_add(win);
94    elm_object_text_set(content, "content3");
95    evas_object_show(content);
96    elm_object_content_set(panel, content);
97 }
98
99 EAPI_MAIN int
100 elm_main(int argc, char **argv)
101 {
102    Evas_Object *win;
103    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
104    _init_panel(win);
105
106    evas_object_show(win);
107    elm_run();
108    elm_shutdown();
109
110    return 0;
111 }
112 ELM_MAIN()