Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / tests / eail_multibuttonentry_tc2.c
1 /*
2  * Tested interface: AtkAction
3  *
4  * Tested AtkObject: EailMultibuttonentry
5  *
6  * Description: Test AtkAction 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    AtkStateSet *state_set;
28
29    g_assert(ATK_IS_ACTION(obj));
30
31    /* atk_action_get_n_actions test */
32    g_assert(atk_action_get_n_actions(ATK_ACTION(obj)) == 2);
33
34    eailu_test_action_activate(ATK_ACTION(obj), "shrink");
35    state_set = atk_object_ref_state_set(obj);
36    g_assert(atk_state_set_contains_state(state_set, ATK_STATE_DEFAULT));
37    g_object_unref(state_set);
38
39    eailu_test_action_activate(ATK_ACTION(obj), "expand");
40    state_set = atk_object_ref_state_set(obj);
41    g_assert(atk_state_set_contains_state(state_set, ATK_STATE_EXPANDED));
42    g_object_unref(state_set);
43
44    eailu_test_action_description_all(ATK_ACTION(obj));
45
46    g_assert((eailu_get_action_number(ATK_ACTION(obj), "typo")) == -1);
47    _printf("DONE. All multibutton_entry tests passed successfully \n");
48
49    eailu_test_code_called = 1;
50 }
51
52 static void
53 _init_multibutton_entry(Evas_Object *win)
54 {
55    Evas_Object *scroller, *bg, *box, *mb_entry;
56
57    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
58    elm_win_autodel_set(win, EINA_TRUE);
59
60    bg = elm_bg_add(win);
61    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
62    elm_win_resize_object_add(win, bg);
63    evas_object_show(bg);
64
65    box = elm_box_add(win);
66    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
67    elm_win_resize_object_add(win, box);
68    evas_object_show(box);
69
70    scroller = elm_scroller_add(win);
71    elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
72    elm_scroller_policy_set
73        (scroller, ELM_SCROLLER_POLICY_OFF,ELM_SCROLLER_POLICY_AUTO);
74    evas_object_show(scroller);
75
76    mb_entry = elm_multibuttonentry_add(win);
77    elm_object_part_text_set(mb_entry, "guide", "Tap to add recipient");
78    elm_object_text_set(mb_entry, EAIL_TEST_INPUT_TEXT);
79    evas_object_size_hint_weight_set(mb_entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
80    evas_object_size_hint_align_set(mb_entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
81    elm_object_content_set(scroller, mb_entry);
82    evas_object_show(mb_entry);
83
84    elm_multibuttonentry_item_append(mb_entry, "first", NULL, NULL);
85    elm_multibuttonentry_item_append(mb_entry, "second", NULL, NULL);
86    elm_multibuttonentry_item_append(mb_entry, "third", NULL, NULL);
87    elm_multibuttonentry_item_append(mb_entry, "fourth", NULL, NULL);
88
89    elm_object_focus_set(mb_entry, EINA_TRUE);
90    elm_box_pack_end(box, mb_entry);
91
92    evas_object_resize(win, 130, 180);
93 }
94
95 EAPI_MAIN int
96 elm_main(int argc, char **argv)
97 {
98    Evas_Object *win;
99
100    win = eailu_create_test_window_with_glib_init(_on_done, _on_focus_in);
101    _init_multibutton_entry(win);
102
103    evas_object_show(win);
104    elm_run();
105    elm_shutdown();
106
107    /* exit code */
108    return 0;
109 }
110 ELM_MAIN()