tizen 2.3 release
[apps/home/minicontrol.git] / TC / testcase / utc_minicontrol.c
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <stdio.h>
18 #include <stdlib.h>
19 #include <string.h>
20 #include <unistd.h>
21 #include <fcntl.h>
22 #include <libintl.h>
23 #include <tet_api.h>
24 #include <Elementary.h>
25 #include <minicontrol-monitor.h>
26 #include <minicontrol-provider.h>
27 #include <minicontrol-viewer.h>
28
29 #define TEST_PKG "org.tizen.tetware"
30
31 enum {
32         POSITIVE_TC_IDX = 0x01,
33         NEGATIVE_TC_IDX,
34 };
35
36 static void startup(void);
37 static void cleanup(void);
38
39 static void utc_minicontrol_monitor_start_n(void);
40 static void utc_minicontrol_monitor_start_p(void);
41 static void utc_minicontrol_monitor_stop_p(void);
42 static void utc_minicontrol_win_add_n(void);
43 static void utc_minicontrol_win_add_p(void);
44 static void utc_minicontrol_request_n(void);
45 static void utc_minicontrol_request_p(void);
46 static void utc_minicontrol_viewer_add_n(void);
47 static void utc_minicontrol_viewer_add_p(void);
48 static void utc_minicontrol_viewer_image_object_get_n(void);
49 static void utc_minicontrol_viewer_image_object_get_p(void);
50 static void utc_minicontrol_viewer_request_n(void);
51 static void utc_minicontrol_viewer_request_p(void);
52
53 void (*tet_startup)(void) = startup;
54 void (*tet_cleanup)(void) = cleanup;
55
56 struct tet_testlist tet_testlist[] = {
57         {utc_minicontrol_monitor_start_n, NEGATIVE_TC_IDX},
58         {utc_minicontrol_monitor_start_p, POSITIVE_TC_IDX},
59         {utc_minicontrol_monitor_stop_p, POSITIVE_TC_IDX},
60         {utc_minicontrol_win_add_n, NEGATIVE_TC_IDX},
61         {utc_minicontrol_win_add_p, POSITIVE_TC_IDX},
62         {utc_minicontrol_request_n, NEGATIVE_TC_IDX},
63         {utc_minicontrol_request_p, POSITIVE_TC_IDX},
64         {utc_minicontrol_viewer_add_n, NEGATIVE_TC_IDX},
65         {utc_minicontrol_viewer_add_p, POSITIVE_TC_IDX},
66         {utc_minicontrol_viewer_image_object_get_n, NEGATIVE_TC_IDX},
67         {utc_minicontrol_viewer_image_object_get_p, POSITIVE_TC_IDX},
68         {utc_minicontrol_viewer_request_n, NEGATIVE_TC_IDX},
69         {utc_minicontrol_viewer_request_p, POSITIVE_TC_IDX},
70         { NULL, 0 },
71 };
72
73 static void _minicontrol_monitor_cb(minicontrol_action_e action,
74                                         const char *name,
75                                         unsigned int width,
76                                         unsigned int height,
77                                         minicontrol_priority_e priority,
78                                         void *data) {
79
80 }
81
82 static Evas_Object *_ui_window_add(void)
83 {
84         Evas_Object *eo = NULL;
85
86         eo = elm_win_add(NULL, "TETware", ELM_WIN_BASIC);
87
88         if (eo != NULL) {
89                 elm_win_title_set(eo, "TETware");
90                 elm_win_borderless_set(eo, EINA_TRUE);
91                 elm_win_autodel_set(eo, EINA_TRUE);
92                 evas_object_show(eo);
93         }
94
95         return eo;
96 }
97
98 static void startup(void)
99 {
100         /* start of TC */
101         tet_printf("\n TC start");
102 }
103
104
105 static void cleanup(void)
106 {
107         /* end of TC */
108         tet_printf("\n TC end");
109 }
110
111 /**
112  * @brief Negative test case of minicontrol_monitor_start()
113  */
114 static void utc_minicontrol_monitor_start_n(void)
115 {
116         int ret;
117
118         ret = minicontrol_monitor_start(NULL, NULL);
119
120         dts_check_eq("minicontrol_monitor_start", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
121                 "Must return MINICONTROL_ERROR_INVALID_PARAMETER in case of invalid parameter");
122 }
123
124 /**
125  * @brief Positive test case of minicontrol_monitor_start()
126  */
127 static void utc_minicontrol_monitor_start_p(void)
128 {
129         int ret;
130
131         ret = minicontrol_monitor_start(_minicontrol_monitor_cb, NULL);
132
133         dts_check_eq("minicontrol_monitor_start", ret, MINICONTROL_ERROR_NONE,
134                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
135 }
136
137 /**
138  * @brief Positive test case of minicontrol_monitor_stop()
139  */
140 static void utc_minicontrol_monitor_stop_p(void)
141 {
142         int ret;
143
144         ret = minicontrol_monitor_start(_minicontrol_monitor_cb, NULL);
145         ret = minicontrol_monitor_stop();
146
147         dts_check_eq("minicontrol_monitor_start", ret, MINICONTROL_ERROR_NONE,
148                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
149 }
150
151 /**
152  * @brief Negative test case of minicontrol_win_add()
153  */
154 static void utc_minicontrol_win_add_n(void)
155 {
156         int ret;
157         Evas_Object *win = NULL;
158
159         win = minicontrol_win_add(NULL);
160         dts_check_eq("minicontrol_win_add", win, NULL,
161                 "Must return NULL in case of invalid parameter");
162 }
163
164 /**
165  * @brief Positive test case of minicontrol_win_add()
166  */
167 static void utc_minicontrol_win_add_p(void)
168 {
169         int ret;
170         Evas_Object *win = NULL;
171
172         elm_init(0, NULL);
173         win = minicontrol_win_add("TETWARE-minicontrol");
174         dts_check_eq("minicontrol_win_add", win, NULL,
175                 "Must return NULL in case of invalid parameter");
176 }
177
178 /**
179  * @brief Negative test case of minicontrol_request()
180  */
181 static void utc_minicontrol_request_n(void)
182 {
183         int ret;
184         Evas_Object *win = NULL;
185
186         ret = minicontrol_request(NULL, MINICONTROL_REQ_HIDE_VIEWER);
187         dts_check_eq("minicontrol_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
188                 "Must return MINICONTROL_ERROR_INVALID_PARAMETER in case of invalid parameter");
189 }
190
191 /**
192  * @brief Positive test case of minicontrol_request()
193  */
194 static void utc_minicontrol_request_p(void)
195 {
196         int ret;
197         Evas_Object *win = NULL;
198
199         elm_init(0, NULL);
200         win = minicontrol_win_add("TETWARE-minicontrol");
201         ret = minicontrol_request(win, MINICONTROL_REQ_HIDE_VIEWER);
202         dts_check_eq("minicontrol_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
203                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
204 }
205
206 /**
207  * @brief Negative test case of minicontrol_viewer_add()
208  */
209 static void utc_minicontrol_viewer_add_n(void)
210 {
211         int ret;
212         Evas_Object *win = NULL;
213
214         win = minicontrol_viewer_add(NULL, NULL);
215         dts_check_eq("minicontrol_viewer_add", win, NULL,
216                 "Must return NULL in case of invalid parameter");
217 }
218
219 /**
220  * @brief Positive test case of minicontrol_viewer_add()
221  */
222 static void utc_minicontrol_viewer_add_p(void)
223 {
224         int ret;
225         Evas_Object *win = NULL;
226         Evas_Object *viewer = NULL;
227 #if TBD
228         Evas_Object *parent = _ui_window_add();
229 #else
230         Evas_Object *parent = NULL;
231 #endif
232
233         win = minicontrol_win_add("TETWARE-minicontrol");
234         viewer = minicontrol_viewer_add(parent, "TETWARE-minicontrol");
235
236         dts_check_eq("minicontrol_viewer_add", viewer, NULL,
237                 "Must return NULL in case of invalid parameter");
238 }
239
240 /**
241  * @brief Negative test case of minicontrol_viewer_image_object_get()
242  */
243 static void utc_minicontrol_viewer_image_object_get_n(void)
244 {
245         int ret;
246         Evas_Object *image = NULL;
247         Evas_Object *viewer = NULL;
248         Evas_Object *parent = NULL;
249
250         image = minicontrol_viewer_image_object_get(NULL);
251
252         dts_check_eq("minicontrol_viewer_image_object_get", image, NULL,
253                 "Must return NULL in case of invalid parameter");
254 }
255
256 /**
257  * @brief Positive test case of minicontrol_viewer_image_object_get()
258  */
259 static void utc_minicontrol_viewer_image_object_get_p(void)
260 {
261         int ret;
262         Evas_Object *win = NULL;
263         Evas_Object *viewer = NULL;
264 #if TBD
265         Evas_Object *parent = _ui_window_add();
266 #else
267         Evas_Object *parent = NULL;
268 #endif
269         Evas_Object *image = NULL;
270
271         win = minicontrol_win_add("TETWARE-minicontrol");
272         viewer = minicontrol_viewer_add(parent, "TETWARE-minicontrol");
273         image = minicontrol_viewer_image_object_get(viewer);
274
275         dts_check_eq("minicontrol_viewer_image_object_get", image, NULL,
276                 "Must return NULL in case of invalid parameter");
277 }
278
279 /**
280  * @brief Negative test case of minicontrol_viewer_request()
281  */
282 static void utc_minicontrol_viewer_request_n(void)
283 {
284         int ret;
285
286         ret = minicontrol_viewer_request(NULL, MINICONTROL_REQ_HIDE_VIEWER, 0);
287
288         dts_check_eq("minicontrol_viewer_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
289                 "Must return MINICONTROL_ERROR_INVALID_PARAMETER in case of invalid parameter");
290 }
291
292 /**
293  * @brief Positive test case of minicontrol_viewer_request()
294  */
295 static void utc_minicontrol_viewer_request_p(void)
296 {
297         int ret;
298
299         ret = minicontrol_viewer_request("org.tizen.quickpanel", MINICONTROL_REQ_HIDE_VIEWER, 0);
300
301         dts_check_eq("minicontrol_viewer_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
302                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
303 }