Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_check_tc2.c
1 /*
2  * Tested interface: AtkObject
3  *
4  * Tested AtkObject: EailCheck
5  *
6  * Description: Test whether accessible object is successfully registered
7  *    in GObject type system and is visible in AtkObject tree.
8  *
9  * Test input: accessible object representing EailCheck
10  *
11  * Expected test result: test should return 0 (success)
12  */
13
14 #include <Elementary.h>
15 #include <atk/atk.h>
16
17 #include "eail_test_utils.h"
18
19 #define CHECK_TEXT2 "checkbox2"
20
21 INIT_TEST("EailCheck")
22
23 static void
24 _init_check(Evas_Object *win)
25 {
26    Evas_Object *bg, *cb2, *icon;
27    Eina_Bool value2;
28
29    bg = elm_bg_add(win);
30    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
31    elm_win_resize_object_add(win, bg);
32    evas_object_show(bg);
33
34    icon = elm_icon_add(win);
35    elm_icon_order_lookup_set(icon, ELM_ICON_LOOKUP_THEME_FDO);
36    elm_icon_standard_set(icon, "home");
37    evas_object_show(icon);
38
39    cb2 = elm_check_add(win);
40    elm_object_text_set(cb2, CHECK_TEXT2);
41    elm_check_state_pointer_set(cb2, &value2);
42    elm_check_state_set(cb2, EINA_TRUE);
43    elm_object_part_content_set(cb2, "icon", icon);
44    evas_object_move(cb2, 10, 50);
45    evas_object_resize(cb2, 200, 30);
46    evas_object_show(cb2);
47 }
48
49 static void
50 _do_test(AtkObject *obj)
51 {
52    const char *name = atk_object_get_name(ATK_OBJECT(obj));
53    const char *type_name_child;
54    AtkStateSet *state_set;
55    AtkObject *xobj;
56
57    g_assert(ATK_IS_OBJECT(obj));
58
59    atk_object_set_description(obj, "test");
60    g_assert_cmpstr(atk_object_get_description(obj), ==, "test");
61
62    g_assert(atk_object_get_role(obj) == ATK_ROLE_CHECK_BOX);
63    g_assert_cmpstr(name, ==, CHECK_TEXT2);
64
65    state_set = atk_object_ref_state_set(obj);
66    g_assert(atk_state_set_contains_state(state_set, ATK_STATE_CHECKED));
67    g_object_unref(state_set);
68
69    atk_object_set_name(obj, CHECK_TEXT2"test");
70    g_assert_cmpstr(atk_object_get_name(obj), ==, CHECK_TEXT2"test");
71
72    // test children
73    g_assert(1 == atk_object_get_n_accessible_children(obj));
74
75    xobj = atk_object_ref_accessible_child(obj, 0);
76    g_assert(NULL != xobj);
77    type_name_child = g_type_name(G_TYPE_FROM_INSTANCE(xobj));
78    _printf("type_name_child: %s\n", type_name_child);
79    g_assert_cmpstr(type_name_child, ==, "EailIcon");
80    g_object_unref(xobj);
81
82    eailu_test_code_called = 1;
83 }
84
85 EAPI_MAIN int
86 elm_main(int argc, char **argv)
87 {
88    Evas_Object *win;
89
90    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
91    g_assert(win);
92    _init_check(win);
93    evas_object_show(win);
94    elm_run();
95    elm_shutdown();
96
97    return 0;
98 }
99 ELM_MAIN()