From c7d5278b64f1a882690d4ff587ff9ffc8b709ab8 Mon Sep 17 00:00:00 2001 From: lwx Date: Thu, 13 Mar 2025 19:00:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Etdd=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lwx --- .../src/sec_comp_info_helper_test.cpp | 3 + .../unittest/src/window_info_helper_test.cpp | 132 ++++++++++++++++++ 2 files changed, 135 insertions(+) diff --git a/services/security_component_service/sa/test/unittest/src/sec_comp_info_helper_test.cpp b/services/security_component_service/sa/test/unittest/src/sec_comp_info_helper_test.cpp index fe68501..54d0452 100644 --- a/services/security_component_service/sa/test/unittest/src/sec_comp_info_helper_test.cpp +++ b/services/security_component_service/sa/test/unittest/src/sec_comp_info_helper_test.cpp @@ -190,6 +190,9 @@ HWTEST_F(SecCompInfoHelperTest, ParseComponent004, TestSize.Level1) ASSERT_FALSE(SecCompInfoHelper::CheckRectValid(rect, windowRect, screenInfo, message)); rect.y_ = g_testHeight; + + screenInfo.isWearable = true; + ASSERT_TRUE(SecCompInfoHelper::CheckRectValid(rect, windowRect, screenInfo, message)); } /** diff --git a/services/security_component_service/sa/test/unittest/src/window_info_helper_test.cpp b/services/security_component_service/sa/test/unittest/src/window_info_helper_test.cpp index e28df80..26dad8c 100644 --- a/services/security_component_service/sa/test/unittest/src/window_info_helper_test.cpp +++ b/services/security_component_service/sa/test/unittest/src/window_info_helper_test.cpp @@ -154,3 +154,135 @@ HWTEST_F(WindowInfoHelperTest, CheckOtherWindowCoverComp003, TestSize.Level1) std::string message; ASSERT_TRUE(WindowInfoHelper::CheckOtherWindowCoverComp(0, compRect, message)); } + +/** + * @tc.name: CheckOtherWindowCoverComp004 + * @tc.desc: Test component window is not covered + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(WindowInfoHelperTest, CheckOtherWindowCoverComp004, TestSize.Level1) +{ + WindowManager::GetInstance().result_ = WMError::WM_OK; + std::vector> list; + sptr compWin = new UnreliableWindowInfo(); + compWin->windowId_ = 1; + compWin->zOrder_ = 1; + compWin->floatingScale_ = 1.0; + compWin->windowRect_ = Rosen::Rect { + 0, 0, + ServiceTestCommon::TEST_COORDINATE + 2, ServiceTestCommon::TEST_COORDINATE + 2 + }; + list.emplace_back(compWin); + WindowManager::GetInstance().info_ = list; + + SecCompRect compRect = { + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE, + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE + }; + compRect.borderRadius_ = { + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2, + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2 + }; + std::string message; + ASSERT_FALSE(WindowInfoHelper::CheckOtherWindowCoverComp(0, compRect, message)); +} + +/** + * @tc.name: CheckOtherWindowCoverComp005 + * @tc.desc: Test component window is not covered + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(WindowInfoHelperTest, CheckOtherWindowCoverComp005, TestSize.Level1) +{ + WindowManager::GetInstance().result_ = WMError::WM_OK; + std::vector> list; + sptr compWin = new UnreliableWindowInfo(); + compWin->windowId_ = 1; + compWin->zOrder_ = 1; + compWin->floatingScale_ = 1.0; + compWin->windowRect_ = Rosen::Rect { + 0, (ServiceTestCommon::TEST_COORDINATE * 2) - 2, + ServiceTestCommon::TEST_COORDINATE + 2, ServiceTestCommon::TEST_COORDINATE + 2 + }; + list.emplace_back(compWin); + WindowManager::GetInstance().info_ = list; + + SecCompRect compRect = { + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE, + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE + }; + compRect.borderRadius_ = { + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2, + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2 + }; + std::string message; + ASSERT_FALSE(WindowInfoHelper::CheckOtherWindowCoverComp(0, compRect, message)); +} + +/** + * @tc.name: CheckOtherWindowCoverComp006 + * @tc.desc: Test component window is not covered + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(WindowInfoHelperTest, CheckOtherWindowCoverComp006, TestSize.Level1) +{ + WindowManager::GetInstance().result_ = WMError::WM_OK; + std::vector> list; + sptr compWin = new UnreliableWindowInfo(); + compWin->windowId_ = 1; + compWin->zOrder_ = 1; + compWin->floatingScale_ = 1.0; + compWin->windowRect_ = Rosen::Rect { + (ServiceTestCommon::TEST_COORDINATE * 2) - 2, 0, + ServiceTestCommon::TEST_COORDINATE + 2, ServiceTestCommon::TEST_COORDINATE + 2 + }; + list.emplace_back(compWin); + WindowManager::GetInstance().info_ = list; + + SecCompRect compRect = { + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE, + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE + }; + compRect.borderRadius_ = { + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2, + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2 + }; + std::string message; + ASSERT_FALSE(WindowInfoHelper::CheckOtherWindowCoverComp(0, compRect, message)); +} + +/** + * @tc.name: CheckOtherWindowCoverComp007 + * @tc.desc: Test component window is not covered + * @tc.type: FUNC + * @tc.require: + */ +HWTEST_F(WindowInfoHelperTest, CheckOtherWindowCoverComp007, TestSize.Level1) +{ + WindowManager::GetInstance().result_ = WMError::WM_OK; + std::vector> list; + sptr compWin = new UnreliableWindowInfo(); + compWin->windowId_ = 1; + compWin->zOrder_ = 1; + compWin->floatingScale_ = 1.0; + compWin->windowRect_ = Rosen::Rect { + (ServiceTestCommon::TEST_COORDINATE * 2) - 2, (ServiceTestCommon::TEST_COORDINATE * 2) - 2, + ServiceTestCommon::TEST_COORDINATE + 2, ServiceTestCommon::TEST_COORDINATE + 2 + }; + list.emplace_back(compWin); + WindowManager::GetInstance().info_ = list; + + SecCompRect compRect = { + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE, + ServiceTestCommon::TEST_COORDINATE, ServiceTestCommon::TEST_COORDINATE + }; + compRect.borderRadius_ = { + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2, + ServiceTestCommon::TEST_COORDINATE / 2, ServiceTestCommon::TEST_COORDINATE / 2 + }; + std::string message; + ASSERT_FALSE(WindowInfoHelper::CheckOtherWindowCoverComp(0, compRect, message)); +} -- Gitee