Initialize Tizen 2.3
[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         win = minicontrol_win_add("TETWARE-minicontrol");
173         dts_check_eq("minicontrol_win_add", win, NULL,
174                 "Must return NULL in case of invalid parameter");
175 }
176
177 /**
178  * @brief Negative test case of minicontrol_request()
179  */
180 static void utc_minicontrol_request_n(void)
181 {
182         int ret;
183         Evas_Object *win = NULL;
184
185         ret = minicontrol_request(NULL, MINICONTROL_REQ_HIDE_VIEWER);
186         dts_check_eq("minicontrol_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
187                 "Must return MINICONTROL_ERROR_INVALID_PARAMETER in case of invalid parameter");
188 }
189
190 /**
191  * @brief Positive test case of minicontrol_request()
192  */
193 static void utc_minicontrol_request_p(void)
194 {
195         int ret;
196         Evas_Object *win = NULL;
197
198         win = minicontrol_win_add("TETWARE-minicontrol");
199         ret = minicontrol_request(win, MINICONTROL_REQ_HIDE_VIEWER);
200         dts_check_eq("minicontrol_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
201                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
202 }
203
204 /**
205  * @brief Negative test case of minicontrol_viewer_add()
206  */
207 static void utc_minicontrol_viewer_add_n(void)
208 {
209         int ret;
210         Evas_Object *win = NULL;
211
212         win = minicontrol_viewer_add(NULL, NULL);
213         dts_check_eq("minicontrol_viewer_add", win, NULL,
214                 "Must return NULL in case of invalid parameter");
215 }
216
217 /**
218  * @brief Positive test case of minicontrol_viewer_add()
219  */
220 static void utc_minicontrol_viewer_add_p(void)
221 {
222         int ret;
223         Evas_Object *win = NULL;
224         Evas_Object *viewer = NULL;
225 #if TBD
226         Evas_Object *parent = _ui_window_add();
227 #else
228         Evas_Object *parent = NULL;
229 #endif
230
231         win = minicontrol_win_add("TETWARE-minicontrol");
232         viewer = minicontrol_viewer_add(parent, "TETWARE-minicontrol");
233
234         dts_check_eq("minicontrol_viewer_add", viewer, NULL,
235                 "Must return NULL in case of invalid parameter");
236 }
237
238 /**
239  * @brief Negative test case of minicontrol_viewer_image_object_get()
240  */
241 static void utc_minicontrol_viewer_image_object_get_n(void)
242 {
243         int ret;
244         Evas_Object *image = NULL;
245         Evas_Object *viewer = NULL;
246         Evas_Object *parent = NULL;
247
248         image = minicontrol_viewer_image_object_get(NULL);
249
250         dts_check_eq("minicontrol_viewer_image_object_get", image, NULL,
251                 "Must return NULL in case of invalid parameter");
252 }
253
254 /**
255  * @brief Positive test case of minicontrol_viewer_image_object_get()
256  */
257 static void utc_minicontrol_viewer_image_object_get_p(void)
258 {
259         int ret;
260         Evas_Object *win = NULL;
261         Evas_Object *viewer = NULL;
262 #if TBD
263         Evas_Object *parent = _ui_window_add();
264 #else
265         Evas_Object *parent = NULL;
266 #endif
267         Evas_Object *image = NULL;
268
269         win = minicontrol_win_add("TETWARE-minicontrol");
270         viewer = minicontrol_viewer_add(parent, "TETWARE-minicontrol");
271         image = minicontrol_viewer_image_object_get(viewer);
272
273         dts_check_eq("minicontrol_viewer_image_object_get", image, NULL,
274                 "Must return NULL in case of invalid parameter");
275 }
276
277 /**
278  * @brief Negative test case of minicontrol_viewer_request()
279  */
280 static void utc_minicontrol_viewer_request_n(void)
281 {
282         int ret;
283
284         ret = minicontrol_viewer_request(NULL, MINICONTROL_REQ_HIDE_VIEWER, 0);
285
286         dts_check_eq("minicontrol_viewer_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
287                 "Must return MINICONTROL_ERROR_INVALID_PARAMETER in case of invalid parameter");
288 }
289
290 /**
291  * @brief Positive test case of minicontrol_viewer_request()
292  */
293 static void utc_minicontrol_viewer_request_p(void)
294 {
295         int ret;
296
297         ret = minicontrol_viewer_request("com.samsung.quickpanel", MINICONTROL_REQ_HIDE_VIEWER, 0);
298
299         dts_check_eq("minicontrol_viewer_request", ret, MINICONTROL_ERROR_INVALID_PARAMETER,
300                 "Must return MINICONTROL_ERROR_NONE in case of invalid parameter");
301 }