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