Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_multibuttonentry_tc3.c
1 /*
2  * Tested interface: AtkText
3  *
4  * Tested AtkObject: EailMultibuttonentry
5  *
6  * Description: Test AtkText interface
7  *
8  * Test input: accessible object representing EailMultibuttonentry
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 #define EAIL_TYPE_FOR_MBE "EailMultibuttonentry"
19 #define EAIL_TEST_INPUT_TEXT "Input text"
20 #define EAIL_TEST_CHANGED_TEXT "custom text"
21
22 INIT_TEST("EailMultibuttonentry")
23
24 static void
25 _do_test(AtkObject *obj)
26 {
27    g_assert(ATK_IS_TEXT(obj));
28
29    atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(obj),
30                                        EAIL_TEST_INPUT_TEXT);
31    g_assert(atk_text_get_character_count(ATK_TEXT(obj)) == 10);
32    g_assert(atk_text_get_character_at_offset(ATK_TEXT(obj), 3) == 'u');
33
34    eailu_test_code_called = 1;
35 }
36
37 static void
38 _init_multibutton_entry(Evas_Object *win)
39 {
40    Evas_Object *scroller, *bg, *box, *mb_entry;
41
42    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
43    elm_win_autodel_set(win, EINA_TRUE);
44
45    bg = elm_bg_add(win);
46    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
47    elm_win_resize_object_add(win, bg);
48    evas_object_show(bg);
49
50    box = elm_box_add(win);
51    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
52    elm_win_resize_object_add(win, box);
53    evas_object_show(box);
54
55    scroller = elm_scroller_add(win);
56    elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
57    elm_scroller_policy_set
58        (scroller, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
59    evas_object_show(scroller);
60
61    mb_entry = elm_multibuttonentry_add(win);
62    elm_object_part_text_set(mb_entry, "guide", "Tap to add recipient");
63    elm_object_text_set(mb_entry, EAIL_TEST_INPUT_TEXT);
64    evas_object_size_hint_weight_set(mb_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65    evas_object_size_hint_align_set(mb_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
66    elm_object_content_set(scroller, mb_entry);
67    evas_object_show(mb_entry);
68
69    elm_multibuttonentry_item_append(mb_entry, "first", NULL, NULL);
70    elm_multibuttonentry_item_append(mb_entry, "second", NULL, NULL);
71    elm_multibuttonentry_item_append(mb_entry, "third", NULL, NULL);
72    elm_multibuttonentry_item_append(mb_entry, "fourth", NULL, NULL);
73
74    elm_object_focus_set(mb_entry, EINA_TRUE);
75    elm_box_pack_end(box, mb_entry);
76
77    evas_object_resize(win, 130, 180);
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(_on_done, _on_focus_in);
86    _init_multibutton_entry(win);
87
88    evas_object_show(win);
89    elm_run();
90    elm_shutdown();
91
92    /* exit code */
93    return 0;
94 }
95 ELM_MAIN()