Merge "gengrid TC modified"
[framework/uifw/elementary.git] / tests / TC / elm_ts / imageslider / utc_UIFW_elm_imageslider_item_prev_func.c
1 #include <tet_api.h>
2 #include <Elementary.h>
3
4 // Definitions
5 // For checking the result of the positive test case.
6 #define TET_CHECK_PASS(x1, y...) \
7 { \
8         Elm_Imageslider_Item *err = y; \
9         if (err == (x1)) \
10                 { \
11                         tet_printf("[TET_CHECK_PASS]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
12                         tet_result(TET_FAIL); \
13                         return; \
14                 } \
15 }
16
17 // For checking the result of the negative test case.
18 #define TET_CHECK_FAIL(x1, y...) \
19 { \
20         Elm_Imageslider_Item *err = y; \
21         if (err != (x1)) \
22                 { \
23                         tet_printf("[TET_CHECK_FAIL]:: %s[%d] : Test has failed..", __FILE__,__LINE__); \
24                         tet_result(TET_FAIL); \
25                         return; \
26                 } \
27 }
28
29 static void startup(void);
30 static void cleanup(void);
31
32 void (*tet_startup)(void) = startup;
33 void (*tet_cleanup)(void) = cleanup;
34
35 static void utc_UIFW_elm_imageslider_item_prev_func_01(void);
36 static void utc_UIFW_elm_imageslider_item_prev_func_02(void);
37
38 enum {
39         POSITIVE_TC_IDX = 0x01,
40         NEGATIVE_TC_IDX,
41 };
42
43 struct tet_testlist tet_testlist[] = {
44         { utc_UIFW_elm_imageslider_item_prev_func_01, POSITIVE_TC_IDX },
45         { utc_UIFW_elm_imageslider_item_prev_func_02, NEGATIVE_TC_IDX },
46         { NULL, 0}
47 };
48
49 // Declare the global variables
50 Evas_Object *main_win, *main_bg;
51 Evas_Object *test_win, *test_bg;
52 Evas_Object *test_eo;
53 static char *imageslider_photos_path[] = {
54         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item1.jpg",
55         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item2.jpg",
56         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item3.jpg",
57         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item4.jpg",
58         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item5.jpg",
59         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item6.jpg",
60         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item7.jpg",
61         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item8.jpg",
62         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item9.jpg",
63         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item10.jpg",
64         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item11.jpg",
65         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item12.jpg",
66         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item13.jpg",
67         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item14.jpg",
68         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item15.jpg",
69         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item16.jpg",
70         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item17.jpg",
71         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item18.jpg",
72         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item19.jpg",
73         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item20.jpg",
74         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item21.jpg",
75         "/usr/share/beat_winset_test/icon/Albums_Item/Albums_Item22.jpg",
76 };
77
78
79 // Declare internal functions
80 void _elm_precondition(void);
81 static void _win_del(void *data, Evas_Object *obj, void *event_info);
82 static void _test_cb(void * data, Evas_Object * obj, void * event_info);
83
84 // Do precondition.
85 void _elm_precondition(void)
86 {
87         elm_init(0, NULL);
88
89         main_win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
90         elm_win_title_set(main_win, "Elementary Unit Test Suite");
91         evas_object_smart_callback_add(main_win, "delete,request", _win_del, NULL);
92         main_bg = elm_bg_add(main_win);
93         evas_object_size_hint_weight_set(main_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
94         elm_win_resize_object_add(main_win, main_bg);
95         evas_object_show(main_bg);
96
97         // set an initial window size
98         evas_object_resize(main_win, 320, 480);
99         // show the window
100         evas_object_show(main_win);
101
102         //elm_run();
103 }
104
105 // Delete main window
106 static void _win_del(void *data, Evas_Object *obj, void *event_info)
107 {
108         elm_exit();
109 }
110
111 // Callback function
112 static void _test_cb(void *data, Evas_Object *obj, void *event_info)
113 {
114         Elm_Imageslider_Item *it = event_info;
115         Elm_Imageslider_Item *sel = elm_imageslider_selected_item_get(obj);
116
117         printf("[[[ DEBUG ]]]::==================================================\n");
118         printf("[[[ DEBUG ]]]::%p %p\n", it, sel);
119         printf("[[[ DEBUG ]]]::PHOTO FILE: %s\n", elm_imageslider_item_photo_file_get(it));
120         printf("[[[ DEBUG ]]]::--------------------------------------------------------\n");
121
122 }
123
124 // Start up function for each test purpose
125 static void
126 startup()
127 {
128         tet_infoline("[[ TET_MSG ]]:: ============ Startup ============ ");
129
130         // Elm precondition
131         _elm_precondition();
132
133         // Test precondition
134         test_win = elm_win_add(NULL, "Image Silder", ELM_WIN_BASIC);
135         elm_win_title_set(test_win, "Image Slider");
136         elm_win_autodel_set(test_win, 1);
137
138         test_bg = elm_bg_add(test_win);
139         elm_win_resize_object_add(test_win, test_bg);
140         evas_object_size_hint_weight_set(test_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
141         evas_object_show(test_bg);
142
143         evas_object_resize(test_win, 480, 800);
144         evas_object_show(test_win);
145
146         // Add an Image Slider Widget.
147         test_eo = elm_imageslider_add(test_win);
148
149         tet_infoline("[[ TET_MSG ]]:: Completing startup");
150 }
151
152 // Clean up function for each test purpose
153 static void
154 cleanup()
155 {
156         tet_infoline("[[ TET_MSG ]]:: ============ Cleanup ============ ");
157
158         // Clean up the used resources.
159         if ( NULL != main_win ) {
160                 evas_object_del(main_win);
161                 main_win = NULL;
162         }
163
164         if ( NULL != main_bg ) {
165                 evas_object_del(main_bg);
166                 main_bg = NULL;
167         }
168
169         if ( NULL != test_win ) {
170                 evas_object_del(test_win);
171                 test_win = NULL;
172         }
173
174         if ( NULL != test_bg ) {
175                 evas_object_del(test_bg);
176                 test_bg = NULL;
177         }
178
179         if ( NULL != test_eo ) {
180                 evas_object_del(test_eo);
181                 test_eo = NULL;
182         }
183
184         // clean up and shut down
185         elm_shutdown(); ;
186
187         tet_infoline("[[ TET_MSG ]]:: ========= TC COMPLETE  ========== ");
188 }
189
190
191
192 /**
193  * @brief Positive test case of elm_imageslider_item_prev()
194  */
195 static void utc_UIFW_elm_imageslider_item_prev_func_01(void)
196 {
197         Elm_Imageslider_Item *it = NULL;
198         Elm_Imageslider_Item *prev_it = NULL;
199
200         elm_imageslider_item_append(test_eo, imageslider_photos_path[0], _test_cb, NULL);
201         elm_imageslider_item_append(test_eo, imageslider_photos_path[1], _test_cb, NULL);
202         elm_imageslider_item_append(test_eo, imageslider_photos_path[2], _test_cb, NULL);
203
204         it = elm_imageslider_item_append(test_eo, imageslider_photos_path[3], _test_cb, NULL);
205
206         prev_it = elm_imageslider_item_prev(it);
207         TET_CHECK_PASS(NULL, prev_it);
208
209         tet_result(TET_PASS);
210         tet_infoline("[[ TET_MSG ]]::[ID]:TC_01, [TYPE]: Positive, [RESULT]:PASS, Getting the previous Image Slider item has succeed.");
211 }
212
213 /**
214  * @brief Negative test case of ug_init elm_imageslider_item_prev()
215  */
216 static void utc_UIFW_elm_imageslider_item_prev_func_02(void)
217 {
218         Elm_Imageslider_Item *prev_it = NULL;
219
220         prev_it = elm_imageslider_item_prev(NULL);
221         TET_CHECK_FAIL(NULL, prev_it);
222
223         tet_result(TET_PASS);
224         tet_infoline("[[ TET_MSG ]]::[ID]:TC_02, [TYPE]: Negative, [RESULT]:PASS, Getting the previous Image Slider item has failed.");
225 }