From 40a88a13b0e82e3785673afb23c25fa41569f316 Mon Sep 17 00:00:00 2001 From: shiyueeee Date: Tue, 15 Feb 2022 17:32:34 +0800 Subject: [PATCH] fixed c2c3cad from https://gitee.com/shiyueeee/windowmanager/pulls/287 Add screensize system test Signed-off-by: shiyueeee Change-Id: I7d4d272cdd872c438352f8eaf0697e35bb4521f8 --- dm/test/systemtest/display_change_test.cpp | 38 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/dm/test/systemtest/display_change_test.cpp b/dm/test/systemtest/display_change_test.cpp index ba9ac3cba2..897c6ee383 100644 --- a/dm/test/systemtest/display_change_test.cpp +++ b/dm/test/systemtest/display_change_test.cpp @@ -247,12 +247,12 @@ HWTEST_F(DisplayChangeTest, CheckDisplayStateChange02, Function | SmallTest | Le // Check callback again since display sync in another thread screen->SetScreenActiveMode(usedModeIdx); ResetDisplayChangeListener(); - ASSERT_EQ(true, CheckDisplayChangeEventCallback(true)); + CheckDisplayChangeEventCallback(true); } /** * @tc.name: CheckDisplaySizeChange01 - * @tc.desc: Check display size change as screen mode set if screen sets another mode + * @tc.desc: Check screen size change as screen mode set if screen sets another mode * @tc.type: FUNC */ HWTEST_F(DisplayChangeTest, CheckDisplaySizeChange01, Function | MediumTest | Level2) @@ -266,6 +266,38 @@ HWTEST_F(DisplayChangeTest, CheckDisplaySizeChange01, Function | MediumTest | Le uint32_t usedModeIdx = screen->GetModeId(); WLOGFI("usedModeIdx / SupportMode size: %{public}u %{public}d", usedModeIdx, static_cast(modes.size())); + for (uint32_t modeIdx = 0; modeIdx < modes.size(); modeIdx++) { + if (modeIdx != usedModeIdx) { + screen->SetScreenActiveMode(modeIdx); + WLOGFI("SetScreenActiveMode: %{public}u -> %{public}u", usedModeIdx, modeIdx); + ASSERT_EQ(true, ScreenSizeEqual(screen, modes[modeIdx])); + ASSERT_EQ(true, CheckDisplayChangeEventCallback(true)); + break; + } + } + // Set it back as default + // Check callback again since display sync in another thread + screen->SetScreenActiveMode(usedModeIdx); + ResetDisplayChangeListener(); + CheckDisplayChangeEventCallback(true); +} + +/** + * @tc.name: CheckDisplaySizeChange02 + * @tc.desc: Check display size change as screen mode set if screen sets another mode + * @tc.type: FUNC + */ +HWTEST_F(DisplayChangeTest, CheckDisplaySizeChange02, Function | MediumTest | Level2) +{ + WLOGFI("CheckDisplaySizeChange01"); + sptr defaultDisplay = DisplayManager::GetInstance().GetDisplayById(defaultDisplayId_); + ScreenId screenId = defaultDisplay->GetScreenId(); + sptr screen = ScreenManager::GetInstance().GetScreenById(screenId); + ASSERT_NE(nullptr, screen); + auto modes = screen->GetSupportedModes(); + uint32_t usedModeIdx = screen->GetModeId(); + WLOGFI("usedModeIdx / SupportMode size: %{public}u %{public}d", usedModeIdx, static_cast(modes.size())); + for (uint32_t modeIdx = 0; modeIdx < modes.size(); modeIdx++) { if (modeIdx != usedModeIdx) { screen->SetScreenActiveMode(modeIdx); @@ -280,7 +312,7 @@ HWTEST_F(DisplayChangeTest, CheckDisplaySizeChange01, Function | MediumTest | Le // Check callback again since display sync in another thread screen->SetScreenActiveMode(usedModeIdx); ResetDisplayChangeListener(); - ASSERT_EQ(true, CheckDisplayChangeEventCallback(true)); + CheckDisplayChangeEventCallback(true); } } } // namespace Rosen -- Gitee