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