Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_map_tc2.c
1 /*
2  * Tested interface: AtkObject
3  *
4  * Tested AtkObject: EailMap
5  *
6  * Description: Test AtkObject interface
7  *
8  * Test input: accessible object representing EailMap
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 static int test_passed;
19
20 static void
21 _on_done(void *data, Evas_Object *object, void *event_info)
22 {
23    elm_exit();
24 }
25
26 static void
27 _do_test(AtkObject *object)
28 {
29    int w,h;
30    gboolean result;
31    const gchar *description;
32
33    g_assert(eailu_is_object_with_role(object, ATK_ROLE_IMAGE_MAP));
34    g_assert(atk_object_get_name(object) != NULL);
35    atk_image_get_image_size(ATK_IMAGE(object), &w, &h);
36    g_assert(w == 512);
37    g_assert(h == 512);
38    result = atk_image_set_image_description(ATK_IMAGE(object),
39                                             "This is a map");
40    g_assert(result);
41    description = atk_image_get_image_description(ATK_IMAGE(object));
42    g_assert(!strcmp(description, "This is a map"));
43
44    test_passed++;
45 }
46
47 static void
48 _on_map_loaded(void *data, Evas_Object *obj, void *event_info)
49 {
50    AtkObject *aobj = atk_get_root();
51    if (aobj)
52      eailu_traverse_children_for_type_call_cb(aobj, "EailMap", _do_test);
53
54    g_assert(test_passed);
55
56    _on_done(NULL, obj, NULL);
57 }
58
59 static void
60 _init_map(Evas_Object *win)
61 {
62    Evas_Object *bg, *map;
63
64    bg = elm_bg_add(win);
65    elm_win_resize_object_add(win, bg);
66    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
67    evas_object_show(bg);
68
69    map = elm_map_add(win);
70    elm_win_resize_object_add(win, map);
71    evas_object_size_hint_weight_set(map, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
72    evas_object_show(map);
73
74    evas_object_smart_callback_add(map, "loaded", _on_map_loaded, NULL);
75    elm_map_zoom_set(map, 6);
76    elm_map_region_show(map, 19.45, 51.75);
77    evas_object_resize(win, 512, 512);
78 }
79
80 EAPI_MAIN int
81 elm_main(int argc, char **argv)
82 {
83    Evas_Object *win;
84
85    win = eailu_create_test_window_with_glib_init(NULL, NULL);
86    _init_map(win);
87    evas_object_show(win);
88
89    elm_run();
90    elm_shutdown();
91
92    return 0;
93 }
94 ELM_MAIN()