diff --git a/test/unittest/core/pattern/container_modal/container_modal_pattern_enhance_test_ng.cpp b/test/unittest/core/pattern/container_modal/container_modal_pattern_enhance_test_ng.cpp index fbdf2359df4f24c543cd09fb7136ddb16213c875..26d8cd862f55a6975c6adc6ba1eb2fc3edf763dd 100644 --- a/test/unittest/core/pattern/container_modal/container_modal_pattern_enhance_test_ng.cpp +++ b/test/unittest/core/pattern/container_modal/container_modal_pattern_enhance_test_ng.cpp @@ -158,7 +158,12 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest002 containerModalPatternEnhance->OnWindowUnfocused(); auto result = containerModalPatternEnhance->GetIsHoveredMenu(); EXPECT_FALSE(result); + containerModalPatternEnhance->isFocus_ = true; + containerModalPatternEnhance->OnWindowUnfocused(); + result = containerModalPatternEnhance->GetIsHoveredMenu(); + EXPECT_FALSE(result); } + /** * @tc.name: ContainerModalPatternEnhanceTest003 * @tc.desc: Test OnWindowUnfocused @@ -202,6 +207,10 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest005 containerModalPatternEnhance->OnWindowForceUnfocused(); auto result = containerModalPatternEnhance->GetIsFocus(); EXPECT_FALSE(result); + containerModalPatternEnhance->isFocus_ = true; + containerModalPatternEnhance->OnWindowForceUnfocused(); + result = containerModalPatternEnhance->GetIsFocus(); + EXPECT_TRUE(result); } /** * @tc.name: ContainerModalPatternEnhanceTest007 @@ -259,6 +268,9 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest009 containerModalPatternEnhance->ChangeFloatingTitle(true); auto result = containerModalPatternEnhance->GetIsFocus(); EXPECT_FALSE(result); + containerModalPatternEnhance->ChangeFloatingTitle(true); + result = containerModalPatternEnhance->GetIsFocus(); + EXPECT_FALSE(result); } /** * @tc.name: ContainerModalPatternEnhanceTest010 @@ -289,6 +301,11 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest011 FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); containerModalNode->AddChild( FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 2, AceType::MakeRefPtr())); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); auto containerPattern = containerModalNode->GetPattern(); containerPattern->SetContainerButtonHide(true, false, true, false); auto result = containerPattern->GetIsFocus(); @@ -763,7 +780,7 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest028 /** * @tc.name: ContainerModalPatternEnhanceTest029 - * @tc.desc: Test ShowTitle + * @tc.desc: Test OnContainerModalEvent * @tc.type: FUNC * @tc.author: */ @@ -795,7 +812,7 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest029 /** * @tc.name: ContainerModalPatternEnhanceTest030 - * @tc.desc: Test ShowTitle + * @tc.desc: Test CallContainerModalNative * @tc.type: FUNC * @tc.author: */ @@ -877,4 +894,566 @@ HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest031 EXPECT_FALSE(titleResult); EXPECT_FALSE(floatingTitleResult); } + +/** + * @tc.name: ContainerModalPatternEnhanceTest032 + * @tc.desc: Test OnMinButtonClick and GetNotMovingWindowManager + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest032, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + GestureEvent gesture; + containerPattern->OnMinButtonClick(gesture); + const auto windowManager = AceType::MakeRefPtr(); + bool isExecute = true; + auto windowModeCallback = [isExecute]() -> bool { return isExecute; }; + windowManager->SetWindowIsStartMovingCallBack(std::move(windowModeCallback)); + auto pipeline = MockPipelineContext::GetCurrent(); + pipeline->windowManager_ = windowManager; + ASSERT_NE(pipeline, nullptr); + containerModalNode->AttachContext(AceType::RawPtr(pipeline)); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->OnMinButtonClick(gesture); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest033 + * @tc.desc: Test OnMaxButtonClick + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest033, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + GestureEvent gesture; + auto windowMode = WindowMode::WINDOW_MODE_FULLSCREEN; + auto windowManager = AceType::MakeRefPtr(); + auto windowModeCallback1 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback1)); + auto pipeline = MockPipelineContext::GetCurrent(); + pipeline->windowManager_ = windowManager; + containerPattern->OnMaxButtonClick(gesture); + windowMode = WindowMode::WINDOW_MODE_SPLIT_PRIMARY; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback2 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback2)); + pipeline->windowManager_ = windowManager; + containerPattern->OnMaxButtonClick(gesture); + windowMode = WindowMode::WINDOW_MODE_SPLIT_SECONDARY; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback3 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback3)); + pipeline->windowManager_ = windowManager; + containerPattern->OnMaxButtonClick(gesture); + windowMode = WindowMode::WINDOW_MODE_FLOATING; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback4 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback4)); + pipeline->windowManager_ = windowManager; + containerPattern = containerModalNode->GetPattern(); + containerPattern->OnMaxButtonClick(gesture); + ASSERT_NE(containerModalNode, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest034 + * @tc.desc: Test BuildMenuItemList, BuildMenuItem and BondingMenuItemEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest034, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + GestureEvent gesture; + containerPattern->BuildMenuList(); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest035 + * @tc.desc: Test SetMaximizeIconIsRecover + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest035, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + auto windowMode = WindowMode::WINDOW_MODE_FULLSCREEN; + auto windowManager = AceType::MakeRefPtr(); + auto windowModeCallback = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback)); + containerPattern->SetMaximizeIconIsRecover(); + windowMode = WindowMode::WINDOW_MODE_SPLIT_SECONDARY; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback1 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback1)); + containerPattern->SetMaximizeIconIsRecover(); + windowMode = WindowMode::WINDOW_MODE_FLOATING; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback2 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback2)); + containerPattern->SetMaximizeIconIsRecover(); + windowMode = WindowMode::WINDOW_MODE_PIP; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback3 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback3)); + containerPattern->SetMaximizeIconIsRecover(); + ASSERT_NE(containerModalNode, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest036 + * @tc.desc: Test EnableContainerModalGesture + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest036, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->EnableContainerModalGesture(true); + containerPattern->ShowTitle(true, true, true); + EXPECT_EQ(containerPattern->enableContainerModalGesture_, true); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest038 + * @tc.desc: Test ChangeCustomTitle + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest038, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->ChangeCustomTitle(false); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest039 + * @tc.desc: Test ChangeControlButtons + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest039, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->ChangeControlButtons(false); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest040 + * @tc.desc: Test GetTitleItemByIndex + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest040, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + auto curButtonNode = containerPattern->GetTitleItemByIndex(buttonNode, 0); + EXPECT_NE(curButtonNode, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest041 + * @tc.desc: Test SetTapGestureEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest041, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + auto windowMode = WindowMode::WINDOW_MODE_FULLSCREEN; + auto windowManager = AceType::MakeRefPtr(); + auto windowModeCallback2 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback2)); + containerPattern->SetTapGestureEvent(containerModalNode); + windowMode = WindowMode::WINDOW_MODE_SPLIT_SECONDARY; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback3 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback3)); + containerPattern->SetTapGestureEvent(containerModalNode); + windowMode = WindowMode::WINDOW_MODE_FLOATING; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback4 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback4)); + containerPattern->SetTapGestureEvent(containerModalNode); + windowMode = WindowMode::WINDOW_MODE_PIP; + windowManager = AceType::MakeRefPtr(); + auto windowModeCallback5 = [windowMode]() { return windowMode; }; + windowManager->SetWindowGetModeCallBack(std::move(windowModeCallback5)); + containerPattern->SetTapGestureEvent(containerModalNode); + ASSERT_NE(containerModalNode, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest042 + * @tc.desc: Test ClearTapGestureEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest042, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->ClearTapGestureEvent(containerModalNode); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest043 + * @tc.desc: Test OnCloseButtonClick + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest043, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + GestureEvent gesture; + ASSERT_NE(containerModalNode, nullptr); + containerPattern->OnCloseButtonClick(gesture); + containerPattern->SetCloseButtonStatus(true); + EXPECT_NE(containerPattern, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest044 + * @tc.desc: Test ShowMaxMenu + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest044, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + GestureEvent gesture; + ASSERT_NE(containerModalNode, nullptr); + containerPattern->enableSplit_ = false; + auto curMenuList = containerPattern->ShowMaxMenu(containerModalNode); + EXPECT_EQ(curMenuList, nullptr); + containerPattern->enableSplit_ = true; + curMenuList = containerPattern->ShowMaxMenu(containerModalNode); + EXPECT_NE(curMenuList, nullptr); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest045 + * @tc.desc: Test OnMaxBtnInputEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest045, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + ASSERT_NE(containerModalNode, nullptr); + MouseInfo info; + containerPattern->OnMaxBtnInputEvent(info); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest046 + * @tc.desc: Test OnMaxBtnHoverEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest046, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + auto pipeline = MockPipelineContext::GetCurrent(); + containerModalNode->AttachContext(AceType::RawPtr(pipeline)); + ASSERT_NE(containerModalNode, nullptr); + WeakPtr weakButtonNode = buttonNode; + containerPattern->isMenuPending_ = false; + containerPattern->OnMaxBtnHoverEvent(false, weakButtonNode); + EXPECT_FALSE(containerPattern->isMenuPending_); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest047 + * @tc.desc: Test OnMenuItemHoverEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest047, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->OnMenuItemHoverEvent(buttonNode, true); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + containerPattern->OnMenuItemHoverEvent(buttonNode, false); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest048 + * @tc.desc: Test OnMenuItemClickEvent + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest048, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + MouseInfo mouseInfo; + mouseInfo.SetAction(MouseAction::PRESS); + containerPattern->OnMenuItemClickEvent(containerModalNode, mouseInfo); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + mouseInfo.SetAction(MouseAction::MOVE); + containerPattern->OnMenuItemClickEvent(containerModalNode, mouseInfo); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest049 + * @tc.desc: Test OnMenuItemClickGesture + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest049, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + containerPattern->OnMenuItemClickGesture(true); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest050 + * @tc.desc: Test EnablePanEventOnNode + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest050, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + RefPtr nullNode = nullptr; + containerPattern->EnablePanEventOnNode(nullNode, true, "hello"); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + containerPattern->EnablePanEventOnNode(containerModalNode, true, "hello"); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + containerPattern->EnablePanEventOnNode(containerModalNode, false, "hello"); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} + +/** + * @tc.name: ContainerModalPatternEnhanceTest051 + * @tc.desc: Test EnableTapGestureOnNode + * @tc.type: FUNC + * @tc.author: + */ +HWTEST_F(ContainerModalPatternEnhanceTestNg, ContainerModalPatternEnhanceTest051, TestSize.Level1) +{ + auto containerModalNode = + FrameNode::CreateFrameNode("ContainerModal", 1, AceType::MakeRefPtr()); + auto textNode = FrameNode::CreateFrameNode(V2::COLUMN_ETS_TAG, 2, AceType::MakeRefPtr()); + textNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + containerModalNode->AddChild(textNode); + auto buttonNode = FrameNode::CreateFrameNode(V2::BUTTON_ETS_TAG, 3, AceType::MakeRefPtr()); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 4, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 5, AceType::MakeRefPtr())); + buttonNode->AddChild(FrameNode::CreateFrameNode(V2::TEXT_ETS_TAG, 6, AceType::MakeRefPtr())); + containerModalNode->AddChild(buttonNode); + auto containerPattern = containerModalNode->GetPattern(); + RefPtr nullNode = nullptr; + containerPattern->EnablePanEventOnNode(nullNode, true, "hello"); + auto result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + containerPattern->EnableTapGestureOnNode(containerModalNode, true, "hello"); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); + containerPattern->EnableTapGestureOnNode(containerModalNode, false, "hello"); + result = containerPattern->GetIsFocus(); + EXPECT_FALSE(result); +} } // namespace OHOS::Ace::NG \ No newline at end of file