1 /*
2 * Copyright (c) 2023-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17 #include "mock_RSIWindowAnimationController.h"
18
19 #include "remote_animation.h"
20 #include "session_manager.h"
21 #include "starting_window.h"
22 #include "window_transition_info.h"
23 #include "window_property.h"
24 #include "window_agent.h"
25 #include "window_adapter.h"
26 #include "scene_board_judgement.h"
27
28 using namespace testing;
29 using namespace testing::ext;
30
31 namespace OHOS {
32 namespace Rosen {
33 constexpr uint32_t WINDOW_ID = 1000;
34 class WindowAdapterTest : public testing::Test {
35 public:
36 static void SetUpTestCase();
37 static void TearDownTestCase();
38 void SetUp() override;
39 void TearDown() override;
40 };
41
SetUpTestCase()42 void WindowAdapterTest::SetUpTestCase()
43 {
44 }
45
TearDownTestCase()46 void WindowAdapterTest::TearDownTestCase()
47 {
48 }
49
SetUp()50 void WindowAdapterTest::SetUp()
51 {
52 }
53
TearDown()54 void WindowAdapterTest::TearDown()
55 {
56 }
57
58 namespace {
59 /**
60 * @tc.name: AddWindow
61 * @tc.desc: WindowAdapter/AddWindow
62 * @tc.type: FUNC
63 */
HWTEST_F(WindowAdapterTest, AddWindow, Function | SmallTest | Level2)64 HWTEST_F(WindowAdapterTest, AddWindow, Function | SmallTest | Level2)
65 {
66 sptr<WindowProperty> windowProperty = nullptr;
67 WindowAdapter windowAdapter;
68
69 windowAdapter.AddWindow(windowProperty);
70 auto ret = windowAdapter.InitWMSProxy();
71 ASSERT_EQ(true, ret);
72 }
73
74 /**
75 * @tc.name: RemoveWindow
76 * @tc.desc: WindowAdapter/RemoveWindow
77 * @tc.type: FUNC
78 */
HWTEST_F(WindowAdapterTest, RemoveWindow, Function | SmallTest | Level2)79 HWTEST_F(WindowAdapterTest, RemoveWindow, Function | SmallTest | Level2)
80 {
81 uint32_t windowId = 0;
82 bool isFromInnerkits = false;
83 WindowAdapter windowAdapter;
84
85 windowAdapter.RemoveWindow(windowId, isFromInnerkits);
86 auto ret = windowAdapter.InitWMSProxy();
87 ASSERT_EQ(true, ret);
88 }
89
90 /**
91 * @tc.name: RequestFocus
92 * @tc.desc: WindowAdapter/RequestFocus
93 * @tc.type: FUNC
94 */
HWTEST_F(WindowAdapterTest, RequestFocus, Function | SmallTest | Level2)95 HWTEST_F(WindowAdapterTest, RequestFocus, Function | SmallTest | Level2)
96 {
97 uint32_t windowId = 0;
98 WindowAdapter windowAdapter;
99
100 windowAdapter.RequestFocus(windowId);
101 auto ret = windowAdapter.InitWMSProxy();
102 ASSERT_EQ(true, ret);
103 }
104
105 /**
106 * @tc.name: GetUIContentRemoteObj
107 * @tc.desc: WindowAdapter/GetUIContentRemoteObj
108 * @tc.type: FUNC
109 */
HWTEST_F(WindowAdapterTest, GetUIContentRemoteObj, Function | SmallTest | Level2)110 HWTEST_F(WindowAdapterTest, GetUIContentRemoteObj, Function | SmallTest | Level2)
111 {
112 WindowAdapter windowAdapter;
113 windowAdapter.isProxyValid_ = true;
114 windowAdapter.windowManagerServiceProxy_ = nullptr;
115 sptr<IRemoteObject> remoteObj;
116 auto ret = windowAdapter.GetUIContentRemoteObj(WINDOW_ID, remoteObj);
117 ASSERT_EQ(ret, WMError::WM_ERROR_SAMGR);
118 }
119
120 /**
121 * @tc.name: CheckWindowId
122 * @tc.desc: WindowAdapter/CheckWindowId
123 * @tc.type: FUNC
124 */
HWTEST_F(WindowAdapterTest, CheckWindowId, Function | SmallTest | Level2)125 HWTEST_F(WindowAdapterTest, CheckWindowId, Function | SmallTest | Level2)
126 {
127 int32_t windowId = 0;
128 int32_t pid = 0;
129 WindowAdapter windowAdapter;
130
131 windowAdapter.CheckWindowId(windowId, pid);
132 auto ret = windowAdapter.InitWMSProxy();
133 ASSERT_EQ(true, ret);
134 }
135
136 /**
137 * @tc.name: SkipSnapshotForAppProcess
138 * @tc.desc: WindowAdapter/SkipSnapshotForAppProcess
139 * @tc.type: FUNC
140 */
HWTEST_F(WindowAdapterTest, SkipSnapshotForAppProcess, Function | SmallTest | Level2)141 HWTEST_F(WindowAdapterTest, SkipSnapshotForAppProcess, Function | SmallTest | Level2)
142 {
143 int32_t pid = 1000;
144 bool skip = true;
145 WindowAdapter windowAdapter;
146 windowAdapter.SkipSnapshotForAppProcess(pid, skip);
147 auto ret = windowAdapter.InitWMSProxy();
148 ASSERT_EQ(true, ret);
149 }
150
151 /**
152 * @tc.name: SetWindowAnimationController
153 * @tc.desc: WindowAdapter/SetWindowAnimationController
154 * @tc.type: FUNC
155 */
HWTEST_F(WindowAdapterTest, SetWindowAnimationController, Function | SmallTest | Level2)156 HWTEST_F(WindowAdapterTest, SetWindowAnimationController, Function | SmallTest | Level2)
157 {
158 sptr<RSIWindowAnimationController> controller = nullptr;
159 WindowAdapter windowAdapter;
160
161 windowAdapter.SetWindowAnimationController(controller);
162 auto ret = windowAdapter.InitWMSProxy();
163 ASSERT_EQ(true, ret);
164 }
165
166 /**
167 * @tc.name: GetAvoidAreaByType
168 * @tc.desc: WindowAdapter/GetAvoidAreaByType
169 * @tc.type: FUNC
170 */
HWTEST_F(WindowAdapterTest, GetAvoidAreaByType, Function | SmallTest | Level2)171 HWTEST_F(WindowAdapterTest, GetAvoidAreaByType, Function | SmallTest | Level2)
172 {
173 uint32_t windowId = 0;
174 AvoidAreaType type = AvoidAreaType::TYPE_CUTOUT;
175 AvoidArea avoidArea;
176 WindowAdapter windowAdapter;
177
178 windowAdapter.GetAvoidAreaByType(windowId, type, avoidArea);
179 auto ret = windowAdapter.InitWMSProxy();
180 ASSERT_EQ(true, ret);
181 }
182
183 /**
184 * @tc.name: NotifyServerReadyToMoveOrDrag
185 * @tc.desc: WindowAdapter/NotifyServerReadyToMoveOrDrag
186 * @tc.type: FUNC
187 */
HWTEST_F(WindowAdapterTest, NotifyServerReadyToMoveOrDrag, Function | SmallTest | Level2)188 HWTEST_F(WindowAdapterTest, NotifyServerReadyToMoveOrDrag, Function | SmallTest | Level2)
189 {
190 uint32_t windowId = 0;
191 sptr<WindowProperty> windowProperty = nullptr;
192 sptr<MoveDragProperty> moveDragProperty = nullptr;
193 WindowAdapter windowAdapter;
194
195 windowAdapter.NotifyServerReadyToMoveOrDrag(windowId, windowProperty, moveDragProperty);
196 auto ret = windowAdapter.InitWMSProxy();
197 ASSERT_EQ(true, ret);
198 }
199
200 /**
201 * @tc.name: ProcessPointDown
202 * @tc.desc: WindowAdapter/ProcessPointDown
203 * @tc.type: FUNC
204 */
HWTEST_F(WindowAdapterTest, ProcessPointDown, Function | SmallTest | Level2)205 HWTEST_F(WindowAdapterTest, ProcessPointDown, Function | SmallTest | Level2)
206 {
207 uint32_t windowId = 0;
208 bool isPointDown = false;
209 WindowAdapter windowAdapter;
210
211 windowAdapter.ProcessPointDown(windowId, isPointDown);
212 windowAdapter.ProcessPointUp(windowId);
213 auto ret = windowAdapter.InitWMSProxy();
214 ASSERT_EQ(true, ret);
215 }
216
217 /**
218 * @tc.name: ToggleShownStateForAllAppWindows
219 * @tc.desc: WindowAdapter/ToggleShownStateForAllAppWindows
220 * @tc.type: FUNC
221 */
HWTEST_F(WindowAdapterTest, ToggleShownStateForAllAppWindows, Function | SmallTest | Level2)222 HWTEST_F(WindowAdapterTest, ToggleShownStateForAllAppWindows, Function | SmallTest | Level2)
223 {
224 WindowAdapter windowAdapter;
225
226 windowAdapter.ToggleShownStateForAllAppWindows();
227 auto ret = windowAdapter.InitWMSProxy();
228 ASSERT_EQ(true, ret);
229 }
230
231 /**
232 * @tc.name: GetSnapshotByWindowId
233 * @tc.desc: WindowAdapter/GetSnapshotByWindowId
234 * @tc.type: FUNC
235 */
HWTEST_F(WindowAdapterTest, GetSnapshotByWindowId, Function | SmallTest | Level2)236 HWTEST_F(WindowAdapterTest, GetSnapshotByWindowId, Function | SmallTest | Level2)
237 {
238 WindowAdapter windowAdapter;
239 int32_t persistentId = -1;
240 std::shared_ptr<Media::PixelMap> pixelMap = nullptr;
241 windowAdapter.GetSnapshotByWindowId(persistentId, pixelMap);
242 auto ret = windowAdapter.InitWMSProxy();
243 ASSERT_EQ(true, ret);
244 }
245
246 /**
247 * @tc.name: InitWMSProxy
248 * @tc.desc: WindowAdapter/InitWMSProxy
249 * @tc.type: FUNC
250 */
HWTEST_F(WindowAdapterTest, InitWMSProxy, Function | SmallTest | Level2)251 HWTEST_F(WindowAdapterTest, InitWMSProxy, Function | SmallTest | Level2)
252 {
253 WindowAdapter windowAdapter;
254 auto ret = windowAdapter.InitWMSProxy();
255 ASSERT_EQ(true, ret);
256 }
257
258 /**
259 * @tc.name: RegisterSessionRecoverCallbackFunc
260 * @tc.desc: WindowAdapter/RegisterSessionRecoverCallbackFunc
261 * @tc.type: FUNC
262 */
HWTEST_F(WindowAdapterTest, RegisterSessionRecoverCallbackFunc, Function | SmallTest | Level2)263 HWTEST_F(WindowAdapterTest, RegisterSessionRecoverCallbackFunc, Function | SmallTest | Level2)
264 {
265 WindowAdapter windowAdapter;
266 int32_t persistentId = 1;
267 auto testFunc = [] {
268 return WMError::WM_OK;
269 };
270 windowAdapter.RegisterSessionRecoverCallbackFunc(persistentId, testFunc);
271 ASSERT_NE(windowAdapter.sessionRecoverCallbackFuncMap_[persistentId], nullptr);
272 }
273
274 /**
275 * @tc.name: WindowManagerAndSessionRecover
276 * @tc.desc: WindowAdapter/WindowManagerAndSessionRecover
277 * @tc.type: FUNC
278 */
HWTEST_F(WindowAdapterTest, WindowManagerAndSessionRecover, Function | SmallTest | Level2)279 HWTEST_F(WindowAdapterTest, WindowManagerAndSessionRecover, Function | SmallTest | Level2)
280 {
281 WindowAdapter windowAdapter;
282 int32_t persistentId = 1;
283 int32_t ret = 0;
284 auto testFunc = [&ret] {
285 ret = 1;
286 return WMError::WM_DO_NOTHING;
287 };
288
289 auto testFunc2 = [&ret] {
290 ret = 2;
291 return WMError::WM_OK;
292 };
293 windowAdapter.RegisterSessionRecoverCallbackFunc(persistentId, testFunc);
294 windowAdapter.WindowManagerAndSessionRecover();
295 if (SceneBoardJudgement::IsSceneBoardEnabled()) {
296 ASSERT_EQ(ret, 1);
297 }
298 windowAdapter.RegisterSessionRecoverCallbackFunc(persistentId, testFunc2);
299 windowAdapter.WindowManagerAndSessionRecover();
300 if (SceneBoardJudgement::IsSceneBoardEnabled()) {
301 ASSERT_EQ(ret, 2);
302 } else {
303 ASSERT_EQ(ret, 0);
304 }
305 }
306
307 /**
308 * @tc.name: GetUnreliableWindowInfo
309 * @tc.desc: WindowAdapter/GetUnreliableWindowInfo
310 * @tc.type: FUNC
311 */
HWTEST_F(WindowAdapterTest, GetUnreliableWindowInfo, Function | SmallTest | Level2)312 HWTEST_F(WindowAdapterTest, GetUnreliableWindowInfo, Function | SmallTest | Level2)
313 {
314 int32_t windowId = 0;
315 std::vector<sptr<UnreliableWindowInfo>> infos;
316 WindowAdapter windowAdapter;
317 windowAdapter.GetUnreliableWindowInfo(windowId, infos);
318 auto ret = windowAdapter.InitWMSProxy();
319 ASSERT_EQ(true, ret);
320 }
321
322 /**
323 * @tc.name: DestroyAndDisconnectSpecificSession
324 * @tc.desc: WindowAdapter/DestroyAndDisconnectSpecificSession
325 * @tc.type: FUNC
326 */
HWTEST_F(WindowAdapterTest, DestroyAndDisconnectSpecificSession, Function | SmallTest | Level2)327 HWTEST_F(WindowAdapterTest, DestroyAndDisconnectSpecificSession, Function | SmallTest | Level2)
328 {
329 uint32_t persistentId = 0;
330 WindowAdapter windowAdapter;
331 windowAdapter.DestroyAndDisconnectSpecificSession(persistentId);
332 auto ret = windowAdapter.InitWMSProxy();
333 ASSERT_EQ(true, ret);
334 }
335
336 /**
337 * @tc.name: DestroyAndDisconnectSpecificSessionWithDetachCallback
338 * @tc.desc: WindowAdapter/DestroyAndDisconnectSpecificSessionWithDetachCallback
339 * @tc.type: FUNC
340 */
HWTEST_F(WindowAdapterTest, DestroyAndDisconnectSpecificSessionWithDetachCallback, Function | SmallTest | Level2)341 HWTEST_F(WindowAdapterTest, DestroyAndDisconnectSpecificSessionWithDetachCallback, Function | SmallTest | Level2)
342 {
343 uint32_t persistentId = 0;
344 WindowAdapter windowAdapter;
345 windowAdapter.DestroyAndDisconnectSpecificSessionWithDetachCallback(persistentId, nullptr);
346 auto ret = windowAdapter.InitWMSProxy();
347 ASSERT_EQ(true, ret);
348 }
349
350 /**
351 * @tc.name: UpdateModalExtensionRect
352 * @tc.desc: WindowAdapter/UpdateModalExtensionRect
353 * @tc.type: FUNC
354 */
HWTEST_F(WindowAdapterTest, UpdateModalExtensionRect, Function | SmallTest | Level2)355 HWTEST_F(WindowAdapterTest, UpdateModalExtensionRect, Function | SmallTest | Level2)
356 {
357 WindowAdapter windowAdapter;
358 Rect rect { 1, 2, 3, 4 };
359 sptr<IRemoteObject> token = sptr<IRemoteObjectMocker>::MakeSptr();
360 ASSERT_NE(token, nullptr);
361 windowAdapter.UpdateModalExtensionRect(token, rect);
362 windowAdapter.UpdateModalExtensionRect(nullptr, rect);
363 auto ret = windowAdapter.InitWMSProxy();
364 EXPECT_TRUE(ret);
365 }
366
367 /**
368 * @tc.name: ProcessModalExtensionPointDown
369 * @tc.desc: WindowAdapter/ProcessModalExtensionPointDown
370 * @tc.type: FUNC
371 */
HWTEST_F(WindowAdapterTest, ProcessModalExtensionPointDown, Function | SmallTest | Level2)372 HWTEST_F(WindowAdapterTest, ProcessModalExtensionPointDown, Function | SmallTest | Level2)
373 {
374 WindowAdapter windowAdapter;
375 sptr<IRemoteObject> token = sptr<IRemoteObjectMocker>::MakeSptr();
376 ASSERT_NE(token, nullptr);
377 windowAdapter.ProcessModalExtensionPointDown(token, 0, 0);
378 windowAdapter.ProcessModalExtensionPointDown(nullptr, 0, 0);
379 auto ret = windowAdapter.InitWMSProxy();
380 EXPECT_TRUE(ret);
381 }
382
383 /**
384 * @tc.name: AddExtensionWindowStageToSCB
385 * @tc.desc: WindowAdapter/AddExtensionWindowStageToSCB
386 * @tc.type: FUNC
387 */
HWTEST_F(WindowAdapterTest, AddExtensionWindowStageToSCB, Function | SmallTest | Level2)388 HWTEST_F(WindowAdapterTest, AddExtensionWindowStageToSCB, Function | SmallTest | Level2)
389 {
390 WindowAdapter windowAdapter;
391 windowAdapter.AddExtensionWindowStageToSCB(nullptr, nullptr, 0);
392 auto ret = windowAdapter.InitWMSProxy();
393 EXPECT_TRUE(ret);
394 }
395
396 /**
397 * @tc.name: RemoveExtensionWindowStageFromSCB
398 * @tc.desc: WindowAdapter/RemoveExtensionWindowStageFromSCB
399 * @tc.type: FUNC
400 */
HWTEST_F(WindowAdapterTest, RemoveExtensionWindowStageFromSCB, Function | SmallTest | Level2)401 HWTEST_F(WindowAdapterTest, RemoveExtensionWindowStageFromSCB, Function | SmallTest | Level2)
402 {
403 WindowAdapter windowAdapter;
404 windowAdapter.RemoveExtensionWindowStageFromSCB(nullptr, nullptr);
405 auto ret = windowAdapter.InitWMSProxy();
406 EXPECT_TRUE(ret);
407 }
408
409 /**
410 * @tc.name: AddOrRemoveSecureSession
411 * @tc.desc: WindowAdapter/AddOrRemoveSecureSession
412 * @tc.type: FUNC
413 */
HWTEST_F(WindowAdapterTest, AddOrRemoveSecureSession, Function | SmallTest | Level2)414 HWTEST_F(WindowAdapterTest, AddOrRemoveSecureSession, Function | SmallTest | Level2)
415 {
416 int32_t persistentId = 0;
417 WindowAdapter windowAdapter;
418 windowAdapter.AddOrRemoveSecureSession(persistentId, true);
419 auto ret = windowAdapter.InitWMSProxy();
420 ASSERT_EQ(true, ret);
421 }
422
423 /**
424 * @tc.name: UpdateExtWindowFlags
425 * @tc.desc: WindowAdapter/UpdateExtWindowFlags
426 * @tc.type: FUNC
427 */
HWTEST_F(WindowAdapterTest, UpdateExtWindowFlags, Function | SmallTest | Level2)428 HWTEST_F(WindowAdapterTest, UpdateExtWindowFlags, Function | SmallTest | Level2)
429 {
430 WindowAdapter windowAdapter;
431 sptr<IRemoteObject> token = sptr<IRemoteObjectMocker>::MakeSptr();
432 ASSERT_NE(token, nullptr);
433 windowAdapter.UpdateExtWindowFlags(token, 7, 7);
434 windowAdapter.UpdateExtWindowFlags(nullptr, 7, 7);
435 auto ret = windowAdapter.InitWMSProxy();
436 ASSERT_EQ(true, ret);
437 }
438
439 /**
440 * @tc.name: GetVisibilityWindowInfo
441 * @tc.desc: WindowAdapter/GetVisibilityWindowInfo
442 * @tc.type: FUNC
443 */
HWTEST_F(WindowAdapterTest, GetVisibilityWindowInfo, Function | SmallTest | Level2)444 HWTEST_F(WindowAdapterTest, GetVisibilityWindowInfo, Function | SmallTest | Level2)
445 {
446 WindowAdapter windowAdapter;
447 std::vector<sptr<WindowVisibilityInfo>> infos;
448 auto ret = windowAdapter.GetVisibilityWindowInfo(infos);
449 windowAdapter.WindowManagerAndSessionRecover();
450 ASSERT_EQ(WMError::WM_OK, ret);
451 }
452
453 /**
454 * @tc.name: ReregisterWindowManagerAgent
455 * @tc.desc: WindowAdapter/ReregisterWindowManagerAgent
456 * @tc.type: FUNC
457 */
HWTEST_F(WindowAdapterTest, ReregisterWindowManagerAgent, Function | SmallTest | Level2)458 HWTEST_F(WindowAdapterTest, ReregisterWindowManagerAgent, Function | SmallTest | Level2)
459 {
460 WindowAdapter windowAdapter;
461 auto displayId = 0;
462 ModeChangeHotZones hotZones;
463 auto ret = windowAdapter.GetModeChangeHotZones(displayId, hotZones);
464 windowAdapter.ReregisterWindowManagerAgent();
465 ASSERT_EQ(WMError::WM_OK, ret);
466 }
467
468 /**
469 * @tc.name: UpdateProperty
470 * @tc.desc: WindowAdapter/UpdateProperty
471 * @tc.type: FUNC
472 */
HWTEST_F(WindowAdapterTest, UpdateProperty, Function | SmallTest | Level2)473 HWTEST_F(WindowAdapterTest, UpdateProperty, Function | SmallTest | Level2)
474 {
475 WindowAdapter windowAdapter;
476 sptr<WindowProperty> windowProperty = sptr<WindowProperty>::MakeSptr();
477 PropertyChangeAction action = PropertyChangeAction::ACTION_UPDATE_RECT;
478 auto ret = windowAdapter.UpdateProperty(windowProperty, action);
479 windowAdapter.OnUserSwitch();
480 windowAdapter.ClearWindowAdapter();
481 ASSERT_EQ(WMError::WM_OK, ret);
482 }
483
484 /**
485 * @tc.name: SetWindowGravity
486 * @tc.desc: WindowAdapter/SetWindowGravity
487 * @tc.type: FUNC
488 */
HWTEST_F(WindowAdapterTest, SetWindowGravity, Function | SmallTest | Level2)489 HWTEST_F(WindowAdapterTest, SetWindowGravity, Function | SmallTest | Level2)
490 {
491 WindowAdapter windowAdapter;
492 windowAdapter.isProxyValid_ = true;
493 windowAdapter.windowManagerServiceProxy_ = nullptr;
494 uint32_t windowId = 0;
495 WindowGravity gravity = WindowGravity::WINDOW_GRAVITY_FLOAT;
496 uint32_t percent = 0;
497 auto ret = windowAdapter.SetWindowGravity(windowId, gravity, percent);
498 ASSERT_EQ(WMError::WM_ERROR_SAMGR, ret);
499 }
500
501 /**
502 * @tc.name: NotifyWindowTransition
503 * @tc.desc: WindowAdapter/NotifyWindowTransition
504 * @tc.type: FUNC
505 */
HWTEST_F(WindowAdapterTest, NotifyWindowTransition, Function | SmallTest | Level2)506 HWTEST_F(WindowAdapterTest, NotifyWindowTransition, Function | SmallTest | Level2)
507 {
508 WindowAdapter windowAdapter;
509 windowAdapter.isProxyValid_ = true;
510 windowAdapter.windowManagerServiceProxy_ = nullptr;
511 sptr<WindowTransitionInfo> from = nullptr;
512 sptr<WindowTransitionInfo> to = nullptr;
513 auto ret = windowAdapter.NotifyWindowTransition(from, to);
514 ASSERT_EQ(WMError::WM_ERROR_SAMGR, ret);
515 }
516
517 /**
518 * @tc.name: RaiseToAppTop
519 * @tc.desc: WindowAdapter/RaiseToAppTop
520 * @tc.type: FUNC
521 */
HWTEST_F(WindowAdapterTest, RaiseToAppTop, Function | SmallTest | Level2)522 HWTEST_F(WindowAdapterTest, RaiseToAppTop, Function | SmallTest | Level2)
523 {
524 WindowAdapter windowAdapter;
525 uint32_t windowId = 0;
526
527 windowAdapter.isProxyValid_ = true;
528 auto ret = windowAdapter.RaiseToAppTop(windowId);
529 ASSERT_EQ(WMError::WM_ERROR_SAMGR, ret);
530 windowAdapter.isProxyValid_ = false;
531
532 ret = windowAdapter.RaiseToAppTop(windowId);
533 std::shared_ptr<MMI::KeyEvent> event = nullptr;
534 windowAdapter.DispatchKeyEvent(windowId, event);
535 ASSERT_EQ(WMError::WM_OK, ret);
536 }
537
538 /**
539 * @tc.name: GetSnapshot
540 * @tc.desc: WindowAdapter/GetSnapshot
541 * @tc.type: FUNC
542 */
HWTEST_F(WindowAdapterTest, GetSnapshot, Function | SmallTest | Level2)543 HWTEST_F(WindowAdapterTest, GetSnapshot, Function | SmallTest | Level2)
544 {
545 WindowAdapter windowAdapter;
546 int32_t windowId = 0;
547 auto ret = windowAdapter.GetSnapshot(windowId);
548 ASSERT_EQ(nullptr, ret);
549 }
550
551 /**
552 * @tc.name: GetWindowAnimationTargets
553 * @tc.desc: WindowAdapter/GetWindowAnimationTargets
554 * @tc.type: FUNC
555 */
HWTEST_F(WindowAdapterTest, GetWindowAnimationTargets, Function | SmallTest | Level2)556 HWTEST_F(WindowAdapterTest, GetWindowAnimationTargets, Function | SmallTest | Level2)
557 {
558 WindowAdapter windowAdapter;
559 std::vector<uint32_t> missionIds;
560 std::vector<sptr<RSWindowAnimationTarget>> targets;
561 auto ret = windowAdapter.GetWindowAnimationTargets(missionIds, targets);
562 if (SceneBoardJudgement::IsSceneBoardEnabled()) {
563 ASSERT_EQ(WMError::WM_OK, ret);
564 } else {
565 ASSERT_EQ(WMError::WM_ERROR_NO_MEM, ret);
566 }
567 }
568
569 /**
570 * @tc.name: GetMaximizeMode
571 * @tc.desc: WindowAdapter/GetMaximizeMode
572 * @tc.type: FUNC
573 */
HWTEST_F(WindowAdapterTest, GetMaximizeMode, Function | SmallTest | Level2)574 HWTEST_F(WindowAdapterTest, GetMaximizeMode, Function | SmallTest | Level2)
575 {
576 WindowAdapter windowAdapter;
577 windowAdapter.isProxyValid_ = true;
578 windowAdapter.windowManagerServiceProxy_ = nullptr;
579 auto ret = windowAdapter.GetMaximizeMode();
580 ASSERT_EQ(MaximizeMode::MODE_FULL_FILL, ret);
581 }
582
583 /**
584 * @tc.name: UpdateSessionAvoidAreaListener
585 * @tc.desc: WindowAdapter/UpdateSessionAvoidAreaListener
586 * @tc.type: FUNC
587 */
HWTEST_F(WindowAdapterTest, UpdateSessionAvoidAreaListener, Function | SmallTest | Level2)588 HWTEST_F(WindowAdapterTest, UpdateSessionAvoidAreaListener, Function | SmallTest | Level2)
589 {
590 WindowAdapter windowAdapter;
591 windowAdapter.isProxyValid_ = true;
592 windowAdapter.windowManagerServiceProxy_ = nullptr;
593 int32_t persistentId = 0;
594 bool haveListener = true;
595 auto ret = windowAdapter.UpdateSessionAvoidAreaListener(persistentId, haveListener);
596 ASSERT_EQ(WMError::WM_DO_NOTHING, ret);
597 }
598
599 /**
600 * @tc.name: UpdateSessionTouchOutsideListener
601 * @tc.desc: WindowAdapter/UpdateSessionTouchOutsideListener
602 * @tc.type: FUNC
603 */
HWTEST_F(WindowAdapterTest, UpdateSessionTouchOutsideListener, Function | SmallTest | Level2)604 HWTEST_F(WindowAdapterTest, UpdateSessionTouchOutsideListener, Function | SmallTest | Level2)
605 {
606 WindowAdapter windowAdapter;
607 windowAdapter.isProxyValid_ = true;
608 windowAdapter.windowManagerServiceProxy_ = nullptr;
609 int32_t persistentId = 0;
610 bool haveListener = true;
611 auto ret = windowAdapter.UpdateSessionTouchOutsideListener(persistentId, haveListener);
612 ASSERT_EQ(WMError::WM_DO_NOTHING, ret);
613 }
614
615 /**
616 * @tc.name: SetSessionGravity
617 * @tc.desc: WindowAdapter/SetSessionGravity
618 * @tc.type: FUNC
619 */
HWTEST_F(WindowAdapterTest, SetSessionGravity, Function | SmallTest | Level2)620 HWTEST_F(WindowAdapterTest, SetSessionGravity, Function | SmallTest | Level2)
621 {
622 WindowAdapter windowAdapter;
623 int32_t persistentId = 0;
624 SessionGravity gravity = SessionGravity::SESSION_GRAVITY_FLOAT;
625 uint32_t percent = 0;
626 auto ret = windowAdapter.SetSessionGravity(persistentId, gravity, percent);
627 ASSERT_EQ(WMError::WM_OK, ret);
628 }
629
630 /**
631 * @tc.name: BindDialogSessionTarget
632 * @tc.desc: WindowAdapter/BindDialogSessionTarget
633 * @tc.type: FUNC
634 */
HWTEST_F(WindowAdapterTest, BindDialogSessionTarget, Function | SmallTest | Level2)635 HWTEST_F(WindowAdapterTest, BindDialogSessionTarget, Function | SmallTest | Level2)
636 {
637 WindowAdapter windowAdapter;
638 windowAdapter.isProxyValid_ = true;
639 windowAdapter.windowManagerServiceProxy_ = nullptr;
640 uint64_t persistentId = 0;
641 sptr<IRemoteObject> targetToken = nullptr;
642 auto ret = windowAdapter.BindDialogSessionTarget(persistentId, targetToken);
643 ASSERT_EQ(WMError::WM_DO_NOTHING, ret);
644 }
645
646 /**
647 * @tc.name: GetHostWindowRect
648 * @tc.desc: WindowAdapter/GetHostWindowRect
649 * @tc.type: FUNC
650 */
HWTEST_F(WindowAdapterTest, GetHostWindowRect, Function | SmallTest | Level2)651 HWTEST_F(WindowAdapterTest, GetHostWindowRect, Function | SmallTest | Level2)
652 {
653 WindowAdapter windowAdapter;
654 int32_t hostWindowId = 0;
655 Rect rect = {0, 0, 0, 0};
656 auto ret = windowAdapter.GetHostWindowRect(hostWindowId, rect);
657 ASSERT_EQ(WMError::WM_OK, ret);
658 }
659
660 /**
661 * @tc.name: GetWindowStyleType
662 * @tc.desc: WindowAdapter/GetWindowStyleType
663 * @tc.type: FUNC
664 */
HWTEST_F(WindowAdapterTest, GetWindowStyleType, Function | SmallTest | Level2)665 HWTEST_F(WindowAdapterTest, GetWindowStyleType, Function | SmallTest | Level2)
666 {
667 WindowAdapter windowAdapter;
668 WindowStyleType windowStyleType = Rosen::WindowStyleType::WINDOW_STYLE_DEFAULT;
669 windowAdapter.GetWindowStyleType(windowStyleType);
670 ASSERT_EQ(Rosen::WindowStyleType::WINDOW_STYLE_DEFAULT, windowStyleType);
671 }
672
673 /**
674 * @tc.name: SetProcessWatermark
675 * @tc.desc: WindowAdapter/SetProcessWatermark
676 * @tc.type: FUNC
677 */
HWTEST_F(WindowAdapterTest, SetProcessWatermark, Function | SmallTest | Level2)678 HWTEST_F(WindowAdapterTest, SetProcessWatermark, Function | SmallTest | Level2)
679 {
680 int32_t pid = 1000;
681 const std::string watermarkName = "SetProcessWatermarkName";
682 bool isEnabled = true;
683 WindowAdapter windowAdapter;
684 windowAdapter.SetProcessWatermark(pid, watermarkName, isEnabled);
685 auto ret = windowAdapter.InitWMSProxy();
686 ASSERT_EQ(true, ret);
687 }
688
689 /**
690 * @tc.name: ReleaseForegroundSessionScreenLock
691 * @tc.desc: WindowAdapter/ReleaseForegroundSessionScreenLock
692 * @tc.type: FUNC
693 */
HWTEST_F(WindowAdapterTest, ReleaseForegroundSessionScreenLock, Function | SmallTest | Level2)694 HWTEST_F(WindowAdapterTest, ReleaseForegroundSessionScreenLock, Function | SmallTest | Level2)
695 {
696 WindowAdapter windowAdapter;
697 auto err = windowAdapter.ReleaseForegroundSessionScreenLock();
698 ASSERT_EQ(err, WMError::WM_OK);
699 auto ret = windowAdapter.InitWMSProxy();
700 ASSERT_EQ(ret, true);
701 }
702
703 /**
704 * @tc.name: CreateAndConnectSpecificSession
705 * @tc.desc: WindowAdapter/CreateAndConnectSpecificSession
706 * @tc.type: FUNC
707 */
HWTEST_F(WindowAdapterTest, CreateAndConnectSpecificSession, Function | SmallTest | Level2)708 HWTEST_F(WindowAdapterTest, CreateAndConnectSpecificSession, Function | SmallTest | Level2)
709 {
710 WindowAdapter windowAdapter;
711 auto ret = windowAdapter.InitWMSProxy();
712 ASSERT_EQ(ret, true);
713
714 sptr<ISessionStage> sessionStage;
715 sptr<IWindowEventChannel> eventChannel;
716 std::shared_ptr<RSSurfaceNode> node;
717 sptr<WindowSessionProperty> property;
718 sptr<ISession> session;
719 SystemSessionConfig systemConfig;
720 sptr<IRemoteObject> token;
721 int32_t id = 101; // 101 is persistentId
722 windowAdapter.CreateAndConnectSpecificSession(sessionStage, eventChannel, node, property, id, session,
723 systemConfig, token);
724 ASSERT_EQ(session, nullptr);
725 }
726
727 /**
728 * @tc.name: IsPcOrPadFreeMultiWindowMode
729 * @tc.desc: WindowAdapter/IsPcOrPadFreeMultiWindowMode
730 * @tc.type: FUNC
731 */
HWTEST_F(WindowAdapterTest, IsPcOrPadFreeMultiWindowMode, Function | SmallTest | Level2)732 HWTEST_F(WindowAdapterTest, IsPcOrPadFreeMultiWindowMode, Function | SmallTest | Level2)
733 {
734 WindowAdapter windowAdapter;
735 bool isPcOrPadFreeMultiWindowMode = false;
736 auto err = windowAdapter.IsPcOrPadFreeMultiWindowMode(isPcOrPadFreeMultiWindowMode);
737 ASSERT_EQ(err, WMError::WM_OK);
738 auto ret = windowAdapter.InitWMSProxy();
739 ASSERT_EQ(ret, true);
740 }
741 }
742 }
743 }