1 /*
2 * Copyright (c) 2022-2022 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 #include "display_manager_proxy.h"
16 #include "display_manager_adapter.h"
17 #include "display_manager.h"
18 #include <gtest/gtest.h>
19 #include "hilog/log.h"
20 #include <iremote_broker.h>
21 #include <iservice_registry.h>
22 #include <system_ability_definition.h>
23 #include "scene_board_judgement.h"
24 #include "screen_manager.h"
25 #include "window_manager_hilog.h"
26 #include "window_scene.h"
27 #include "zidl/display_manager_agent_proxy.h"
28
29 using namespace testing;
30 using namespace testing::ext;
31
32 namespace OHOS {
33 namespace Rosen {
34
35 class DisplayManagerAgentProxyTest : public testing::Test {
36 public:
37 static void SetUpTestCase();
38 static void TearDownTestCase();
39 void SetUp() override;
40 void TearDown() override;
41 };
42
SetUpTestCase()43 void DisplayManagerAgentProxyTest::SetUpTestCase()
44 {
45 }
46
TearDownTestCase()47 void DisplayManagerAgentProxyTest::TearDownTestCase()
48 {
49 }
50
SetUp()51 void DisplayManagerAgentProxyTest::SetUp()
52 {
53 }
54
TearDown()55 void DisplayManagerAgentProxyTest::TearDown()
56 {
57 }
58
59 namespace {
60 /**
61 * @tc.name: NotifyDisplayPowerEvent
62 * @tc.desc: NotifyDisplayPowerEvent
63 * @tc.type: FUNC
64 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayPowerEvent, Function | SmallTest | Level1)65 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayPowerEvent, Function | SmallTest | Level1)
66 {
67 SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
68 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
69
70 DisplayPowerEvent event = DisplayPowerEvent::DESKTOP_READY;
71 EventStatus status = EventStatus::BEGIN;
72 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
73 GTEST_LOG_(INFO) << "WindowSessionImplTest:1";
74 displayManagerAgentProxy->NotifyDisplayPowerEvent(event, status);
75
76 int resultValue = 0;
77 std::function<void()> func = [&]()
78 {
79 displayManagerAgentProxy->NotifyDisplayPowerEvent(event, status);
80 resultValue = 1;
81 };
82 func();
83 ASSERT_EQ(resultValue, 1);
84 }
85
86 /**
87 * @tc.name: NotifyDisplayStateChanged
88 * @tc.desc: NotifyDisplayStateChanged
89 * @tc.type: FUNC
90 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayStateChanged, Function | SmallTest | Level1)91 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayStateChanged, Function | SmallTest | Level1)
92 {
93 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
94 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
95
96 DisplayId displayId = 0;
97 DisplayState state = DisplayState{1};
98
99 int resultValue = 0;
100 std::function<void()> func = [&]()
101 {
102 displayManagerAgentProxy->NotifyDisplayStateChanged(displayId, state);
103 resultValue = 1;
104 };
105 func();
106 ASSERT_EQ(resultValue, 1);
107 }
108
109 /**
110 * @tc.name: NotifyCaptureStatusChanged
111 * @tc.desc: NotifyCaptureStatusChanged
112 * @tc.type: FUNC
113 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1)114 HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1)
115 {
116 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
117 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
118
119 int resultValue = 0;
120 std::function<void()> func = [&]()
121 {
122 displayManagerAgentProxy->NotifyCaptureStatusChanged(false);
123 resultValue = 1;
124 };
125 func();
126 ASSERT_EQ(resultValue, 1);
127 }
128
129 /**
130 * @tc.name: NotifyCaptureStatusChanged01
131 * @tc.desc: NotifyCaptureStatusChanged01
132 * @tc.type: FUNC
133 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1)134 HWTEST_F(DisplayManagerAgentProxyTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1)
135 {
136 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
137 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
138
139 int resultValue = 0;
140 std::function<void()> func = [&]()
141 {
142 displayManagerAgentProxy->NotifyCaptureStatusChanged(true);
143 resultValue = 1;
144 };
145 func();
146 ASSERT_EQ(resultValue, 1);
147 }
148
149 /**
150 * @tc.name: NotifyDisplayChangeInfoChanged
151 * @tc.desc: NotifyDisplayChangeInfoChanged
152 * @tc.type: FUNC
153 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged, Function | SmallTest | Level1)154 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged, Function | SmallTest | Level1)
155 {
156 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
157 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
158
159 sptr<DisplayChangeInfo> display_change_info = new DisplayChangeInfo();
160 int resultValue = 0;
161 std::function<void()> func = [&]()
162 {
163 displayManagerAgentProxy->NotifyDisplayChangeInfoChanged(display_change_info);
164 resultValue = 1;
165 };
166 func();
167 ASSERT_EQ(resultValue, 1);
168 }
169
170 /**
171 * @tc.name: NotifyDisplayChangeInfoChanged01
172 * @tc.desc: NotifyDisplayChangeInfoChanged01
173 * @tc.type: FUNC
174 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged01, Function | SmallTest | Level1)175 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayChangeInfoChanged01, Function | SmallTest | Level1)
176 {
177 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
178 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
179
180 sptr<DisplayChangeInfo> display_change_info = nullptr;
181 int resultValue = 0;
182 std::function<void()> func = [&]()
183 {
184 displayManagerAgentProxy->NotifyDisplayChangeInfoChanged(display_change_info);
185 resultValue = 1;
186 };
187 func();
188 ASSERT_EQ(resultValue, 1);
189 }
190
191 /**
192 * @tc.name: NotifyDisplayModeChanged
193 * @tc.desc: NotifyDisplayModeChanged
194 * @tc.type: FUNC
195 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayModeChanged, Function | SmallTest | Level1)196 HWTEST_F(DisplayManagerAgentProxyTest, NotifyDisplayModeChanged, Function | SmallTest | Level1)
197 {
198 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
199 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
200
201 FoldDisplayMode mode = FoldDisplayMode{0};
202 int resultValue = 0;
203 std::function<void()> func = [&]()
204 {
205 displayManagerAgentProxy->NotifyDisplayModeChanged(mode);
206 resultValue = 1;
207 };
208 func();
209 ASSERT_EQ(resultValue, 1);
210 }
211
212 /**
213 * @tc.name: NotifyAvailableAreaChanged
214 * @tc.desc: NotifyAvailableAreaChanged
215 * @tc.type: FUNC
216 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged, Function | SmallTest | Level1)217 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged, Function | SmallTest | Level1)
218 {
219 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
220 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
221
222 DMRect rect = {2, 2, 2, 2};
223 int resultValue = 0;
224 std::function<void()> func = [&]()
225 {
226 displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
227 resultValue = 1;
228 };
229 func();
230 ASSERT_EQ(resultValue, 1);
231 }
232
233 /**
234 * @tc.name: NotifyAvailableAreaChanged01
235 * @tc.desc: NotifyAvailableAreaChanged01
236 * @tc.type: FUNC
237 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged01, Function | SmallTest | Level1)238 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged01, Function | SmallTest | Level1)
239 {
240 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
241 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
242
243 DMRect rect = {1, 1, 1, 1};
244 int resultValue = 0;
245 std::function<void()> func = [&]()
246 {
247 displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
248 resultValue = 1;
249 };
250 func();
251 ASSERT_EQ(resultValue, 1);
252 }
253
254 /**
255 * @tc.name: NotifyAvailableAreaChanged02
256 * @tc.desc: NotifyAvailableAreaChanged02
257 * @tc.type: FUNC
258 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged02, Function | SmallTest | Level1)259 HWTEST_F(DisplayManagerAgentProxyTest, NotifyAvailableAreaChanged02, Function | SmallTest | Level1)
260 {
261 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
262 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
263
264 DMRect rect = {3, 3, 3, 3};
265 int resultValue = 0;
266 std::function<void()> func = [&]()
267 {
268 displayManagerAgentProxy->NotifyAvailableAreaChanged(rect);
269 resultValue = 1;
270 };
271 func();
272 ASSERT_EQ(resultValue, 1);
273 }
274
275 /**
276 * @tc.name: OnScreenConnect
277 * @tc.desc: OnScreenConnect
278 * @tc.type: FUNC
279 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect, Function | SmallTest | Level1)280 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect, Function | SmallTest | Level1)
281 {
282 sptr<ScreenInfo> screenInfo = nullptr;
283
284 SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
285 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
286 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
287
288 int resultValue = 0;
289 std::function<void()> func = [&]()
290 {
291 displayManagerAgentProxy->OnScreenConnect(screenInfo);
292 resultValue = 1;
293 };
294 func();
295 ASSERT_EQ(resultValue, 1);
296 }
297
298 /**
299 * @tc.name: OnScreenConnect01
300 * @tc.desc: OnScreenConnect01
301 * @tc.type: FUNC
302 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect01, Function | SmallTest | Level1)303 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenConnect01, Function | SmallTest | Level1)
304 {
305 sptr<ScreenInfo> screenInfo = new ScreenInfo();
306
307 SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
308 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
309 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
310
311 int resultValue = 0;
312 std::function<void()> func = [&]()
313 {
314 displayManagerAgentProxy->OnScreenConnect(screenInfo);
315 resultValue = 1;
316 };
317 func();
318 ASSERT_EQ(resultValue, 1);
319 }
320
321
322 /**
323 * @tc.name: OnScreenDisconnect
324 * @tc.desc: OnScreenDisconnect
325 * @tc.type: FUNC
326 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenDisconnect, Function | SmallTest | Level1)327 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenDisconnect, Function | SmallTest | Level1)
328 {
329 ScreenId screenId = 0;
330
331 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
332 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
333
334 int resultValue = 0;
335 std::function<void()> func = [&]()
336 {
337 displayManagerAgentProxy->OnScreenDisconnect(screenId);
338 resultValue = 1;
339 };
340 func();
341 ASSERT_EQ(resultValue, 1);
342 }
343
344 /**
345 * @tc.name: OnScreenChange
346 * @tc.desc: OnScreenChange
347 * @tc.type: FUNC
348 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange, Function | SmallTest | Level1)349 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange, Function | SmallTest | Level1)
350 {
351 sptr<ScreenInfo> screenInfo = new ScreenInfo();
352 ScreenChangeEvent event = ScreenChangeEvent::CHANGE_MODE;
353
354 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
355 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
356
357 int resultValue = 0;
358 std::function<void()> func = [&]()
359 {
360 displayManagerAgentProxy->OnScreenChange(screenInfo, event);
361 resultValue = 1;
362 };
363 func();
364 ASSERT_EQ(resultValue, 1);
365 }
366
367 /**
368 * @tc.name: OnScreenChange01
369 * @tc.desc: OnScreenChange01
370 * @tc.type: FUNC
371 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange01, Function | SmallTest | Level1)372 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenChange01, Function | SmallTest | Level1)
373 {
374 sptr<ScreenInfo> screenInfo = nullptr;
375 ScreenChangeEvent event = ScreenChangeEvent::CHANGE_MODE;
376
377 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
378 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
379
380 int resultValue = 0;
381 std::function<void()> func = [&]()
382 {
383 displayManagerAgentProxy->OnScreenChange(screenInfo, event);
384 resultValue = 1;
385 };
386 func();
387 ASSERT_EQ(resultValue, 1);
388 }
389
390 /**
391 * @tc.name: OnScreenGroupChange
392 * @tc.desc: OnScreenGroupChange
393 * @tc.type: FUNC
394 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenGroupChange, Function | SmallTest | Level1)395 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenGroupChange, Function | SmallTest | Level1)
396 {
397 std::string trigger = " ";
398 std::vector<sptr<ScreenInfo>> screenInfos = {};
399 ScreenGroupChangeEvent event = ScreenGroupChangeEvent::CHANGE_GROUP;
400
401 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
402 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
403
404 int resultValue = 0;
405 std::function<void()> func = [&]()
406 {
407 displayManagerAgentProxy->OnScreenGroupChange(trigger, screenInfos, event);
408 resultValue = 1;
409 };
410 func();
411 ASSERT_EQ(resultValue, 1);
412 }
413
414 /**
415 * @tc.name: OnDisplayCreate
416 * @tc.desc: OnDisplayCreate
417 * @tc.type: FUNC
418 */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate, Function | SmallTest | Level1)419 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate, Function | SmallTest | Level1)
420 {
421 sptr<DisplayInfo> displayInfo = new DisplayInfo();
422
423 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
424 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
425
426 int resultValue = 0;
427 std::function<void()> func = [&]()
428 {
429 displayManagerAgentProxy->OnDisplayCreate(displayInfo);
430 resultValue = 1;
431 };
432 func();
433 ASSERT_EQ(resultValue, 1);
434 }
435
436 /**
437 * @tc.name: OnDisplayCreate01
438 * @tc.desc: OnDisplayCreate01
439 * @tc.type: FUNC
440 */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate01, Function | SmallTest | Level1)441 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayCreate01, Function | SmallTest | Level1)
442 {
443 sptr<DisplayInfo> displayInfo = nullptr;
444
445 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
446 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
447
448 int resultValue = 0;
449 std::function<void()> func = [&]()
450 {
451 displayManagerAgentProxy->OnDisplayCreate(displayInfo);
452 resultValue = 1;
453 };
454 func();
455 ASSERT_EQ(resultValue, 1);
456 }
457
458 /**
459 * @tc.name: OnDisplayDestroy
460 * @tc.desc: OnDisplayDestroy
461 * @tc.type: FUNC
462 */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayDestroy, Function | SmallTest | Level1)463 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayDestroy, Function | SmallTest | Level1)
464 {
465 DisplayId displayId = 0;
466
467 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
468 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
469
470 int resultValue = 0;
471 std::function<void()> func = [&]()
472 {
473 displayManagerAgentProxy->OnDisplayDestroy(displayId);
474 resultValue = 1;
475 };
476 func();
477 ASSERT_EQ(resultValue, 1);
478 }
479
480 /**
481 * @tc.name: OnDisplayChange
482 * @tc.desc: OnDisplayChange
483 * @tc.type: FUNC
484 */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange, Function | SmallTest | Level1)485 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange, Function | SmallTest | Level1)
486 {
487 sptr<DisplayInfo> displayInfo = new DisplayInfo();
488 DisplayChangeEvent event = DisplayChangeEvent::DISPLAY_FREEZED;
489
490 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
491 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
492
493 int resultValue = 0;
494 std::function<void()> func = [&]()
495 {
496 displayManagerAgentProxy->OnDisplayChange(displayInfo, event);
497 resultValue = 1;
498 };
499 func();
500 ASSERT_EQ(resultValue, 1);
501 }
502
503 /**
504 * @tc.name: OnDisplayChange01
505 * @tc.desc: OnDisplayChange01
506 * @tc.type: FUNC
507 */
HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange01, Function | SmallTest | Level1)508 HWTEST_F(DisplayManagerAgentProxyTest, OnDisplayChange01, Function | SmallTest | Level1)
509 {
510 sptr<DisplayInfo> displayInfo = nullptr;
511 DisplayChangeEvent event = DisplayChangeEvent::DISPLAY_FREEZED;
512
513 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
514 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
515
516 int resultValue = 0;
517 std::function<void()> func = [&]()
518 {
519 displayManagerAgentProxy->OnDisplayChange(displayInfo, event);
520 resultValue = 1;
521 };
522 func();
523 ASSERT_EQ(resultValue, 1);
524 }
525
526
527 /**
528 * @tc.name: OnScreenshot
529 * @tc.desc: OnScreenshot
530 * @tc.type: FUNC
531 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot, Function | SmallTest | Level1)532 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot, Function | SmallTest | Level1)
533 {
534 sptr<ScreenshotInfo> snapshotInfo = new ScreenshotInfo();
535
536 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
537 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
538
539 int resultValue = 0;
540 std::function<void()> func = [&]()
541 {
542 displayManagerAgentProxy->OnScreenshot(snapshotInfo);
543 resultValue = 1;
544 };
545 func();
546 ASSERT_EQ(resultValue, 1);
547 }
548
549 /**
550 * @tc.name: OnScreenshot01
551 * @tc.desc: OnScreenshot01
552 * @tc.type: FUNC
553 */
HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot01, Function | SmallTest | Level1)554 HWTEST_F(DisplayManagerAgentProxyTest, OnScreenshot01, Function | SmallTest | Level1)
555 {
556 sptr<ScreenshotInfo> snapshotInfo = nullptr;
557
558 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
559 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
560
561 int resultValue = 0;
562 std::function<void()> func = [&]()
563 {
564 displayManagerAgentProxy->OnScreenshot(snapshotInfo);
565 resultValue = 1;
566 };
567 func();
568 ASSERT_EQ(resultValue, 1);
569 }
570
571 /**
572 * @tc.name: NotifyPrivateWindowStateChanged
573 * @tc.desc: NotifyPrivateWindowStateChanged
574 * @tc.type: FUNC
575 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged, Function | SmallTest | Level1)576 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged, Function | SmallTest | Level1)
577 {
578 bool hasPrivate = false;
579
580 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
581 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
582
583 int resultValue = 0;
584 std::function<void()> func = [&]()
585 {
586 displayManagerAgentProxy->NotifyPrivateWindowStateChanged(hasPrivate);
587 resultValue = 1;
588 };
589 func();
590 ASSERT_EQ(resultValue, 1);
591 }
592
593 /**
594 * @tc.name: NotifyPrivateWindowStateChanged01
595 * @tc.desc: NotifyPrivateWindowStateChanged01
596 * @tc.type: FUNC
597 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged01, Function | SmallTest | Level1)598 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateWindowStateChanged01, Function | SmallTest | Level1)
599 {
600 bool hasPrivate = true;
601
602 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
603 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
604
605 int resultValue = 0;
606 std::function<void()> func = [&]()
607 {
608 displayManagerAgentProxy->NotifyPrivateWindowStateChanged(hasPrivate);
609 resultValue = 1;
610 };
611 func();
612 ASSERT_EQ(resultValue, 1);
613 }
614
615 /**
616 * @tc.name: NotifyPrivateStateWindowListChanged
617 * @tc.desc: NotifyPrivateStateWindowListChanged
618 * @tc.type: FUNC
619 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateStateWindowListChanged, Function | SmallTest | Level1)620 HWTEST_F(DisplayManagerAgentProxyTest, NotifyPrivateStateWindowListChanged, Function | SmallTest | Level1)
621 {
622 SingletonContainer::Get<ScreenManagerAdapter>().InitDMSProxy();
623 DisplayId id = 0;
624 std::vector<std::string> privacyWindowList{"win0", "win1"};
625
626 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
627 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
628
629 int resultValue = 0;
630 std::function<void()> func = [&]()
631 {
632 displayManagerAgentProxy->NotifyPrivateStateWindowListChanged(id, privacyWindowList);
633 resultValue = 1;
634 };
635 func();
636 ASSERT_EQ(resultValue, 1);
637 }
638
639 /**
640 * @tc.name: NotifyFoldStatusChanged
641 * @tc.desc: NotifyFoldStatusChanged
642 * @tc.type: FUNC
643 */
HWTEST_F(DisplayManagerAgentProxyTest, NotifyFoldStatusChanged, Function | SmallTest | Level1)644 HWTEST_F(DisplayManagerAgentProxyTest, NotifyFoldStatusChanged, Function | SmallTest | Level1)
645 {
646 sptr<IRemoteObject> impl = SingletonContainer::Get<ScreenManagerAdapter>().displayManagerServiceProxy_->AsObject();
647 sptr<DisplayManagerAgentProxy> displayManagerAgentProxy = new DisplayManagerAgentProxy(impl);
648
649 int resultValue = 0;
650 std::function<void()> func = [&]()
651 {
652 displayManagerAgentProxy->NotifyFoldStatusChanged(FoldStatus::EXPAND);
653 resultValue = 1;
654 };
655 func();
656
657 ASSERT_EQ(resultValue, 1);
658 }
659 }
660 }
661 }