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 fe68501897d2ac37c043d73b2acfd64156f0d29f..54d045226417f58fb9d5bbba45195c694fb19b55 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 e28df800e553766a8a9c0af179623e078e93cc40..26dad8ca13ddff67ab0e2296c5dc4ac22ed49115 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)); +}