1e0dac50fSopenharmony_ci/* 2e0dac50fSopenharmony_ci * Copyright (c) 2022-2022 Huawei Device Co., Ltd. 3e0dac50fSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4e0dac50fSopenharmony_ci * you may not use this file except in compliance with the License. 5e0dac50fSopenharmony_ci * You may obtain a copy of the License at 6e0dac50fSopenharmony_ci * 7e0dac50fSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8e0dac50fSopenharmony_ci * 9e0dac50fSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10e0dac50fSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11e0dac50fSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12e0dac50fSopenharmony_ci * See the License for the specific language governing permissions and 13e0dac50fSopenharmony_ci * limitations under the License. 14e0dac50fSopenharmony_ci */ 15e0dac50fSopenharmony_ci 16e0dac50fSopenharmony_ci#include <gtest/gtest.h> 17e0dac50fSopenharmony_ci#include "display_manager.h" 18e0dac50fSopenharmony_ci#include "display_manager_proxy.h" 19e0dac50fSopenharmony_ci#include "window.h" 20e0dac50fSopenharmony_ci#include "dm_common.h" 21e0dac50fSopenharmony_ci 22e0dac50fSopenharmony_ci#include "mock_display_manager_adapter.h" 23e0dac50fSopenharmony_ci#include "singleton_mocker.h" 24e0dac50fSopenharmony_ci#include "display_manager.cpp" 25e0dac50fSopenharmony_ci#include "window_scene.h" 26e0dac50fSopenharmony_ci#include "scene_board_judgement.h" 27e0dac50fSopenharmony_ci 28e0dac50fSopenharmony_ciusing namespace testing; 29e0dac50fSopenharmony_ciusing namespace testing::ext; 30e0dac50fSopenharmony_ci 31e0dac50fSopenharmony_cinamespace OHOS { 32e0dac50fSopenharmony_cinamespace Rosen { 33e0dac50fSopenharmony_ciusing Mocker = SingletonMocker<DisplayManagerAdapter, MockDisplayManagerAdapter>; 34e0dac50fSopenharmony_ciclass DmMockScreenshotListener : public DisplayManager::IScreenshotListener { 35e0dac50fSopenharmony_cipublic: 36e0dac50fSopenharmony_ci void OnScreenshot(const ScreenshotInfo info) override {} 37e0dac50fSopenharmony_ci}; 38e0dac50fSopenharmony_ciclass DmMockPrivateWindowListener : public DisplayManager::IPrivateWindowListener { 39e0dac50fSopenharmony_cipublic: 40e0dac50fSopenharmony_ci void OnPrivateWindow([[maybe_unused]]bool) override {} 41e0dac50fSopenharmony_ci}; 42e0dac50fSopenharmony_ciclass DmMockFoldAngleListener : public DisplayManager::IFoldAngleListener { 43e0dac50fSopenharmony_cipublic: 44e0dac50fSopenharmony_ci void OnFoldAngleChanged([[maybe_unused]]std::vector<float>) override {} 45e0dac50fSopenharmony_ci}; 46e0dac50fSopenharmony_ciclass DmMockCaptureStatusListener : public DisplayManager::ICaptureStatusListener { 47e0dac50fSopenharmony_cipublic: 48e0dac50fSopenharmony_ci void OnCaptureStatusChanged([[maybe_unused]]bool) override {} 49e0dac50fSopenharmony_ci}; 50e0dac50fSopenharmony_ciclass DmMockDisplayListener : public DisplayManager::IDisplayListener { 51e0dac50fSopenharmony_cipublic: 52e0dac50fSopenharmony_ci void OnCreate(DisplayId) override {} 53e0dac50fSopenharmony_ci void OnDestroy(DisplayId) override {} 54e0dac50fSopenharmony_ci void OnChange(DisplayId) override {} 55e0dac50fSopenharmony_ci}; 56e0dac50fSopenharmony_ciclass DmMockDisplayPowerEventListener : public IDisplayPowerEventListener { 57e0dac50fSopenharmony_cipublic: 58e0dac50fSopenharmony_ci void OnDisplayPowerEvent(DisplayPowerEvent, EventStatus) override {} 59e0dac50fSopenharmony_ci}; 60e0dac50fSopenharmony_ci 61e0dac50fSopenharmony_ciclass DisplayManagerTest : public testing::Test { 62e0dac50fSopenharmony_cipublic: 63e0dac50fSopenharmony_ci static void SetUpTestCase(); 64e0dac50fSopenharmony_ci static void TearDownTestCase(); 65e0dac50fSopenharmony_ci virtual void SetUp() override; 66e0dac50fSopenharmony_ci virtual void TearDown() override; 67e0dac50fSopenharmony_ci}; 68e0dac50fSopenharmony_ci 69e0dac50fSopenharmony_civoid DisplayManagerTest::SetUpTestCase() 70e0dac50fSopenharmony_ci{ 71e0dac50fSopenharmony_ci} 72e0dac50fSopenharmony_ci 73e0dac50fSopenharmony_civoid DisplayManagerTest::TearDownTestCase() 74e0dac50fSopenharmony_ci{ 75e0dac50fSopenharmony_ci} 76e0dac50fSopenharmony_ci 77e0dac50fSopenharmony_civoid DisplayManagerTest::SetUp() 78e0dac50fSopenharmony_ci{ 79e0dac50fSopenharmony_ci} 80e0dac50fSopenharmony_ci 81e0dac50fSopenharmony_civoid DisplayManagerTest::TearDown() 82e0dac50fSopenharmony_ci{ 83e0dac50fSopenharmony_ci} 84e0dac50fSopenharmony_ci 85e0dac50fSopenharmony_cinamespace { 86e0dac50fSopenharmony_ci/** 87e0dac50fSopenharmony_ci * @tc.name: Freeze01 88e0dac50fSopenharmony_ci * @tc.desc: success 89e0dac50fSopenharmony_ci * @tc.type: FUNC 90e0dac50fSopenharmony_ci */ 91e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze01, Function | SmallTest | Level1) 92e0dac50fSopenharmony_ci{ 93e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 94e0dac50fSopenharmony_ci displayIds.push_back(0); 95e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Freeze(displayIds); 96e0dac50fSopenharmony_ci if (!SceneBoardJudgement::IsSceneBoardEnabled()) { 97e0dac50fSopenharmony_ci ASSERT_TRUE(ret); 98e0dac50fSopenharmony_ci } else { 99e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 100e0dac50fSopenharmony_ci } 101e0dac50fSopenharmony_ci} 102e0dac50fSopenharmony_ci 103e0dac50fSopenharmony_ci/** 104e0dac50fSopenharmony_ci * @tc.name: Freeze02 105e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds exceed the maximum 106e0dac50fSopenharmony_ci * @tc.type: FUNC 107e0dac50fSopenharmony_ci */ 108e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze02, Function | SmallTest | Level1) 109e0dac50fSopenharmony_ci{ 110e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 111e0dac50fSopenharmony_ci for (uint32_t i = 0; i < 33; i++) { // MAX_DISPLAY_SIZE + 1 112e0dac50fSopenharmony_ci displayIds.push_back(i); 113e0dac50fSopenharmony_ci } 114e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Freeze(displayIds); 115e0dac50fSopenharmony_ci if (!SceneBoardJudgement::IsSceneBoardEnabled()) { 116e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 117e0dac50fSopenharmony_ci } 118e0dac50fSopenharmony_ci} 119e0dac50fSopenharmony_ci 120e0dac50fSopenharmony_ci/** 121e0dac50fSopenharmony_ci * @tc.name: Freeze03 122e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds empty 123e0dac50fSopenharmony_ci * @tc.type: FUNC 124e0dac50fSopenharmony_ci */ 125e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Freeze03, Function | SmallTest | Level1) 126e0dac50fSopenharmony_ci{ 127e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 128e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Freeze(displayIds); 129e0dac50fSopenharmony_ci if (!SceneBoardJudgement::IsSceneBoardEnabled()) { 130e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 131e0dac50fSopenharmony_ci } 132e0dac50fSopenharmony_ci} 133e0dac50fSopenharmony_ci 134e0dac50fSopenharmony_ci/** 135e0dac50fSopenharmony_ci * @tc.name: Unfreeze01 136e0dac50fSopenharmony_ci * @tc.desc: success 137e0dac50fSopenharmony_ci * @tc.type: FUNC 138e0dac50fSopenharmony_ci */ 139e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze01, Function | SmallTest | Level1) 140e0dac50fSopenharmony_ci{ 141e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 142e0dac50fSopenharmony_ci displayIds.push_back(0); 143e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Unfreeze(displayIds); 144e0dac50fSopenharmony_ci if (!SceneBoardJudgement::IsSceneBoardEnabled()) { 145e0dac50fSopenharmony_ci ASSERT_TRUE(ret); 146e0dac50fSopenharmony_ci } else { 147e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 148e0dac50fSopenharmony_ci } 149e0dac50fSopenharmony_ci} 150e0dac50fSopenharmony_ci 151e0dac50fSopenharmony_ci/** 152e0dac50fSopenharmony_ci * @tc.name: Unfreeze02 153e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds exceed the maximum 154e0dac50fSopenharmony_ci * @tc.type: FUNC 155e0dac50fSopenharmony_ci */ 156e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze02, Function | SmallTest | Level1) 157e0dac50fSopenharmony_ci{ 158e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 159e0dac50fSopenharmony_ci for (uint32_t i = 0; i < 33; i++) { // MAX_DISPLAY_SIZE + 1 160e0dac50fSopenharmony_ci displayIds.push_back(i); 161e0dac50fSopenharmony_ci } 162e0dac50fSopenharmony_ci 163e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Unfreeze(displayIds); 164e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 165e0dac50fSopenharmony_ci} 166e0dac50fSopenharmony_ci 167e0dac50fSopenharmony_ci/** 168e0dac50fSopenharmony_ci * @tc.name: Unfreeze03 169e0dac50fSopenharmony_ci * @tc.desc: test Freeze displayIds empty 170e0dac50fSopenharmony_ci * @tc.type: FUNC 171e0dac50fSopenharmony_ci */ 172e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Unfreeze03, Function | SmallTest | Level1) 173e0dac50fSopenharmony_ci{ 174e0dac50fSopenharmony_ci std::vector<DisplayId> displayIds; 175e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().Unfreeze(displayIds); 176e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 177e0dac50fSopenharmony_ci} 178e0dac50fSopenharmony_ci 179e0dac50fSopenharmony_ci/** 180e0dac50fSopenharmony_ci * @tc.name: RegisterScreenshotListener01 181e0dac50fSopenharmony_ci * @tc.desc: test RegisterScreenshotListener with null listener 182e0dac50fSopenharmony_ci * @tc.type: FUNC 183e0dac50fSopenharmony_ci */ 184e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterScreenshotListener01, Function | SmallTest | Level1) 185e0dac50fSopenharmony_ci{ 186e0dac50fSopenharmony_ci DMError ret = DisplayManager::GetInstance().RegisterScreenshotListener(nullptr); 187e0dac50fSopenharmony_ci ASSERT_FALSE(DMError::DM_OK == ret); 188e0dac50fSopenharmony_ci} 189e0dac50fSopenharmony_ci 190e0dac50fSopenharmony_ci/** 191e0dac50fSopenharmony_ci * @tc.name: RegisterScreenshotListener02 192e0dac50fSopenharmony_ci * @tc.desc: test RegisterScreenshotListener with null listener 193e0dac50fSopenharmony_ci * @tc.type: FUNC 194e0dac50fSopenharmony_ci */ 195e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterScreenshotListener02, Function | SmallTest | Level1) 196e0dac50fSopenharmony_ci{ 197e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 198e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_NULLPTR)); 199e0dac50fSopenharmony_ci sptr<DisplayManager::IScreenshotListener> listener = new DmMockScreenshotListener(); 200e0dac50fSopenharmony_ci DMError ret = DisplayManager::GetInstance().RegisterScreenshotListener(listener); 201e0dac50fSopenharmony_ci ASSERT_FALSE(DMError::DM_OK == ret); 202e0dac50fSopenharmony_ci} 203e0dac50fSopenharmony_ci 204e0dac50fSopenharmony_ci/** 205e0dac50fSopenharmony_ci * @tc.name: UnregisterScreenshotListener01 206e0dac50fSopenharmony_ci * @tc.desc: test UnregisterScreenshotListener with null listener 207e0dac50fSopenharmony_ci * @tc.type: FUNC 208e0dac50fSopenharmony_ci */ 209e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterScreenshotListener01, Function | SmallTest | Level1) 210e0dac50fSopenharmony_ci{ 211e0dac50fSopenharmony_ci DMError ret = DisplayManager::GetInstance().UnregisterScreenshotListener(nullptr); 212e0dac50fSopenharmony_ci ASSERT_FALSE(DMError::DM_OK == ret); 213e0dac50fSopenharmony_ci} 214e0dac50fSopenharmony_ci 215e0dac50fSopenharmony_ci/** 216e0dac50fSopenharmony_ci * @tc.name: UnregisterScreenshotListener02 217e0dac50fSopenharmony_ci * @tc.desc: test UnregisterScreenshotListener with null listener 218e0dac50fSopenharmony_ci * @tc.type: FUNC 219e0dac50fSopenharmony_ci */ 220e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterScreenshotListener02, Function | SmallTest | Level1) 221e0dac50fSopenharmony_ci{ 222e0dac50fSopenharmony_ci sptr<DisplayManager::IScreenshotListener> listener = new DmMockScreenshotListener(); 223e0dac50fSopenharmony_ci DMError ret = DisplayManager::GetInstance().UnregisterScreenshotListener(listener); 224e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 225e0dac50fSopenharmony_ci} 226e0dac50fSopenharmony_ci 227e0dac50fSopenharmony_ci/** 228e0dac50fSopenharmony_ci * @tc.name: OnDisplayCreate01 229e0dac50fSopenharmony_ci * @tc.desc: OnDisplayCreate 230e0dac50fSopenharmony_ci * @tc.type: FUNC 231e0dac50fSopenharmony_ci */ 232e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnDisplayCreate01, Function | SmallTest | Level1) 233e0dac50fSopenharmony_ci{ 234e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 235e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 236e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 237e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayListener(listener); 238e0dac50fSopenharmony_ci auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_; 239e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener, nullptr); 240e0dac50fSopenharmony_ci displayManagerListener->OnDisplayCreate(nullptr); 241e0dac50fSopenharmony_ci sptr<DisplayInfo> displayInfo = new DisplayInfo(); 242e0dac50fSopenharmony_ci displayInfo->SetDisplayId(DISPLAY_ID_INVALID); 243e0dac50fSopenharmony_ci displayManagerListener->OnDisplayCreate(displayInfo); 244e0dac50fSopenharmony_ci displayInfo->SetDisplayId(0); 245e0dac50fSopenharmony_ci displayManagerListener->OnDisplayCreate(displayInfo); 246e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener->pImpl_, nullptr); 247e0dac50fSopenharmony_ci displayManagerListener->pImpl_ = nullptr; 248e0dac50fSopenharmony_ci displayManagerListener->OnDisplayCreate(displayInfo); 249e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr; 250e0dac50fSopenharmony_ci} 251e0dac50fSopenharmony_ci 252e0dac50fSopenharmony_ci/** 253e0dac50fSopenharmony_ci * @tc.name: CheckRectValid 254e0dac50fSopenharmony_ci * @tc.desc: CheckRectValid all 255e0dac50fSopenharmony_ci * @tc.type: FUNC 256e0dac50fSopenharmony_ci */ 257e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, CheckRectValid, Function | SmallTest | Level1) 258e0dac50fSopenharmony_ci{ 259e0dac50fSopenharmony_ci int32_t oriHeight = 500; 260e0dac50fSopenharmony_ci int32_t oriWidth = 500; 261e0dac50fSopenharmony_ci Media::Rect rect = {.left = 1, .top = 1, .width = 1, .height = 1}; 262e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 263e0dac50fSopenharmony_ci ASSERT_TRUE(ret); 264e0dac50fSopenharmony_ci rect.left = -1; 265e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 266e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 267e0dac50fSopenharmony_ci rect.left = 1; 268e0dac50fSopenharmony_ci rect.top = -1; 269e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 270e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 271e0dac50fSopenharmony_ci rect.top = 1; 272e0dac50fSopenharmony_ci rect.width = -1; 273e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 274e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 275e0dac50fSopenharmony_ci rect.width = 1; 276e0dac50fSopenharmony_ci rect.height = -1; 277e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 278e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 279e0dac50fSopenharmony_ci rect.width = 500; 280e0dac50fSopenharmony_ci rect.height = 1; 281e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 282e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 283e0dac50fSopenharmony_ci rect.width = 1; 284e0dac50fSopenharmony_ci rect.height = 500; 285e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckRectValid(rect, oriHeight, oriWidth); 286e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 287e0dac50fSopenharmony_ci} 288e0dac50fSopenharmony_ci 289e0dac50fSopenharmony_ci/** 290e0dac50fSopenharmony_ci * @tc.name: CheckSizeValid 291e0dac50fSopenharmony_ci * @tc.desc: CheckSizeValid all 292e0dac50fSopenharmony_ci * @tc.type: FUNC 293e0dac50fSopenharmony_ci */ 294e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, CheckSizeValid, Function | SmallTest | Level1) 295e0dac50fSopenharmony_ci{ 296e0dac50fSopenharmony_ci int32_t oriHeight = 500; 297e0dac50fSopenharmony_ci int32_t oriWidth = 500; 298e0dac50fSopenharmony_ci Media::Size size = {.width = 1, .height = 1}; 299e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth); 300e0dac50fSopenharmony_ci ASSERT_TRUE(ret); 301e0dac50fSopenharmony_ci size.width = -1; 302e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth); 303e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 304e0dac50fSopenharmony_ci size.width = 1; 305e0dac50fSopenharmony_ci size.height = -1; 306e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth); 307e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 308e0dac50fSopenharmony_ci size.width = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT + 1; 309e0dac50fSopenharmony_ci size.height = 1; 310e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth); 311e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 312e0dac50fSopenharmony_ci size.width = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT; 313e0dac50fSopenharmony_ci size.height = DisplayManager::MAX_RESOLUTION_SIZE_SCREENSHOT + 1; 314e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().pImpl_->CheckSizeValid(size, oriHeight, oriWidth); 315e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 316e0dac50fSopenharmony_ci} 317e0dac50fSopenharmony_ci 318e0dac50fSopenharmony_ci/** 319e0dac50fSopenharmony_ci * @tc.name: ImplGetDefaultDisplay01 320e0dac50fSopenharmony_ci * @tc.desc: Impl GetDefaultDisplay nullptr 321e0dac50fSopenharmony_ci * @tc.type: FUNC 322e0dac50fSopenharmony_ci */ 323e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplGetDefaultDisplay01, Function | SmallTest | Level1) 324e0dac50fSopenharmony_ci{ 325e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 326e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), GetDefaultDisplayInfo()).Times(1).WillOnce(Return(nullptr)); 327e0dac50fSopenharmony_ci sptr<Display> display = DisplayManager::GetInstance().pImpl_->GetDefaultDisplay(); 328e0dac50fSopenharmony_ci ASSERT_EQ(display, nullptr); 329e0dac50fSopenharmony_ci} 330e0dac50fSopenharmony_ci 331e0dac50fSopenharmony_ci/** 332e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreen 333e0dac50fSopenharmony_ci * @tc.desc: for interface coverage & check GetDisplayByScreen 334e0dac50fSopenharmony_ci * @tc.type: FUNC 335e0dac50fSopenharmony_ci */ 336e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreen, Function | SmallTest | Level1) 337e0dac50fSopenharmony_ci{ 338e0dac50fSopenharmony_ci auto& displayManager = DisplayManager::GetInstance(); 339e0dac50fSopenharmony_ci sptr<Display> display = displayManager.GetDisplayByScreen(SCREEN_ID_INVALID); 340e0dac50fSopenharmony_ci ASSERT_EQ(display, nullptr); 341e0dac50fSopenharmony_ci 342e0dac50fSopenharmony_ci sptr<DisplayInfo> displayInfo = new DisplayInfo(); 343e0dac50fSopenharmony_ci displayInfo->SetDisplayId(DISPLAY_ID_INVALID); 344e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 345e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), GetDisplayInfoByScreenId(_)).Times(1).WillOnce(Return(displayInfo)); 346e0dac50fSopenharmony_ci display = displayManager.GetDisplayByScreen(1); 347e0dac50fSopenharmony_ci ASSERT_EQ(display, nullptr); 348e0dac50fSopenharmony_ci} 349e0dac50fSopenharmony_ci 350e0dac50fSopenharmony_ci/** 351e0dac50fSopenharmony_ci * @tc.name: ImplGetDefaultDisplaySync 352e0dac50fSopenharmony_ci * @tc.desc: Impl GetDefaultDisplaySync nullptr 353e0dac50fSopenharmony_ci * @tc.type: FUNC 354e0dac50fSopenharmony_ci */ 355e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplGetDefaultDisplaySync, Function | SmallTest | Level1) 356e0dac50fSopenharmony_ci{ 357e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 358e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), GetDefaultDisplayInfo()).Times(6).WillRepeatedly(Return(nullptr)); 359e0dac50fSopenharmony_ci sptr<Display> display = DisplayManager::GetInstance().GetDefaultDisplaySync(); 360e0dac50fSopenharmony_ci ASSERT_EQ(display, nullptr); 361e0dac50fSopenharmony_ci} 362e0dac50fSopenharmony_ci 363e0dac50fSopenharmony_ci/** 364e0dac50fSopenharmony_ci * @tc.name: GetScreenBrightness 365e0dac50fSopenharmony_ci * @tc.desc: GetScreenBrightness fun 366e0dac50fSopenharmony_ci * @tc.type: FUNC 367e0dac50fSopenharmony_ci */ 368e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetScreenBrightness, Function | SmallTest | Level1) 369e0dac50fSopenharmony_ci{ 370e0dac50fSopenharmony_ci uint64_t screenId = 2; 371e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().GetScreenBrightness(screenId); 372e0dac50fSopenharmony_ci ASSERT_FALSE(ret == 1); 373e0dac50fSopenharmony_ci} 374e0dac50fSopenharmony_ci 375e0dac50fSopenharmony_ci/** 376e0dac50fSopenharmony_ci * @tc.name: GetDisplayById 377e0dac50fSopenharmony_ci * @tc.desc: GetDisplayById fun 378e0dac50fSopenharmony_ci * @tc.type: FUNC 379e0dac50fSopenharmony_ci */ 380e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayById, Function | SmallTest | Level1) 381e0dac50fSopenharmony_ci{ 382e0dac50fSopenharmony_ci DisplayId displayId = -1; 383e0dac50fSopenharmony_ci g_dmIsDestroyed = true; 384e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().GetDisplayById(displayId); 385e0dac50fSopenharmony_ci ASSERT_EQ(ret, nullptr); 386e0dac50fSopenharmony_ci} 387e0dac50fSopenharmony_ci 388e0dac50fSopenharmony_ci/** 389e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListener 390e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListener fun 391e0dac50fSopenharmony_ci * @tc.type: FUNC 392e0dac50fSopenharmony_ci */ 393e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListener01, Function | SmallTest | Level1) 394e0dac50fSopenharmony_ci{ 395e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListener> listener; 396e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListener(listener); 397e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 398e0dac50fSopenharmony_ci} 399e0dac50fSopenharmony_ci 400e0dac50fSopenharmony_ci/** 401e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListener 402e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListener fun 403e0dac50fSopenharmony_ci * @tc.type: FUNC 404e0dac50fSopenharmony_ci */ 405e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListener02, Function | SmallTest | Level1) 406e0dac50fSopenharmony_ci{ 407e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 408e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 409e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListener> listener = new DmMockPrivateWindowListener(); 410e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListener(listener); 411e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 412e0dac50fSopenharmony_ci} 413e0dac50fSopenharmony_ci 414e0dac50fSopenharmony_ci/** 415e0dac50fSopenharmony_ci * @tc.name: UnregisterPrivateWindowListener 416e0dac50fSopenharmony_ci * @tc.desc: UnregisterPrivateWindowListener fun 417e0dac50fSopenharmony_ci * @tc.type: FUNC 418e0dac50fSopenharmony_ci */ 419e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterPrivateWindowListener, Function | SmallTest | Level1) 420e0dac50fSopenharmony_ci{ 421e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListener> listener = nullptr; 422e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 423e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterPrivateWindowListener(listener); 424e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 425e0dac50fSopenharmony_ci} 426e0dac50fSopenharmony_ci 427e0dac50fSopenharmony_ci/** 428e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterPrivateWindowListener 429e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterPrivateWindowListener fun 430e0dac50fSopenharmony_ci * @tc.type: FUNC 431e0dac50fSopenharmony_ci */ 432e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterPrivateWindowListener, Function | SmallTest | Level1) 433e0dac50fSopenharmony_ci{ 434e0dac50fSopenharmony_ci std::recursive_mutex mutex; 435e0dac50fSopenharmony_ci DisplayManager::Impl impl(mutex); 436e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListener> listener; 437e0dac50fSopenharmony_ci auto ret = impl.UnregisterPrivateWindowListener(listener); 438e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 439e0dac50fSopenharmony_ci} 440e0dac50fSopenharmony_ci 441e0dac50fSopenharmony_ci/** 442e0dac50fSopenharmony_ci * @tc.name: RegisterPrivateWindowListChangeListener 443e0dac50fSopenharmony_ci * @tc.desc: RegisterPrivateWindowListChangeListener fun 444e0dac50fSopenharmony_ci * @tc.type: FUNC 445e0dac50fSopenharmony_ci */ 446e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterPrivateWindowListChangeListener, Function | SmallTest | Level1) 447e0dac50fSopenharmony_ci{ 448e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListChangeListener> listener; 449e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterPrivateWindowListChangeListener(listener); 450e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 451e0dac50fSopenharmony_ci listener = new DisplayManager::IPrivateWindowListChangeListener(); 452e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterPrivateWindowListChangeListener(listener); 453e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener)); 454e0dac50fSopenharmony_ci listener.clear(); 455e0dac50fSopenharmony_ci} 456e0dac50fSopenharmony_ci 457e0dac50fSopenharmony_ci/** 458e0dac50fSopenharmony_ci * @tc.name: UnregisterPrivateWindowListChangeListener 459e0dac50fSopenharmony_ci * @tc.desc: UnregisterPrivateWindowListChangeListener fun 460e0dac50fSopenharmony_ci * @tc.type: FUNC 461e0dac50fSopenharmony_ci */ 462e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterPrivateWindowListChangeListener, Function | SmallTest | Level1) 463e0dac50fSopenharmony_ci{ 464e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListChangeListener> listener = nullptr; 465e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterPrivateWindowListChangeListener(listener); 466e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 467e0dac50fSopenharmony_ci listener = new DisplayManager::IPrivateWindowListChangeListener(); 468e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterPrivateWindowListChangeListener(listener); 469e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterPrivateWindowListChangeListener(listener)); 470e0dac50fSopenharmony_ci listener.clear(); 471e0dac50fSopenharmony_ci} 472e0dac50fSopenharmony_ci 473e0dac50fSopenharmony_ci/** 474e0dac50fSopenharmony_ci * @tc.name: ImplRegisterPrivateWindowListChangeListener 475e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterPrivateWindowListChangeListener fun 476e0dac50fSopenharmony_ci * @tc.type: FUNC 477e0dac50fSopenharmony_ci */ 478e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterPrivateWindowListChangeListener01, Function | SmallTest | Level1) 479e0dac50fSopenharmony_ci{ 480e0dac50fSopenharmony_ci std::recursive_mutex mutex; 481e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 482e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListChangeListener> listener; 483e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->privateWindowListChangeListenerAgent_ = nullptr; 484e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerPrivateWindowListAgent> privateWindowListChangeListenerAgent = 485e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerPrivateWindowListAgent(impl_); 486e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener); 487e0dac50fSopenharmony_ci ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent( 488e0dac50fSopenharmony_ci privateWindowListChangeListenerAgent, 489e0dac50fSopenharmony_ci DisplayManagerAgentType::PRIVATE_WINDOW_LIST_LISTENER)); 490e0dac50fSopenharmony_ci listener = nullptr; 491e0dac50fSopenharmony_ci privateWindowListChangeListenerAgent.clear(); 492e0dac50fSopenharmony_ci} 493e0dac50fSopenharmony_ci 494e0dac50fSopenharmony_ci/** 495e0dac50fSopenharmony_ci * @tc.name: ImplRegisterPrivateWindowListChangeListener 496e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterPrivateWindowListChangeListener fun 497e0dac50fSopenharmony_ci * @tc.type: FUNC 498e0dac50fSopenharmony_ci */ 499e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterPrivateWindowListChangeListener02, Function | SmallTest | Level1) 500e0dac50fSopenharmony_ci{ 501e0dac50fSopenharmony_ci std::recursive_mutex mutex; 502e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 503e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 504e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 505e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListChangeListener> listener; 506e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->privateWindowListChangeListenerAgent_ = nullptr; 507e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerPrivateWindowListAgent> privateWindowListChangeListenerAgent = 508e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerPrivateWindowListAgent(impl_); 509e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->RegisterPrivateWindowListChangeListener(listener); 510e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 511e0dac50fSopenharmony_ci listener = nullptr; 512e0dac50fSopenharmony_ci privateWindowListChangeListenerAgent.clear(); 513e0dac50fSopenharmony_ci} 514e0dac50fSopenharmony_ci 515e0dac50fSopenharmony_ci/** 516e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterPrivateWindowListChangeListener 517e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterPrivateWindowListChangeListener fun 518e0dac50fSopenharmony_ci * @tc.type: FUNC 519e0dac50fSopenharmony_ci */ 520e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterPrivateWindowListChangeListener, Function | SmallTest | Level1) 521e0dac50fSopenharmony_ci{ 522e0dac50fSopenharmony_ci std::recursive_mutex mutex; 523e0dac50fSopenharmony_ci DisplayManager::Impl impl(mutex); 524e0dac50fSopenharmony_ci sptr<DisplayManager::IPrivateWindowListChangeListener> listener; 525e0dac50fSopenharmony_ci auto ret = impl.UnregisterPrivateWindowListChangeListener(listener); 526e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 527e0dac50fSopenharmony_ci} 528e0dac50fSopenharmony_ci 529e0dac50fSopenharmony_ci/** 530e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterFoldStatusListener 531e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterFoldStatusListener fun 532e0dac50fSopenharmony_ci * @tc.type: FUNC 533e0dac50fSopenharmony_ci */ 534e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterFoldStatusListener, Function | SmallTest | Level1) 535e0dac50fSopenharmony_ci{ 536e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldStatusListener> listener; 537e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->UnregisterFoldStatusListener(listener); 538e0dac50fSopenharmony_ci ASSERT_NE(ret, DMError::DM_OK); 539e0dac50fSopenharmony_ci listener.clear(); 540e0dac50fSopenharmony_ci} 541e0dac50fSopenharmony_ci 542e0dac50fSopenharmony_ci/** 543e0dac50fSopenharmony_ci * @tc.name: RegisterFoldStatusListener 544e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldStatusListener fun 545e0dac50fSopenharmony_ci * @tc.type: FUNC 546e0dac50fSopenharmony_ci */ 547e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldStatusListener, Function | SmallTest | Level1) 548e0dac50fSopenharmony_ci{ 549e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldStatusListener> listener; 550e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterFoldStatusListener(listener); 551e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 552e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldStatusListener(); 553e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterFoldStatusListener(listener); 554e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldStatusListener(listener)); 555e0dac50fSopenharmony_ci listener.clear(); 556e0dac50fSopenharmony_ci} 557e0dac50fSopenharmony_ci 558e0dac50fSopenharmony_ci/** 559e0dac50fSopenharmony_ci * @tc.name: ImplRegisterFoldStatusListener 560e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterFoldStatusListener fun 561e0dac50fSopenharmony_ci * @tc.type: FUNC 562e0dac50fSopenharmony_ci */ 563e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterFoldStatusListener, Function | SmallTest | Level1) 564e0dac50fSopenharmony_ci{ 565e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldStatusListener> listener; 566e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 567e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ = nullptr; 568e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerFoldStatusAgent> foldStatusListenerAgent = 569e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerFoldStatusAgent(impl_); 570e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->RegisterFoldStatusListener(listener); 571e0dac50fSopenharmony_ci ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent( 572e0dac50fSopenharmony_ci foldStatusListenerAgent, 573e0dac50fSopenharmony_ci DisplayManagerAgentType::FOLD_STATUS_CHANGED_LISTENER)); 574e0dac50fSopenharmony_ci listener = nullptr; 575e0dac50fSopenharmony_ci foldStatusListenerAgent.clear(); 576e0dac50fSopenharmony_ci} 577e0dac50fSopenharmony_ci 578e0dac50fSopenharmony_ci/** 579e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldStatusListener 580e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldStatusListener fun 581e0dac50fSopenharmony_ci * @tc.type: FUNC 582e0dac50fSopenharmony_ci */ 583e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldStatusListener, Function | SmallTest | Level1) 584e0dac50fSopenharmony_ci{ 585e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldStatusListener> listener; 586e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldStatusListener(listener); 587e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 588e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldStatusListener(); 589e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterFoldStatusListener(listener); 590e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldStatusListener(listener)); 591e0dac50fSopenharmony_ci listener.clear(); 592e0dac50fSopenharmony_ci} 593e0dac50fSopenharmony_ci 594e0dac50fSopenharmony_ci/** 595e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayModeListener 596e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayModeListener fun 597e0dac50fSopenharmony_ci * @tc.type: FUNC 598e0dac50fSopenharmony_ci */ 599e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayModeListener, Function | SmallTest | Level1) 600e0dac50fSopenharmony_ci{ 601e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener; 602e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterDisplayModeListener(listener); 603e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 604e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayModeListener(); 605e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterDisplayModeListener(listener); 606e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayModeListener(listener)); 607e0dac50fSopenharmony_ci listener.clear(); 608e0dac50fSopenharmony_ci} 609e0dac50fSopenharmony_ci 610e0dac50fSopenharmony_ci/** 611e0dac50fSopenharmony_ci * @tc.name: ImplRegisterDisplayModeListener 612e0dac50fSopenharmony_ci * @tc.desc: ImplRegisterDisplayModeListener fun 613e0dac50fSopenharmony_ci * @tc.type: FUNC 614e0dac50fSopenharmony_ci */ 615e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplRegisterDisplayModeListener, Function | SmallTest | Level1) 616e0dac50fSopenharmony_ci{ 617e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener; 618e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr; 619e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 620e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent = 621e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_); 622e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->RegisterDisplayModeListener(listener); 623e0dac50fSopenharmony_ci ASSERT_EQ(ret, SingletonContainer::Get<DisplayManagerAdapter>().RegisterDisplayManagerAgent( 624e0dac50fSopenharmony_ci displayModeListenerAgent, 625e0dac50fSopenharmony_ci DisplayManagerAgentType::DISPLAY_MODE_CHANGED_LISTENER)); 626e0dac50fSopenharmony_ci listener.clear(); 627e0dac50fSopenharmony_ci displayModeListenerAgent.clear(); 628e0dac50fSopenharmony_ci} 629e0dac50fSopenharmony_ci 630e0dac50fSopenharmony_ci/** 631e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayModeListener 632e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayModeListener fun 633e0dac50fSopenharmony_ci * @tc.type: FUNC 634e0dac50fSopenharmony_ci */ 635e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayModeListener, Function | SmallTest | Level1) 636e0dac50fSopenharmony_ci{ 637e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener; 638e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterDisplayModeListener(listener); 639e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 640e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayModeListener(); 641e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterDisplayModeListener(listener); 642e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayModeListener(listener)); 643e0dac50fSopenharmony_ci listener.clear(); 644e0dac50fSopenharmony_ci} 645e0dac50fSopenharmony_ci 646e0dac50fSopenharmony_ci/** 647e0dac50fSopenharmony_ci * @tc.name: ImplUnregisterDisplayModeListener 648e0dac50fSopenharmony_ci * @tc.desc: ImplUnregisterDisplayModeListener fun 649e0dac50fSopenharmony_ci * @tc.type: FUNC 650e0dac50fSopenharmony_ci */ 651e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ImplUnregisterDisplayModeListener, Function | SmallTest | Level1) 652e0dac50fSopenharmony_ci{ 653e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener; 654e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->UnregisterDisplayModeListener(listener); 655e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 656e0dac50fSopenharmony_ci listener.clear(); 657e0dac50fSopenharmony_ci} 658e0dac50fSopenharmony_ci 659e0dac50fSopenharmony_ci/** 660e0dac50fSopenharmony_ci * @tc.name: OnDisplayCreate02 661e0dac50fSopenharmony_ci * @tc.desc: OnDisplayCreate 662e0dac50fSopenharmony_ci * @tc.type: FUNC 663e0dac50fSopenharmony_ci */ 664e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnDisplayCreate02, Function | SmallTest | Level1) 665e0dac50fSopenharmony_ci{ 666e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 667e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 668e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 669e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayListener(listener); 670e0dac50fSopenharmony_ci auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_; 671e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener, nullptr); 672e0dac50fSopenharmony_ci 673e0dac50fSopenharmony_ci sptr<DisplayInfo> displayInfo = nullptr; 674e0dac50fSopenharmony_ci displayManagerListener->OnDisplayCreate(displayInfo); 675e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener->pImpl_, nullptr); 676e0dac50fSopenharmony_ci} 677e0dac50fSopenharmony_ci 678e0dac50fSopenharmony_ci/** 679e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayListener 680e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayListener fun 681e0dac50fSopenharmony_ci * @tc.type: FUNC 682e0dac50fSopenharmony_ci */ 683e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayListener, Function | SmallTest | Level1) 684e0dac50fSopenharmony_ci{ 685e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 686e0dac50fSopenharmony_ci bool hasPrivate = true; 687e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->NotifyPrivateWindowStateChanged(hasPrivate); 688e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterDisplayListener(listener); 689e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 690e0dac50fSopenharmony_ci} 691e0dac50fSopenharmony_ci 692e0dac50fSopenharmony_ci/** 693e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayListener 694e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayListener fun 695e0dac50fSopenharmony_ci * @tc.type: FUNC 696e0dac50fSopenharmony_ci */ 697e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayListener, Function | SmallTest | Level1) 698e0dac50fSopenharmony_ci{ 699e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 700e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 701e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterDisplayListener(listener); 702e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 703e0dac50fSopenharmony_ci} 704e0dac50fSopenharmony_ci 705e0dac50fSopenharmony_ci/** 706e0dac50fSopenharmony_ci * @tc.name: HasPrivateWindow 707e0dac50fSopenharmony_ci * @tc.desc: HasPrivateWindow fun 708e0dac50fSopenharmony_ci * @tc.type: FUNC 709e0dac50fSopenharmony_ci */ 710e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, HasPrivateWindow, Function | SmallTest | Level1) 711e0dac50fSopenharmony_ci{ 712e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 713e0dac50fSopenharmony_ci bool hasPrivateWindow = false; 714e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().HasPrivateWindow(0, hasPrivateWindow); 715e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 716e0dac50fSopenharmony_ci} 717e0dac50fSopenharmony_ci 718e0dac50fSopenharmony_ci/** 719e0dac50fSopenharmony_ci * @tc.name: HasPrivateWindow02 720e0dac50fSopenharmony_ci * @tc.desc: HasPrivateWindow fun 721e0dac50fSopenharmony_ci * @tc.type: FUNC 722e0dac50fSopenharmony_ci */ 723e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, HasPrivateWindow02, Function | SmallTest | Level1) 724e0dac50fSopenharmony_ci{ 725e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 726e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 727e0dac50fSopenharmony_ci bool hasPrivateWindow = false; 728e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->HasPrivateWindow(0, hasPrivateWindow); 729e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 730e0dac50fSopenharmony_ci} 731e0dac50fSopenharmony_ci 732e0dac50fSopenharmony_ci/** 733e0dac50fSopenharmony_ci * @tc.name: IsFoldable 734e0dac50fSopenharmony_ci * @tc.desc: IsFoldable all 735e0dac50fSopenharmony_ci * @tc.type: FUNC 736e0dac50fSopenharmony_ci */ 737e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsFoldable, Function | SmallTest | Level1) 738e0dac50fSopenharmony_ci{ 739e0dac50fSopenharmony_ci bool ret = DisplayManager::GetInstance().IsFoldable(); 740e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 741e0dac50fSopenharmony_ci} 742e0dac50fSopenharmony_ci 743e0dac50fSopenharmony_ci/** 744e0dac50fSopenharmony_ci * @tc.name: IsFoldable 745e0dac50fSopenharmony_ci * @tc.desc: IsFoldable fun 746e0dac50fSopenharmony_ci * @tc.type: FUNC 747e0dac50fSopenharmony_ci */ 748e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsFoldable01, Function | SmallTest | Level1) 749e0dac50fSopenharmony_ci{ 750e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 751e0dac50fSopenharmony_ci FoldDisplayMode mode = FoldDisplayMode{0}; 752e0dac50fSopenharmony_ci DisplayManager::GetInstance().SetFoldDisplayMode(mode); 753e0dac50fSopenharmony_ci DisplayManager::GetInstance().SetFoldStatusLocked(false); 754e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 755e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->IsFoldable(); 756e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 757e0dac50fSopenharmony_ci} 758e0dac50fSopenharmony_ci 759e0dac50fSopenharmony_ci/** 760e0dac50fSopenharmony_ci * @tc.name: AddSurfaceNodeToDisplay 761e0dac50fSopenharmony_ci * @tc.desc: AddSurfaceNodeToDisplay fun 762e0dac50fSopenharmony_ci * @tc.type: FUNC 763e0dac50fSopenharmony_ci */ 764e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, AddSurfaceNodeToDisplay, Function | SmallTest | Level1) 765e0dac50fSopenharmony_ci{ 766e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 767e0dac50fSopenharmony_ci std::shared_ptr<class RSSurfaceNode> surfaceNode; 768e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().AddSurfaceNodeToDisplay(0, surfaceNode); 769e0dac50fSopenharmony_ci if (SceneBoardJudgement::IsSceneBoardEnabled()) { 770e0dac50fSopenharmony_ci ASSERT_NE(ret, DMError::DM_ERROR_IPC_FAILED); 771e0dac50fSopenharmony_ci } else { 772e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 773e0dac50fSopenharmony_ci } 774e0dac50fSopenharmony_ci} 775e0dac50fSopenharmony_ci 776e0dac50fSopenharmony_ci/** 777e0dac50fSopenharmony_ci * @tc.name: RemoveSurfaceNodeFromDisplay 778e0dac50fSopenharmony_ci * @tc.desc: RemoveSurfaceNodeFromDisplay fun 779e0dac50fSopenharmony_ci * @tc.type: FUNC 780e0dac50fSopenharmony_ci */ 781e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RemoveSurfaceNodeFromDisplay, Function | SmallTest | Level1) 782e0dac50fSopenharmony_ci{ 783e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 784e0dac50fSopenharmony_ci std::shared_ptr<class RSSurfaceNode> surfaceNode; 785e0dac50fSopenharmony_ci DisplayManager::GetInstance().OnRemoteDied(); 786e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RemoveSurfaceNodeFromDisplay(0, surfaceNode); 787e0dac50fSopenharmony_ci if (SceneBoardJudgement::IsSceneBoardEnabled()) { 788e0dac50fSopenharmony_ci ASSERT_NE(ret, DMError::DM_ERROR_IPC_FAILED); 789e0dac50fSopenharmony_ci } else { 790e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 791e0dac50fSopenharmony_ci } 792e0dac50fSopenharmony_ci} 793e0dac50fSopenharmony_ci 794e0dac50fSopenharmony_ci/** 795e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener01 796e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener01 fun 797e0dac50fSopenharmony_ci * @tc.type: FUNC 798e0dac50fSopenharmony_ci */ 799e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener01, Function | SmallTest | Level1) 800e0dac50fSopenharmony_ci{ 801e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = nullptr; 802e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 803e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 804e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldAngleListener(); 805e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 806e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldAngleListener(listener)); 807e0dac50fSopenharmony_ci listener.clear(); 808e0dac50fSopenharmony_ci} 809e0dac50fSopenharmony_ci 810e0dac50fSopenharmony_ci/** 811e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener02 812e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener01 fun 813e0dac50fSopenharmony_ci * @tc.type: FUNC 814e0dac50fSopenharmony_ci */ 815e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener02, Function | SmallTest | Level1) 816e0dac50fSopenharmony_ci{ 817e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 818e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 819e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ = nullptr; 820e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DmMockFoldAngleListener(); 821e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 822e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 823e0dac50fSopenharmony_ci listener.clear(); 824e0dac50fSopenharmony_ci} 825e0dac50fSopenharmony_ci 826e0dac50fSopenharmony_ci/** 827e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener01 828e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener01 fun 829e0dac50fSopenharmony_ci * @tc.type: FUNC 830e0dac50fSopenharmony_ci */ 831e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener01, Function | SmallTest | Level1) 832e0dac50fSopenharmony_ci{ 833e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener; 834e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 835e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 836e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldAngleListener(); 837e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 838e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldAngleListener(listener)); 839e0dac50fSopenharmony_ci listener.clear(); 840e0dac50fSopenharmony_ci} 841e0dac50fSopenharmony_ci 842e0dac50fSopenharmony_ci/** 843e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener02 844e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener02 fun 845e0dac50fSopenharmony_ci * @tc.type: FUNC 846e0dac50fSopenharmony_ci */ 847e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener02, Function | SmallTest | Level1) 848e0dac50fSopenharmony_ci{ 849e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty()); 850e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener(); 851e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 852e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 853e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 854e0dac50fSopenharmony_ci listener.clear(); 855e0dac50fSopenharmony_ci} 856e0dac50fSopenharmony_ci 857e0dac50fSopenharmony_ci/** 858e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener03 859e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener03 fun 860e0dac50fSopenharmony_ci * @tc.type: FUNC 861e0dac50fSopenharmony_ci */ 862e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener03, Function | SmallTest | Level1) 863e0dac50fSopenharmony_ci{ 864e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty()); 865e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->foldAngleListeners_.clear(); 866e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener(); 867e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 868e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 869e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 870e0dac50fSopenharmony_ci listener.clear(); 871e0dac50fSopenharmony_ci} 872e0dac50fSopenharmony_ci 873e0dac50fSopenharmony_ci/** 874e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener01 875e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener01 fun 876e0dac50fSopenharmony_ci * @tc.type: FUNC 877e0dac50fSopenharmony_ci */ 878e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener01, Function | SmallTest | Level1) 879e0dac50fSopenharmony_ci{ 880e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = nullptr; 881e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 882e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 883e0dac50fSopenharmony_ci listener = new DisplayManager::ICaptureStatusListener(); 884e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 885e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterCaptureStatusListener(listener)); 886e0dac50fSopenharmony_ci listener.clear(); 887e0dac50fSopenharmony_ci} 888e0dac50fSopenharmony_ci 889e0dac50fSopenharmony_ci/** 890e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener02 891e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener02 fun 892e0dac50fSopenharmony_ci * @tc.type: FUNC 893e0dac50fSopenharmony_ci */ 894e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener02, Function | SmallTest | Level1) 895e0dac50fSopenharmony_ci{ 896e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 897e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 898e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ = nullptr; 899e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 900e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 901e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 902e0dac50fSopenharmony_ci listener.clear(); 903e0dac50fSopenharmony_ci} 904e0dac50fSopenharmony_ci 905e0dac50fSopenharmony_ci/** 906e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener01 907e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener01 fun 908e0dac50fSopenharmony_ci * @tc.type: FUNC 909e0dac50fSopenharmony_ci */ 910e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener01, Function | SmallTest | Level1) 911e0dac50fSopenharmony_ci{ 912e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener; 913e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 914e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 915e0dac50fSopenharmony_ci listener = new DisplayManager::ICaptureStatusListener(); 916e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 917e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterCaptureStatusListener(listener)); 918e0dac50fSopenharmony_ci listener.clear(); 919e0dac50fSopenharmony_ci} 920e0dac50fSopenharmony_ci 921e0dac50fSopenharmony_ci/** 922e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener02 923e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener02 fun 924e0dac50fSopenharmony_ci * @tc.type: FUNC 925e0dac50fSopenharmony_ci */ 926e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener02, Function | SmallTest | Level1) 927e0dac50fSopenharmony_ci{ 928e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty()); 929e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 930e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 931e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 932e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 933e0dac50fSopenharmony_ci listener.clear(); 934e0dac50fSopenharmony_ci} 935e0dac50fSopenharmony_ci 936e0dac50fSopenharmony_ci/** 937e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener03 938e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener03 fun 939e0dac50fSopenharmony_ci * @tc.type: FUNC 940e0dac50fSopenharmony_ci */ 941e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener03, Function | SmallTest | Level1) 942e0dac50fSopenharmony_ci{ 943e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty()); 944e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->captureStatusListeners_.clear(); 945e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 946e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 947e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 948e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 949e0dac50fSopenharmony_ci listener.clear(); 950e0dac50fSopenharmony_ci} 951e0dac50fSopenharmony_ci 952e0dac50fSopenharmony_ci 953e0dac50fSopenharmony_ci/** 954e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayUpdateListener01 955e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayUpdateListener01 fun 956e0dac50fSopenharmony_ci * @tc.type: FUNC 957e0dac50fSopenharmony_ci */ 958e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayUpdateListener01, Function | SmallTest | Level1) 959e0dac50fSopenharmony_ci{ 960e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayUpdateListener> listener = nullptr; 961e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener); 962e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 963e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayUpdateListener(); 964e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener); 965e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayUpdateListener(listener)); 966e0dac50fSopenharmony_ci listener.clear(); 967e0dac50fSopenharmony_ci} 968e0dac50fSopenharmony_ci 969e0dac50fSopenharmony_ci/** 970e0dac50fSopenharmony_ci * @tc.name: IsCaptured01 971e0dac50fSopenharmony_ci * @tc.desc: IsCaptured01 fun 972e0dac50fSopenharmony_ci * @tc.type: FUNC 973e0dac50fSopenharmony_ci */ 974e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsCaptured01, Function | SmallTest | Level1) 975e0dac50fSopenharmony_ci{ 976e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().IsCaptured(); 977e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 978e0dac50fSopenharmony_ci} 979e0dac50fSopenharmony_ci 980e0dac50fSopenharmony_ci/** 981e0dac50fSopenharmony_ci * @tc.name: isinsideof 982e0dac50fSopenharmony_ci * @tc.desc: isinside0f fun 983e0dac50fSopenharmony_ci * @tc.type: FUNC 984e0dac50fSopenharmony_ci */ 985e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, isinsideof, Function | SmallTest | Level1) 986e0dac50fSopenharmony_ci{ 987e0dac50fSopenharmony_ci DMRect rect = {2, 2, 2, 2}; 988e0dac50fSopenharmony_ci DMRect rect1 = {2, 2, 2, 2}; 989e0dac50fSopenharmony_ci ASSERT_EQ(rect.IsInsideOf(rect1), true); 990e0dac50fSopenharmony_ci} 991e0dac50fSopenharmony_ci 992e0dac50fSopenharmony_ci/** 993e0dac50fSopenharmony_ci * @tc.name: GetAllDisplayPhysicalResolution 994e0dac50fSopenharmony_ci * @tc.desc: GetAllDisplayPhysicalResolution test 995e0dac50fSopenharmony_ci * @tc.type: FUNC 996e0dac50fSopenharmony_ci */ 997e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetAllDisplayPhysicalResolution, Function | SmallTest | Level1) 998e0dac50fSopenharmony_ci{ 999e0dac50fSopenharmony_ci std::vector<DisplayPhysicalResolution> allSize = DisplayManager::GetInstance().GetAllDisplayPhysicalResolution(); 1000e0dac50fSopenharmony_ci ASSERT_TRUE(!allSize.empty()); 1001e0dac50fSopenharmony_ci} 1002e0dac50fSopenharmony_ci 1003e0dac50fSopenharmony_ci/** 1004e0dac50fSopenharmony_ci * @tc.name: ClearDisplayStateCallback 1005e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayStateCallback test 1006e0dac50fSopenharmony_ci * @tc.type: FUNC 1007e0dac50fSopenharmony_ci */ 1008e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayStateCallback, Function | SmallTest | Level1) 1009e0dac50fSopenharmony_ci{ 1010e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayStateCallback(); 1011e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayStateAgent_ == nullptr); 1012e0dac50fSopenharmony_ci} 1013e0dac50fSopenharmony_ci 1014e0dac50fSopenharmony_ci/** 1015e0dac50fSopenharmony_ci * @tc.name: ClearFoldStatusCallback 1016e0dac50fSopenharmony_ci * @tc.desc: ClearFoldStatusCallback test 1017e0dac50fSopenharmony_ci * @tc.type: FUNC 1018e0dac50fSopenharmony_ci */ 1019e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldStatusCallback, Function | SmallTest | Level1) 1020e0dac50fSopenharmony_ci{ 1021e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearFoldStatusCallback(); 1022e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ == nullptr); 1023e0dac50fSopenharmony_ci} 1024e0dac50fSopenharmony_ci 1025e0dac50fSopenharmony_ci/** 1026e0dac50fSopenharmony_ci * @tc.name: ClearFoldAngleCallback 1027e0dac50fSopenharmony_ci * @tc.desc: ClearFoldAngleCallback test 1028e0dac50fSopenharmony_ci * @tc.type: FUNC 1029e0dac50fSopenharmony_ci */ 1030e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldAngleCallback, Function | SmallTest | Level1) 1031e0dac50fSopenharmony_ci{ 1032e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearFoldAngleCallback(); 1033e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ == nullptr); 1034e0dac50fSopenharmony_ci} 1035e0dac50fSopenharmony_ci 1036e0dac50fSopenharmony_ci/** 1037e0dac50fSopenharmony_ci * @tc.name: ClearCaptureStatusCallback 1038e0dac50fSopenharmony_ci * @tc.desc: ClearCaptureStatusCallback test 1039e0dac50fSopenharmony_ci * @tc.type: FUNC 1040e0dac50fSopenharmony_ci */ 1041e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearCaptureStatusCallback, Function | SmallTest | Level1) 1042e0dac50fSopenharmony_ci{ 1043e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearCaptureStatusCallback(); 1044e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ == nullptr); 1045e0dac50fSopenharmony_ci} 1046e0dac50fSopenharmony_ci 1047e0dac50fSopenharmony_ci/** 1048e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback 1049e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback test 1050e0dac50fSopenharmony_ci * @tc.type: FUNC 1051e0dac50fSopenharmony_ci */ 1052e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback01, Function | SmallTest | Level1) 1053e0dac50fSopenharmony_ci{ 1054e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback(); 1055e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr); 1056e0dac50fSopenharmony_ci} 1057e0dac50fSopenharmony_ci 1058e0dac50fSopenharmony_ci/** 1059e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback 1060e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback test 1061e0dac50fSopenharmony_ci * @tc.type: FUNC 1062e0dac50fSopenharmony_ci */ 1063e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback02, Function | SmallTest | Level1) 1064e0dac50fSopenharmony_ci{ 1065e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener = new DisplayManager::IDisplayModeListener(); 1066e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayModeListener(listener); 1067e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback(); 1068e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr); 1069e0dac50fSopenharmony_ci} 1070e0dac50fSopenharmony_ci 1071e0dac50fSopenharmony_ci/** 1072e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreenId 1073e0dac50fSopenharmony_ci * @tc.desc: GetDisplayByScreenId test 1074e0dac50fSopenharmony_ci * @tc.type: FUNC 1075e0dac50fSopenharmony_ci */ 1076e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreenId, Function | SmallTest | Level1) 1077e0dac50fSopenharmony_ci{ 1078e0dac50fSopenharmony_ci ScreenId screenId = -1; 1079e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->GetDisplayByScreenId(screenId); 1080e0dac50fSopenharmony_ci ASSERT_TRUE(ret == nullptr); 1081e0dac50fSopenharmony_ci} 1082e0dac50fSopenharmony_ci 1083e0dac50fSopenharmony_ci/** 1084e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayUpdateListener 1085e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayUpdateListener fun 1086e0dac50fSopenharmony_ci * @tc.type: FUNC 1087e0dac50fSopenharmony_ci */ 1088e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayUpdateListener, Function | SmallTest | Level1) 1089e0dac50fSopenharmony_ci{ 1090e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayUpdateListener> listener; 1091e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener); 1092e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1093e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayUpdateListener(); 1094e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener); 1095e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayUpdateListener(listener)); 1096e0dac50fSopenharmony_ci listener.clear(); 1097e0dac50fSopenharmony_ci} 1098e0dac50fSopenharmony_ci 1099e0dac50fSopenharmony_ci/** 1100e0dac50fSopenharmony_ci * @tc.name: RegisterAvailableAreaListener 1101e0dac50fSopenharmony_ci * @tc.desc: RegisterAvailableAreaListener fun 1102e0dac50fSopenharmony_ci * @tc.type: FUNC 1103e0dac50fSopenharmony_ci */ 1104e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterAvailableAreaListener, Function | SmallTest | Level1) 1105e0dac50fSopenharmony_ci{ 1106e0dac50fSopenharmony_ci sptr<DisplayManager::IAvailableAreaListener> listener; 1107e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener); 1108e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1109e0dac50fSopenharmony_ci listener = new DisplayManager::IAvailableAreaListener(); 1110e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener); 1111e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterAvailableAreaListener(listener)); 1112e0dac50fSopenharmony_ci listener.clear(); 1113e0dac50fSopenharmony_ci} 1114e0dac50fSopenharmony_ci 1115e0dac50fSopenharmony_ci/** 1116e0dac50fSopenharmony_ci * @tc.name: UnregisterAvailableAreaListener 1117e0dac50fSopenharmony_ci * @tc.desc: UnregisterAvailableAreaListener fun 1118e0dac50fSopenharmony_ci * @tc.type: FUNC 1119e0dac50fSopenharmony_ci */ 1120e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterAvailableAreaListener, Function | SmallTest | Level1) 1121e0dac50fSopenharmony_ci{ 1122e0dac50fSopenharmony_ci sptr<DisplayManager::IAvailableAreaListener> listener; 1123e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener); 1124e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1125e0dac50fSopenharmony_ci listener = new DisplayManager::IAvailableAreaListener(); 1126e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener); 1127e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterAvailableAreaListener(listener)); 1128e0dac50fSopenharmony_ci listener.clear(); 1129e0dac50fSopenharmony_ci} 1130e0dac50fSopenharmony_ci 1131e0dac50fSopenharmony_ci/** 1132e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfoSrting 1133e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfoSrting fun 1134e0dac50fSopenharmony_ci * @tc.type: FUNC 1135e0dac50fSopenharmony_ci */ 1136e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayInfoSrting, Function | SmallTest | Level1) 1137e0dac50fSopenharmony_ci{ 1138e0dac50fSopenharmony_ci sptr<DisplayInfo> displayInfo = nullptr; 1139e0dac50fSopenharmony_ci auto ret =DisplayManager::GetInstance().pImpl_->GetDisplayInfoSrting(displayInfo); 1140e0dac50fSopenharmony_ci ASSERT_EQ(displayInfo, nullptr); 1141e0dac50fSopenharmony_ci} 1142e0dac50fSopenharmony_ci 1143e0dac50fSopenharmony_ci/** 1144e0dac50fSopenharmony_ci * @tc.name: OnRemoteDied 1145e0dac50fSopenharmony_ci * @tc.desc: OnRemoteDied fun 1146e0dac50fSopenharmony_ci * @tc.type: FUNC 1147e0dac50fSopenharmony_ci */ 1148e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnRemoteDied, Function | SmallTest | Level1) 1149e0dac50fSopenharmony_ci{ 1150e0dac50fSopenharmony_ci g_dmIsDestroyed = true; 1151e0dac50fSopenharmony_ci DisplayManager::GetInstance().OnRemoteDied(); 1152e0dac50fSopenharmony_ci ASSERT_EQ(g_dmIsDestroyed, true); 1153e0dac50fSopenharmony_ci} 1154e0dac50fSopenharmony_ci 1155e0dac50fSopenharmony_ci/** 1156e0dac50fSopenharmony_ci * @tc.name: SetDisplayScale 1157e0dac50fSopenharmony_ci * @tc.desc: SetDisplayScale test 1158e0dac50fSopenharmony_ci * @tc.type: FUNC 1159e0dac50fSopenharmony_ci */ 1160e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, SetDisplayScale, Function | SmallTest | Level1) 1161e0dac50fSopenharmony_ci{ 1162e0dac50fSopenharmony_ci DisplayManager& displayManager = DisplayManager::GetInstance(); 1163e0dac50fSopenharmony_ci ASSERT_NE(displayManager.pImpl_, nullptr); 1164e0dac50fSopenharmony_ci const float scaleX = 1.0f; 1165e0dac50fSopenharmony_ci const float scaleY = 1.0f; 1166e0dac50fSopenharmony_ci const float pivotX = 0.5f; 1167e0dac50fSopenharmony_ci const float pivotY = 0.5f; 1168e0dac50fSopenharmony_ci sptr<Display> display = displayManager.GetDefaultDisplay(); 1169e0dac50fSopenharmony_ci ASSERT_NE(display, nullptr); 1170e0dac50fSopenharmony_ci ScreenId screenId = display->GetScreenId(); 1171e0dac50fSopenharmony_ci displayManager.SetDisplayScale(screenId, scaleX, scaleY, pivotX, pivotY); 1172e0dac50fSopenharmony_ci} 1173e0dac50fSopenharmony_ci 1174e0dac50fSopenharmony_ci/** 1175e0dac50fSopenharmony_ci * @tc.name: Clear 1176e0dac50fSopenharmony_ci * @tc.desc: Clear test 1177e0dac50fSopenharmony_ci * @tc.type: FUNC 1178e0dac50fSopenharmony_ci */ 1179e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear01, Function | SmallTest | Level1) 1180e0dac50fSopenharmony_ci{ 1181e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1182e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1183e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1184e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr; 1185e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 1186e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayListener(listener); 1187e0dac50fSopenharmony_ci auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_; 1188e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener, nullptr); 1189e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->Clear(); 1190e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->displayManagerListener_, nullptr); 1191e0dac50fSopenharmony_ci} 1192e0dac50fSopenharmony_ci 1193e0dac50fSopenharmony_ci/** 1194e0dac50fSopenharmony_ci * @tc.name: Clear 1195e0dac50fSopenharmony_ci * @tc.desc: Clear test 1196e0dac50fSopenharmony_ci * @tc.type: FUNC 1197e0dac50fSopenharmony_ci */ 1198e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear02, Function | SmallTest | Level1) 1199e0dac50fSopenharmony_ci{ 1200e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1201e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1202e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1203e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_ = nullptr; 1204e0dac50fSopenharmony_ci sptr<IDisplayPowerEventListener> listener = new DmMockDisplayPowerEventListener(); 1205e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayPowerEventListener(listener); 1206e0dac50fSopenharmony_ci auto powerEventListenerAgent = DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_; 1207e0dac50fSopenharmony_ci ASSERT_NE(powerEventListenerAgent, nullptr); 1208e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->Clear(); 1209e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr); 1210e0dac50fSopenharmony_ci} 1211e0dac50fSopenharmony_ci 1212e0dac50fSopenharmony_ci/** 1213e0dac50fSopenharmony_ci * @tc.name: NotifyCaptureStatusChanged 1214e0dac50fSopenharmony_ci * @tc.desc: NotifyCaptureStatusChanged fun 1215e0dac50fSopenharmony_ci * @tc.type: FUNC 1216e0dac50fSopenharmony_ci */ 1217e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, NotifyCaptureStatusChanged, Function | SmallTest | Level1) 1218e0dac50fSopenharmony_ci{ 1219e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr; 1220e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 1221e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent = 1222e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_); 1223e0dac50fSopenharmony_ci bool isCapture = true; 1224e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->NotifyCaptureStatusChanged(isCapture); 1225e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr); 1226e0dac50fSopenharmony_ci} 1227e0dac50fSopenharmony_ci 1228e0dac50fSopenharmony_ci/** 1229e0dac50fSopenharmony_ci * @tc.name: NotifyCaptureStatusChanged01 1230e0dac50fSopenharmony_ci * @tc.desc: NotifyCaptureStatusChanged01 fun 1231e0dac50fSopenharmony_ci * @tc.type: FUNC 1232e0dac50fSopenharmony_ci */ 1233e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, NotifyCaptureStatusChanged01, Function | SmallTest | Level1) 1234e0dac50fSopenharmony_ci{ 1235e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ = nullptr; 1236e0dac50fSopenharmony_ci sptr<DisplayManager::Impl> impl_; 1237e0dac50fSopenharmony_ci sptr<DisplayManager::Impl::DisplayManagerDisplayModeAgent> displayModeListenerAgent = 1238e0dac50fSopenharmony_ci new DisplayManager::Impl::DisplayManagerDisplayModeAgent(impl_); 1239e0dac50fSopenharmony_ci bool isCapture = true; 1240e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->NotifyCaptureStatusChanged(isCapture); 1241e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr); 1242e0dac50fSopenharmony_ci} 1243e0dac50fSopenharmony_ci/** 1244e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener03 1245e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener03 fun 1246e0dac50fSopenharmony_ci * @tc.type: FUNC 1247e0dac50fSopenharmony_ci */ 1248e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener03, Function | SmallTest | Level1) 1249e0dac50fSopenharmony_ci{ 1250e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = nullptr; 1251e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 1252e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1253e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldAngleListener(); 1254e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 1255e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterFoldAngleListener(listener)); 1256e0dac50fSopenharmony_ci listener.clear(); 1257e0dac50fSopenharmony_ci} 1258e0dac50fSopenharmony_ci 1259e0dac50fSopenharmony_ci/** 1260e0dac50fSopenharmony_ci * @tc.name: RegisterFoldAngleListener04 1261e0dac50fSopenharmony_ci * @tc.desc: RegisterFoldAngleListener04 fun 1262e0dac50fSopenharmony_ci * @tc.type: FUNC 1263e0dac50fSopenharmony_ci */ 1264e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterFoldAngleListener04, Function | SmallTest | Level1) 1265e0dac50fSopenharmony_ci{ 1266e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1267e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 1268e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ = nullptr; 1269e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DmMockFoldAngleListener(); 1270e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 1271e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 1272e0dac50fSopenharmony_ci listener.clear(); 1273e0dac50fSopenharmony_ci} 1274e0dac50fSopenharmony_ci 1275e0dac50fSopenharmony_ci/** 1276e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener04 1277e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener04 fun 1278e0dac50fSopenharmony_ci * @tc.type: FUNC 1279e0dac50fSopenharmony_ci */ 1280e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener04, Function | SmallTest | Level1) 1281e0dac50fSopenharmony_ci{ 1282e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener; 1283e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 1284e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1285e0dac50fSopenharmony_ci listener = new DisplayManager::IFoldAngleListener(); 1286e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 1287e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterFoldAngleListener(listener)); 1288e0dac50fSopenharmony_ci listener.clear(); 1289e0dac50fSopenharmony_ci} 1290e0dac50fSopenharmony_ci 1291e0dac50fSopenharmony_ci/** 1292e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener05 1293e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener05 fun 1294e0dac50fSopenharmony_ci * @tc.type: FUNC 1295e0dac50fSopenharmony_ci */ 1296e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener05, Function | SmallTest | Level1) 1297e0dac50fSopenharmony_ci{ 1298e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty()); 1299e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener(); 1300e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 1301e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 1302e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 1303e0dac50fSopenharmony_ci listener.clear(); 1304e0dac50fSopenharmony_ci} 1305e0dac50fSopenharmony_ci 1306e0dac50fSopenharmony_ci/** 1307e0dac50fSopenharmony_ci * @tc.name: UnregisterFoldAngleListener06 1308e0dac50fSopenharmony_ci * @tc.desc: UnregisterFoldAngleListener06 fun 1309e0dac50fSopenharmony_ci * @tc.type: FUNC 1310e0dac50fSopenharmony_ci */ 1311e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterFoldAngleListener06, Function | SmallTest | Level1) 1312e0dac50fSopenharmony_ci{ 1313e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->foldAngleListeners_.empty()); 1314e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->foldAngleListeners_.clear(); 1315e0dac50fSopenharmony_ci sptr<DisplayManager::IFoldAngleListener> listener = new DisplayManager::IFoldAngleListener(); 1316e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterFoldAngleListener(listener); 1317e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterFoldAngleListener(listener); 1318e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 1319e0dac50fSopenharmony_ci listener.clear(); 1320e0dac50fSopenharmony_ci} 1321e0dac50fSopenharmony_ci 1322e0dac50fSopenharmony_ci/** 1323e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener03 1324e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener03 fun 1325e0dac50fSopenharmony_ci * @tc.type: FUNC 1326e0dac50fSopenharmony_ci */ 1327e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener03, Function | SmallTest | Level1) 1328e0dac50fSopenharmony_ci{ 1329e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = nullptr; 1330e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 1331e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1332e0dac50fSopenharmony_ci listener = new DisplayManager::ICaptureStatusListener(); 1333e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 1334e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterCaptureStatusListener(listener)); 1335e0dac50fSopenharmony_ci listener.clear(); 1336e0dac50fSopenharmony_ci} 1337e0dac50fSopenharmony_ci 1338e0dac50fSopenharmony_ci/** 1339e0dac50fSopenharmony_ci * @tc.name: RegisterCaptureStatusListener04 1340e0dac50fSopenharmony_ci * @tc.desc: RegisterCaptureStatusListener04 fun 1341e0dac50fSopenharmony_ci * @tc.type: FUNC 1342e0dac50fSopenharmony_ci */ 1343e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterCaptureStatusListener04, Function | SmallTest | Level1) 1344e0dac50fSopenharmony_ci{ 1345e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1346e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_ERROR_IPC_FAILED)); 1347e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ = nullptr; 1348e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 1349e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 1350e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_IPC_FAILED); 1351e0dac50fSopenharmony_ci listener.clear(); 1352e0dac50fSopenharmony_ci} 1353e0dac50fSopenharmony_ci 1354e0dac50fSopenharmony_ci/** 1355e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener04 1356e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener04 fun 1357e0dac50fSopenharmony_ci * @tc.type: FUNC 1358e0dac50fSopenharmony_ci */ 1359e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener04, Function | SmallTest | Level1) 1360e0dac50fSopenharmony_ci{ 1361e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener; 1362e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 1363e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1364e0dac50fSopenharmony_ci listener = new DisplayManager::ICaptureStatusListener(); 1365e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 1366e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterCaptureStatusListener(listener)); 1367e0dac50fSopenharmony_ci listener.clear(); 1368e0dac50fSopenharmony_ci} 1369e0dac50fSopenharmony_ci 1370e0dac50fSopenharmony_ci/** 1371e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener05 1372e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener05 fun 1373e0dac50fSopenharmony_ci * @tc.type: FUNC 1374e0dac50fSopenharmony_ci */ 1375e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener05, Function | SmallTest | Level1) 1376e0dac50fSopenharmony_ci{ 1377e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty()); 1378e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 1379e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 1380e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 1381e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 1382e0dac50fSopenharmony_ci listener.clear(); 1383e0dac50fSopenharmony_ci} 1384e0dac50fSopenharmony_ci 1385e0dac50fSopenharmony_ci/** 1386e0dac50fSopenharmony_ci * @tc.name: UnregisterCaptureStatusListener06 1387e0dac50fSopenharmony_ci * @tc.desc: UnregisterCaptureStatusListener06 fun 1388e0dac50fSopenharmony_ci * @tc.type: FUNC 1389e0dac50fSopenharmony_ci */ 1390e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterCaptureStatusListener06, Function | SmallTest | Level1) 1391e0dac50fSopenharmony_ci{ 1392e0dac50fSopenharmony_ci ASSERT_FALSE(DisplayManager::GetInstance().pImpl_->captureStatusListeners_.empty()); 1393e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->captureStatusListeners_.clear(); 1394e0dac50fSopenharmony_ci sptr<DisplayManager::ICaptureStatusListener> listener = new DisplayManager::ICaptureStatusListener(); 1395e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterCaptureStatusListener(listener); 1396e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterCaptureStatusListener(listener); 1397e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_OK); 1398e0dac50fSopenharmony_ci listener.clear(); 1399e0dac50fSopenharmony_ci} 1400e0dac50fSopenharmony_ci 1401e0dac50fSopenharmony_ci 1402e0dac50fSopenharmony_ci/** 1403e0dac50fSopenharmony_ci * @tc.name: RegisterDisplayUpdateListener02 1404e0dac50fSopenharmony_ci * @tc.desc: RegisterDisplayUpdateListener02 fun 1405e0dac50fSopenharmony_ci * @tc.type: FUNC 1406e0dac50fSopenharmony_ci */ 1407e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterDisplayUpdateListener02, Function | SmallTest | Level1) 1408e0dac50fSopenharmony_ci{ 1409e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayUpdateListener> listener = nullptr; 1410e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener); 1411e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1412e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayUpdateListener(); 1413e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterDisplayUpdateListener(listener); 1414e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterDisplayUpdateListener(listener)); 1415e0dac50fSopenharmony_ci listener.clear(); 1416e0dac50fSopenharmony_ci} 1417e0dac50fSopenharmony_ci 1418e0dac50fSopenharmony_ci/** 1419e0dac50fSopenharmony_ci * @tc.name: IsCaptured02 1420e0dac50fSopenharmony_ci * @tc.desc: IsCaptured02 fun 1421e0dac50fSopenharmony_ci * @tc.type: FUNC 1422e0dac50fSopenharmony_ci */ 1423e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, IsCaptured02, Function | SmallTest | Level1) 1424e0dac50fSopenharmony_ci{ 1425e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().IsCaptured(); 1426e0dac50fSopenharmony_ci ASSERT_FALSE(ret); 1427e0dac50fSopenharmony_ci} 1428e0dac50fSopenharmony_ci 1429e0dac50fSopenharmony_ci/** 1430e0dac50fSopenharmony_ci * @tc.name: isinsideof01 1431e0dac50fSopenharmony_ci * @tc.desc: isinsideof01 fun 1432e0dac50fSopenharmony_ci * @tc.type: FUNC 1433e0dac50fSopenharmony_ci */ 1434e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, isinsideof01, Function | SmallTest | Level1) 1435e0dac50fSopenharmony_ci{ 1436e0dac50fSopenharmony_ci DMRect rect = {2, 2, 2, 2}; 1437e0dac50fSopenharmony_ci DMRect rect1 = {2, 2, 2, 2}; 1438e0dac50fSopenharmony_ci ASSERT_EQ(rect.IsInsideOf(rect1), true); 1439e0dac50fSopenharmony_ci} 1440e0dac50fSopenharmony_ci 1441e0dac50fSopenharmony_ci/** 1442e0dac50fSopenharmony_ci * @tc.name: GetAllDisplayPhysicalResolution01 1443e0dac50fSopenharmony_ci * @tc.desc: GetAllDisplayPhysicalResolution01 test 1444e0dac50fSopenharmony_ci * @tc.type: FUNC 1445e0dac50fSopenharmony_ci */ 1446e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetAllDisplayPhysicalResolution01, Function | SmallTest | Level1) 1447e0dac50fSopenharmony_ci{ 1448e0dac50fSopenharmony_ci std::vector<DisplayPhysicalResolution> allSize = DisplayManager::GetInstance().GetAllDisplayPhysicalResolution(); 1449e0dac50fSopenharmony_ci ASSERT_TRUE(!allSize.empty()); 1450e0dac50fSopenharmony_ci} 1451e0dac50fSopenharmony_ci 1452e0dac50fSopenharmony_ci/** 1453e0dac50fSopenharmony_ci * @tc.name: ClearDisplayStateCallback01 1454e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayStateCallback01 test 1455e0dac50fSopenharmony_ci * @tc.type: FUNC 1456e0dac50fSopenharmony_ci */ 1457e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayStateCallback01, Function | SmallTest | Level1) 1458e0dac50fSopenharmony_ci{ 1459e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayStateCallback(); 1460e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayStateAgent_ == nullptr); 1461e0dac50fSopenharmony_ci} 1462e0dac50fSopenharmony_ci 1463e0dac50fSopenharmony_ci/** 1464e0dac50fSopenharmony_ci * @tc.name: ClearFoldStatusCallback01 1465e0dac50fSopenharmony_ci * @tc.desc: ClearFoldStatusCallback01 test 1466e0dac50fSopenharmony_ci * @tc.type: FUNC 1467e0dac50fSopenharmony_ci */ 1468e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldStatusCallback01, Function | SmallTest | Level1) 1469e0dac50fSopenharmony_ci{ 1470e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearFoldStatusCallback(); 1471e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldStatusListenerAgent_ == nullptr); 1472e0dac50fSopenharmony_ci} 1473e0dac50fSopenharmony_ci 1474e0dac50fSopenharmony_ci/** 1475e0dac50fSopenharmony_ci * @tc.name: ClearFoldAngleCallback01 1476e0dac50fSopenharmony_ci * @tc.desc: ClearFoldAngleCallback01 test 1477e0dac50fSopenharmony_ci * @tc.type: FUNC 1478e0dac50fSopenharmony_ci */ 1479e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearFoldAngleCallback01, Function | SmallTest | Level1) 1480e0dac50fSopenharmony_ci{ 1481e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearFoldAngleCallback(); 1482e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->foldAngleListenerAgent_ == nullptr); 1483e0dac50fSopenharmony_ci} 1484e0dac50fSopenharmony_ci 1485e0dac50fSopenharmony_ci/** 1486e0dac50fSopenharmony_ci * @tc.name: ClearCaptureStatusCallback01 1487e0dac50fSopenharmony_ci * @tc.desc: ClearCaptureStatusCallback01 test 1488e0dac50fSopenharmony_ci * @tc.type: FUNC 1489e0dac50fSopenharmony_ci */ 1490e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearCaptureStatusCallback01, Function | SmallTest | Level1) 1491e0dac50fSopenharmony_ci{ 1492e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearCaptureStatusCallback(); 1493e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->captureStatusListenerAgent_ == nullptr); 1494e0dac50fSopenharmony_ci} 1495e0dac50fSopenharmony_ci 1496e0dac50fSopenharmony_ci/** 1497e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback03 1498e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback03 test 1499e0dac50fSopenharmony_ci * @tc.type: FUNC 1500e0dac50fSopenharmony_ci */ 1501e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback03, Function | SmallTest | Level1) 1502e0dac50fSopenharmony_ci{ 1503e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback(); 1504e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr); 1505e0dac50fSopenharmony_ci} 1506e0dac50fSopenharmony_ci 1507e0dac50fSopenharmony_ci/** 1508e0dac50fSopenharmony_ci * @tc.name: ClearDisplayModeCallback04 1509e0dac50fSopenharmony_ci * @tc.desc: ClearDisplayModeCallback04 test 1510e0dac50fSopenharmony_ci * @tc.type: FUNC 1511e0dac50fSopenharmony_ci */ 1512e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, ClearDisplayModeCallback04, Function | SmallTest | Level1) 1513e0dac50fSopenharmony_ci{ 1514e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayModeListener> listener = new DisplayManager::IDisplayModeListener(); 1515e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayModeListener(listener); 1516e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->ClearDisplayModeCallback(); 1517e0dac50fSopenharmony_ci ASSERT_TRUE(DisplayManager::GetInstance().pImpl_->displayModeListenerAgent_ == nullptr); 1518e0dac50fSopenharmony_ci} 1519e0dac50fSopenharmony_ci 1520e0dac50fSopenharmony_ci/** 1521e0dac50fSopenharmony_ci * @tc.name: GetDisplayByScreenId01 1522e0dac50fSopenharmony_ci * @tc.desc: GetDisplayByScreenId01 test 1523e0dac50fSopenharmony_ci * @tc.type: FUNC 1524e0dac50fSopenharmony_ci */ 1525e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayByScreenId01, Function | SmallTest | Level1) 1526e0dac50fSopenharmony_ci{ 1527e0dac50fSopenharmony_ci ScreenId screenId = -1; 1528e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().pImpl_->GetDisplayByScreenId(screenId); 1529e0dac50fSopenharmony_ci ASSERT_TRUE(ret == nullptr); 1530e0dac50fSopenharmony_ci} 1531e0dac50fSopenharmony_ci 1532e0dac50fSopenharmony_ci/** 1533e0dac50fSopenharmony_ci * @tc.name: UnregisterDisplayUpdateListener01 1534e0dac50fSopenharmony_ci * @tc.desc: UnregisterDisplayUpdateListener01 fun 1535e0dac50fSopenharmony_ci * @tc.type: FUNC 1536e0dac50fSopenharmony_ci */ 1537e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterDisplayUpdateListener01, Function | SmallTest | Level1) 1538e0dac50fSopenharmony_ci{ 1539e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayUpdateListener> listener; 1540e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener); 1541e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1542e0dac50fSopenharmony_ci listener = new DisplayManager::IDisplayUpdateListener(); 1543e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterDisplayUpdateListener(listener); 1544e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterDisplayUpdateListener(listener)); 1545e0dac50fSopenharmony_ci listener.clear(); 1546e0dac50fSopenharmony_ci} 1547e0dac50fSopenharmony_ci 1548e0dac50fSopenharmony_ci/** 1549e0dac50fSopenharmony_ci * @tc.name: RegisterAvailableAreaListener01 1550e0dac50fSopenharmony_ci * @tc.desc: RegisterAvailableAreaListener01 fun 1551e0dac50fSopenharmony_ci * @tc.type: FUNC 1552e0dac50fSopenharmony_ci */ 1553e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, RegisterAvailableAreaListener01, Function | SmallTest | Level1) 1554e0dac50fSopenharmony_ci{ 1555e0dac50fSopenharmony_ci sptr<DisplayManager::IAvailableAreaListener> listener; 1556e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener); 1557e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1558e0dac50fSopenharmony_ci listener = new DisplayManager::IAvailableAreaListener(); 1559e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().RegisterAvailableAreaListener(listener); 1560e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->RegisterAvailableAreaListener(listener)); 1561e0dac50fSopenharmony_ci listener.clear(); 1562e0dac50fSopenharmony_ci} 1563e0dac50fSopenharmony_ci 1564e0dac50fSopenharmony_ci/** 1565e0dac50fSopenharmony_ci * @tc.name: UnregisterAvailableAreaListener01 1566e0dac50fSopenharmony_ci * @tc.desc: UnregisterAvailableAreaListener01 fun 1567e0dac50fSopenharmony_ci * @tc.type: FUNC 1568e0dac50fSopenharmony_ci */ 1569e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, UnregisterAvailableAreaListener01, Function | SmallTest | Level1) 1570e0dac50fSopenharmony_ci{ 1571e0dac50fSopenharmony_ci sptr<DisplayManager::IAvailableAreaListener> listener; 1572e0dac50fSopenharmony_ci auto ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener); 1573e0dac50fSopenharmony_ci ASSERT_EQ(ret, DMError::DM_ERROR_NULLPTR); 1574e0dac50fSopenharmony_ci listener = new DisplayManager::IAvailableAreaListener(); 1575e0dac50fSopenharmony_ci ret = DisplayManager::GetInstance().UnregisterAvailableAreaListener(listener); 1576e0dac50fSopenharmony_ci ASSERT_EQ(ret, DisplayManager::GetInstance().pImpl_->UnregisterAvailableAreaListener(listener)); 1577e0dac50fSopenharmony_ci listener.clear(); 1578e0dac50fSopenharmony_ci} 1579e0dac50fSopenharmony_ci 1580e0dac50fSopenharmony_ci/** 1581e0dac50fSopenharmony_ci * @tc.name: GetDisplayInfoSrting01 1582e0dac50fSopenharmony_ci * @tc.desc: GetDisplayInfoSrting01 fun 1583e0dac50fSopenharmony_ci * @tc.type: FUNC 1584e0dac50fSopenharmony_ci */ 1585e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, GetDisplayInfoSrting01, Function | SmallTest | Level1) 1586e0dac50fSopenharmony_ci{ 1587e0dac50fSopenharmony_ci sptr<DisplayInfo> displayInfo = nullptr; 1588e0dac50fSopenharmony_ci auto ret =DisplayManager::GetInstance().pImpl_->GetDisplayInfoSrting(displayInfo); 1589e0dac50fSopenharmony_ci ASSERT_EQ(displayInfo, nullptr); 1590e0dac50fSopenharmony_ci} 1591e0dac50fSopenharmony_ci 1592e0dac50fSopenharmony_ci/** 1593e0dac50fSopenharmony_ci * @tc.name: OnRemoteDied01 1594e0dac50fSopenharmony_ci * @tc.desc: OnRemoteDied01 fun 1595e0dac50fSopenharmony_ci * @tc.type: FUNC 1596e0dac50fSopenharmony_ci */ 1597e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, OnRemoteDied01, Function | SmallTest | Level1) 1598e0dac50fSopenharmony_ci{ 1599e0dac50fSopenharmony_ci g_dmIsDestroyed = true; 1600e0dac50fSopenharmony_ci DisplayManager::GetInstance().OnRemoteDied(); 1601e0dac50fSopenharmony_ci ASSERT_EQ(g_dmIsDestroyed, true); 1602e0dac50fSopenharmony_ci} 1603e0dac50fSopenharmony_ci 1604e0dac50fSopenharmony_ci/** 1605e0dac50fSopenharmony_ci * @tc.name: SetDisplayScale01 1606e0dac50fSopenharmony_ci * @tc.desc: SetDisplayScale01 test 1607e0dac50fSopenharmony_ci * @tc.type: FUNC 1608e0dac50fSopenharmony_ci */ 1609e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, SetDisplayScale01, Function | SmallTest | Level1) 1610e0dac50fSopenharmony_ci{ 1611e0dac50fSopenharmony_ci DisplayManager& displayManager = DisplayManager::GetInstance(); 1612e0dac50fSopenharmony_ci ASSERT_NE(displayManager.pImpl_, nullptr); 1613e0dac50fSopenharmony_ci const float scaleX = 1.0f; 1614e0dac50fSopenharmony_ci const float scaleY = 1.0f; 1615e0dac50fSopenharmony_ci const float pivotX = 0.5f; 1616e0dac50fSopenharmony_ci const float pivotY = 0.5f; 1617e0dac50fSopenharmony_ci sptr<Display> display = displayManager.GetDefaultDisplay(); 1618e0dac50fSopenharmony_ci ASSERT_NE(display, nullptr); 1619e0dac50fSopenharmony_ci ScreenId screenId = display->GetScreenId(); 1620e0dac50fSopenharmony_ci displayManager.SetDisplayScale(screenId, scaleX, scaleY, pivotX, pivotY); 1621e0dac50fSopenharmony_ci} 1622e0dac50fSopenharmony_ci 1623e0dac50fSopenharmony_ci/** 1624e0dac50fSopenharmony_ci * @tc.name: Clear03 1625e0dac50fSopenharmony_ci * @tc.desc: Clear03 test 1626e0dac50fSopenharmony_ci * @tc.type: FUNC 1627e0dac50fSopenharmony_ci */ 1628e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear03, Function | SmallTest | Level1) 1629e0dac50fSopenharmony_ci{ 1630e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1631e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1632e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1633e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->displayManagerListener_ = nullptr; 1634e0dac50fSopenharmony_ci sptr<DisplayManager::IDisplayListener> listener = new DmMockDisplayListener(); 1635e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayListener(listener); 1636e0dac50fSopenharmony_ci auto displayManagerListener = DisplayManager::GetInstance().pImpl_->displayManagerListener_; 1637e0dac50fSopenharmony_ci ASSERT_NE(displayManagerListener, nullptr); 1638e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->Clear(); 1639e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->displayManagerListener_, nullptr); 1640e0dac50fSopenharmony_ci} 1641e0dac50fSopenharmony_ci 1642e0dac50fSopenharmony_ci/** 1643e0dac50fSopenharmony_ci * @tc.name: Clear04 1644e0dac50fSopenharmony_ci * @tc.desc: Clear04 test 1645e0dac50fSopenharmony_ci * @tc.type: FUNC 1646e0dac50fSopenharmony_ci */ 1647e0dac50fSopenharmony_ciHWTEST_F(DisplayManagerTest, Clear04, Function | SmallTest | Level1) 1648e0dac50fSopenharmony_ci{ 1649e0dac50fSopenharmony_ci std::unique_ptr<Mocker> m = std::make_unique<Mocker>(); 1650e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), RegisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1651e0dac50fSopenharmony_ci EXPECT_CALL(m->Mock(), UnregisterDisplayManagerAgent(_, _)).Times(1).WillOnce(Return(DMError::DM_OK)); 1652e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_ = nullptr; 1653e0dac50fSopenharmony_ci sptr<IDisplayPowerEventListener> listener = new DmMockDisplayPowerEventListener(); 1654e0dac50fSopenharmony_ci DisplayManager::GetInstance().RegisterDisplayPowerEventListener(listener); 1655e0dac50fSopenharmony_ci auto powerEventListenerAgent = DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_; 1656e0dac50fSopenharmony_ci ASSERT_NE(powerEventListenerAgent, nullptr); 1657e0dac50fSopenharmony_ci DisplayManager::GetInstance().pImpl_->Clear(); 1658e0dac50fSopenharmony_ci ASSERT_EQ(DisplayManager::GetInstance().pImpl_->powerEventListenerAgent_, nullptr); 1659e0dac50fSopenharmony_ci} 1660e0dac50fSopenharmony_ci} 1661e0dac50fSopenharmony_ci} // namespace Rosen 1662e0dac50fSopenharmony_ci} // namespace OHOS