1 #include "e_test_event.h"
2 #include "e_test_base.h"
4 #include <tzsh_quickpanel.h>
5 #include <tzsh_quickpanel_service.h>
7 class etTestTzshQuickpanel : public ::etTCBase
11 tzsh_window tz_win = 0x0;
12 tzsh_quickpanel_h tz_qp_client = NULL;
14 tzsh_window tz_win2 = 0x0;
15 tzsh_quickpanel_h tz_qp_client2 = NULL;
17 tzsh_quickpanel_event_handler_h event_handler;
18 tzsh_quickpanel_state_visible_e event_vis_state;
20 etTestTzshQuickpanel() {};
21 ~etTestTzshQuickpanel() {};
26 const ::testing::TestInfo *const test_info = ::testing::UnitTest::GetInstance()->current_test_info();
28 tw_base = initNormalWin("TCWin_Normal_base", EINA_FALSE);
30 testCaseName = test_info->test_case_name();
31 testName = test_info->name();
34 virtual void TearDown()
38 tzsh_quickpanel_destroy(tz_qp_client);
44 tzsh_quickpanel_destroy(tz_qp_client2);
68 etWin *tw_base = NULL;
69 etWin *tw_base2 = NULL;
70 std::string testCaseName;
77 etTestTzshQuickpanel::checkInitTC()
79 ASSERT_TRUE(tw_base != NULL) << "failed to Setup window";
86 _cb_vis_changed(int type, tzsh_quickpanel_event_info_h ev_info, void *data)
88 etTestTzshQuickpanel *tc_data = (etTestTzshQuickpanel *)data;
90 if (type != TZSH_QUICKPANEL_EVENT_VISIBLE)
93 tzsh_quickpanel_event_visible_get(ev_info, &tc_data->event_vis_state);
96 TEST_F(etTestTzshQuickpanel, quickpanel_basic)
98 Eina_List *list = NULL, *l = NULL;
104 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
105 ASSERT_TRUE(tzsh != NULL);
107 tz_win = elm_win_window_id_get(tw_base->elm_win);
108 ASSERT_NE(0, tz_win);
110 tz_qp_client = tzsh_quickpanel_create_with_type(tzsh, tz_win, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
111 ASSERT_TRUE(tz_qp_client != NULL);
114 ASSERT_VIS_ON(tw_base);
116 list = etRunner::get().getWinInfoList();
117 ASSERT_TRUE(list != NULL);
119 EINA_LIST_CAST_FOREACH(list, l, tw, etWin*)
121 if (tw->layer > 200) continue;
125 ASSERT_EQ(tw->native_win, tw_base->native_win);
129 ASSERT_TRUE(tw->Vis.win);
130 ASSERT_TRUE(tw->Vis.obj);
131 ASSERT_EQ(E_VISIBILITY_UNOBSCURED, tw->Vis.type);
134 ASSERT_TRUE(tw->Focus.obj);
135 ASSERT_TRUE(tw->Focus.win);
141 etRunner::get().freeWinInfoList(list);
143 //ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
146 TEST_F(etTestTzshQuickpanel, quickpanel_show_hide)
150 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
151 ASSERT_TRUE(tzsh != NULL);
153 tz_win = elm_win_window_id_get(tw_base->elm_win);
154 ASSERT_NE(0, tz_win);
156 tz_qp_client = tzsh_quickpanel_create_with_type(tzsh, tz_win, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
157 ASSERT_TRUE(tz_qp_client != NULL);
160 ASSERT_VIS_ON(tw_base);
163 ret = tzsh_quickpanel_show(tz_qp_client);
164 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
166 etRunner::get().work(2.0);
168 tzsh_quickpanel_state_visible_e visible = TZSH_QUICKPANEL_STATE_VISIBLE_UNKNOWN;
169 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
170 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
171 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN);
173 ret = tzsh_quickpanel_hide(tz_qp_client);
174 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
176 etRunner::get().work(2.0);
178 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
179 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
180 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_HIDDEN);
182 //ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
185 TEST_F(etTestTzshQuickpanel, quickpanel_scrollable_state)
189 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
190 ASSERT_TRUE(tzsh != NULL);
192 tz_win = elm_win_window_id_get(tw_base->elm_win);
193 ASSERT_NE(0, tz_win);
195 tz_qp_client = tzsh_quickpanel_create_with_type(tzsh, tz_win, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
196 ASSERT_TRUE(tz_qp_client != NULL);
199 ASSERT_VIS_ON(tw_base);
203 // DISABLE Scrolling Quickpanel
204 ret = tzsh_quickpanel_scrollable_state_set(tz_qp_client, TZSH_QUICKPANEL_STATE_SCROLLABLE_UNSET);
205 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
207 ret = tzsh_quickpanel_show(tz_qp_client);
208 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
210 etRunner::get().work(2.0);
212 tzsh_quickpanel_state_visible_e visible = TZSH_QUICKPANEL_STATE_VISIBLE_UNKNOWN;
213 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
214 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
215 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_HIDDEN);
217 tzsh_quickpanel_state_scrollable_e scrollable_state;
218 ret = tzsh_quickpanel_scrollable_state_get(tz_qp_client, &scrollable_state);
219 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
220 ASSERT_EQ(scrollable_state, TZSH_QUICKPANEL_STATE_SCROLLABLE_UNSET);
222 // Enable Scrolling Quickpanel
223 ret = tzsh_quickpanel_scrollable_state_set(tz_qp_client, TZSH_QUICKPANEL_STATE_SCROLLABLE_SET);
224 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
226 ret = tzsh_quickpanel_show(tz_qp_client);
227 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
229 etRunner::get().work(2.0);
231 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
232 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
233 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN);
235 //ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
238 TEST_F(etTestTzshQuickpanel, quickpanel_scrollable_retain)
242 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
243 ASSERT_TRUE(tzsh != NULL);
245 tz_win = elm_win_window_id_get(tw_base->elm_win);
246 ASSERT_NE(0, tz_win);
248 tz_qp_client = tzsh_quickpanel_create_with_type(tzsh, tz_win, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
249 ASSERT_TRUE(tz_qp_client != NULL);
252 ASSERT_VIS_ON(tw_base);
255 // DISABLE Scrolling Quickpanel
256 ret = tzsh_quickpanel_scrollable_state_set(tz_qp_client, TZSH_QUICKPANEL_STATE_SCROLLABLE_UNSET);
257 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
259 tw_base2 = initNormalWin("TCWin_Normal_base2", EINA_FALSE);
261 tz_win2 = elm_win_window_id_get(tw_base2->elm_win);
262 ASSERT_NE(0, tz_win2);
264 tz_qp_client2 = tzsh_quickpanel_create_with_type(tzsh, tz_win2, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
265 ASSERT_TRUE(tz_qp_client2 != NULL);
268 ASSERT_VIS_ON(tw_base2);
270 // Set scroll RETAIN mode
271 ret = tzsh_quickpanel_scrollable_state_set(tz_qp_client2, TZSH_QUICKPANEL_STATE_SCROLLABLE_RETAIN);
272 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
274 ret = tzsh_quickpanel_show(tz_qp_client2);
275 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
277 etRunner::get().work(2.0);
279 tzsh_quickpanel_state_scrollable_e scrollable_state;
280 ret = tzsh_quickpanel_scrollable_state_get(tz_qp_client2, &scrollable_state);
281 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
282 ASSERT_EQ(scrollable_state, TZSH_QUICKPANEL_STATE_SCROLLABLE_RETAIN);
284 tzsh_quickpanel_state_visible_e visible = TZSH_QUICKPANEL_STATE_VISIBLE_UNKNOWN;
285 ret = tzsh_quickpanel_visible_get(tz_qp_client2, &visible);
286 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
287 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_HIDDEN);
289 ret = tzsh_quickpanel_scrollable_state_set(tz_qp_client2, TZSH_QUICKPANEL_STATE_SCROLLABLE_SET);
290 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
292 ret = tzsh_quickpanel_show(tz_qp_client2);
293 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
295 etRunner::get().work(2.0);
297 ret = tzsh_quickpanel_scrollable_state_get(tz_qp_client2, &scrollable_state);
298 ASSERT_EQ(scrollable_state, TZSH_QUICKPANEL_STATE_SCROLLABLE_SET);
300 ret = tzsh_quickpanel_visible_get(tz_qp_client2, &visible);
301 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN);
303 tzsh_quickpanel_hide(tz_qp_client2);
305 //ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);
308 TEST_F(etTestTzshQuickpanel, quickpanel_event_handler)
312 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
313 ASSERT_TRUE(tzsh != NULL);
315 tz_win = elm_win_window_id_get(tw_base->elm_win);
316 ASSERT_NE(0, tz_win);
318 tz_qp_client = tzsh_quickpanel_create_with_type(tzsh, tz_win, TZSH_QUICKPANEL_TYPE_SYSTEM_DEFAULT);
319 ASSERT_TRUE(tz_qp_client != NULL);
322 ASSERT_VIS_ON(tw_base);
324 event_handler = tzsh_quickpanel_event_handler_add(tz_qp_client, TZSH_QUICKPANEL_EVENT_VISIBLE, _cb_vis_changed, this);
325 ASSERT_TRUE(event_handler != NULL);
328 ret = tzsh_quickpanel_show(tz_qp_client);
329 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
331 etRunner::get().work(2.0);
333 tzsh_quickpanel_state_visible_e visible = TZSH_QUICKPANEL_STATE_VISIBLE_UNKNOWN;
334 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
335 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
336 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN);
337 ASSERT_EQ(event_vis_state, TZSH_QUICKPANEL_STATE_VISIBLE_SHOWN);
339 ret = tzsh_quickpanel_hide(tz_qp_client);
340 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
342 etRunner::get().work(2.0);
344 ret = tzsh_quickpanel_visible_get(tz_qp_client, &visible);
345 ASSERT_TRUE(ret == TZSH_ERROR_NONE);
346 ASSERT_EQ(visible, TZSH_QUICKPANEL_STATE_VISIBLE_HIDDEN);
347 ASSERT_EQ(event_vis_state, TZSH_QUICKPANEL_STATE_VISIBLE_HIDDEN);
349 //ASSERT_EQ(etRunner::get().verifyTC(testCaseName, testName), EINA_TRUE);