Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_hover_tc1.c
1 /*
2  * Tested interface: AtkObject
3  *
4  * Tested AtkObject: EailHover
5  *
6  * Description: Test AtkObject interface
7  *
8  * Test input: accessible object representing EailHover
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("EailHover")
19
20 void
21 _init_hover(Evas_Object *win)
22 {
23    Evas_Object *bt, *bt2, *rect, *rect2, *rect3, *hover, *bg;
24
25    bg = elm_bg_add(win);
26    elm_win_resize_object_add(win, bg);
27    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
28    evas_object_show(bg);
29
30    rect = evas_object_rectangle_add(evas_object_evas_get(win));
31    evas_object_size_hint_min_set(rect, 25, 25);
32    evas_object_color_set(rect, 255, 0, 0, 255);
33    evas_object_show(rect);
34
35    rect2 = evas_object_rectangle_add(evas_object_evas_get(win));
36    evas_object_size_hint_min_set(rect2, 25, 25);
37    evas_object_color_set(rect2, 0, 255, 0, 255);
38    evas_object_show(rect2);
39
40    rect3 = evas_object_rectangle_add(evas_object_evas_get(win));
41    evas_object_size_hint_min_set(rect3, 25, 25);
42    evas_object_color_set(rect3, 0, 0, 255, 255);
43    evas_object_show(rect3);
44
45    bt = elm_button_add(win);
46    elm_object_text_set(bt, "Show hover");
47    evas_object_move(bt, 60, 90);
48    evas_object_resize(bt, 80, 20);
49    evas_object_show(bt);
50
51    bt2 = elm_button_add(win);
52    elm_object_text_set(bt2, "Hide hover");
53    evas_object_show(bt2);
54
55    hover = elm_hover_add(win);
56    elm_hover_parent_set(hover, win);
57    elm_hover_target_set(hover, bt);
58    elm_object_style_set(hover, "popout");
59    elm_object_part_content_set(hover, "left", rect);
60    elm_object_part_content_set(hover, "top", rect2);
61    elm_object_part_content_set(hover, "right", rect3);
62    elm_object_part_content_set(hover, "middle", bt2);
63    evas_object_show(hover);
64
65    evas_object_resize(win, 200, 200);
66    evas_object_show(win);
67 }
68
69 void
70 _do_test(AtkObject *obj)
71 {
72    AtkObject *parent = atk_object_get_parent(obj);
73    const char *parent_name = g_type_name(G_TYPE_FROM_INSTANCE(parent));
74
75    g_assert(ATK_IS_OBJECT(obj));
76    atk_object_set_description(obj, "test");
77    g_assert_cmpstr(atk_object_get_description(obj), ==, "test");
78
79    atk_object_set_name(obj, "test name");
80    g_assert_cmpstr(atk_object_get_name(obj), ==, "test name");
81
82    g_assert_cmpstr(parent_name, ==, "EailWindow");
83    g_assert(atk_object_get_role(obj) == ATK_ROLE_GLASS_PANE);
84
85    eailu_test_code_called = 1;
86 }
87
88 EAPI_MAIN int
89 elm_main(int argc, char **argv)
90 {
91    Evas_Object *win = NULL;
92
93    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
94    if (!win) return 1;
95
96    _init_hover(win);
97    evas_object_show(win);
98    elm_run();
99    elm_shutdown();
100
101    return 0;
102 }
103 ELM_MAIN()
104