From 1026e3d6db28fbebd6b6add1a26343d32959c201 Mon Sep 17 00:00:00 2001 From: sd_wu Date: Wed, 13 Nov 2024 22:03:43 +0800 Subject: [PATCH] fix setrenderfit tdd Signed-off-by: sd_wu --- .../xcomponent_property_test_ng.cpp | 177 ++++++++++++++++++ .../pattern/xcomponent/xcomponent_test_ng.cpp | 68 +++++++ 2 files changed, 245 insertions(+) diff --git a/test/unittest/core/pattern/xcomponent/xcomponent_property_test_ng.cpp b/test/unittest/core/pattern/xcomponent/xcomponent_property_test_ng.cpp index 42c2ec14c6b..201b9a47be1 100644 --- a/test/unittest/core/pattern/xcomponent/xcomponent_property_test_ng.cpp +++ b/test/unittest/core/pattern/xcomponent/xcomponent_property_test_ng.cpp @@ -1995,4 +1995,181 @@ HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest050, TestSize.Level1) xComponent.SetRenderFit(RENDER_FIT); EXPECT_EQ(pattern->handlingSurfaceRenderContext_, nullptr); } + +/** + * @tc.name: XComponentModelNGTest051 + * @tc.desc: Test XComponentModelNG SetRenderFit for FrameNode, type = XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest051, TestSize.Level1) +{ + /** + * @tc.steps: step1. create xcomponent frameNode. + * case: type = XComponentType::SURFACE + * @tc.expected: xcomponent frameNode create successfully + */ + ArkUI_Int32 nodeId = 0; + auto frameNode = XComponentModelNG::CreateFrameNode( + nodeId, XCOMPONENT_ID, XCOMPONENT_SURFACE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call SetRenderFit for xcomponent framenode. + * case: renderFit = RenderFit::BOTTOM_RIGHT + * @tc.expected: handlingSurfaceRenderContext_->SetRenderFit(renderFit) is called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + EXPECT_CALL(*AceType::DynamicCast(pattern->handlingSurfaceRenderContext_), + SetRenderFit(RenderFit::BOTTOM_RIGHT)).WillOnce(Return()); + XComponentModelNG::SetRenderFit(frameNode.GetRawPtr(), RenderFit::BOTTOM_RIGHT); +} + +/** + * @tc.name: XComponentModelNGTest052 + * @tc.desc: Test XComponentModelNG SetRenderFit for FrameNode, type = XComponentType::TEXTURE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest052, TestSize.Level1) +{ + /** + * @tc.steps: step1. create xcomponent framenode. + * case: type = XComponentType::TEXTURE + * @tc.expected: xcomponent frameNode create successfully + */ + ArkUI_Int32 nodeId = 0; + auto frameNode = XComponentModelNG::CreateFrameNode( + nodeId, XCOMPONENT_ID, XCOMPONENT_TEXTURE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call SetRenderFit for xcomponent framenode. + * case: renderFit = RenderFit::BOTTOM_RIGHT + * @tc.expected: handlingSurfaceRenderContext_->SetRenderFit(renderFit) is not called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + XComponentModelNG::SetRenderFit(frameNode.GetRawPtr(), RenderFit::BOTTOM_RIGHT); + EXPECT_EQ(pattern->handlingSurfaceRenderContext_, nullptr); +} + +/** + * @tc.name: XComponentModelNGTest053 + * @tc.desc: Test XComponentModelNG EnableSecure for FrameNode, type != XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest053, TestSize.Level1) +{ + /** + * @tc.steps: step1. create xcomponent framenode. + * case: type = XComponentType::TEXTURE + * @tc.expected: xcomponent frameNode create successfully + */ + ArkUI_Int32 nodeId = 0; + auto frameNode = XComponentModelNG::CreateFrameNode( + nodeId, XCOMPONENT_ID, XCOMPONENT_TEXTURE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call EnableSecure for xcomponent framenode. + * case: isSecure = true + * @tc.expected: renderContextForSurface_->SetSecurityLayer(isSecure) is not called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + XComponentModelNG::EnableSecure(frameNode.GetRawPtr(), true); + EXPECT_EQ(pattern->renderContextForSurface_, nullptr); +} + +/** + * @tc.name: XComponentModelNGTest054 + * @tc.desc: Test XComponentModelNG EnableSecure for FrameNode, type = XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest054, TestSize.Level1) +{ + /** + * @tc.steps: step1. create xcomponent framenode. + * case: type = XComponentType::SURFACE + * @tc.expected: xcomponent frameNode create successfully + */ + ArkUI_Int32 nodeId = 0; + auto frameNode = XComponentModelNG::CreateFrameNode( + nodeId, XCOMPONENT_ID, XCOMPONENT_SURFACE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call EnableSecure for xcomponent framenode. + * case: isSecure = true + * @tc.expected: renderContextForSurface_->SetSecurityLayer(isSecure) is called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + EXPECT_CALL(*AceType::DynamicCast(pattern->renderContextForSurface_), SetSecurityLayer(true)) + .WillOnce(Return()); + XComponentModelNG::EnableSecure(frameNode.GetRawPtr(), true); +} + +/** + * @tc.name: XComponentModelNGTest055 + * @tc.desc: Test XComponentModelNG EnableSecure, type = XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest055, TestSize.Level1) +{ + /** + * @tc.steps: step1. create ComponentController. + * case: type = XComponentType::SURFACE + * @tc.expected: xcomponent frameNode create successfully + */ + auto xComponentController = std::make_shared(); + XComponentModelNG xComponent; + xComponent.Create(XCOMPONENT_ID, XCOMPONENT_SURFACE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME, xComponentController); + xComponent.SetSoPath(XCOMPONENT_SO_PATH); + + auto frameNode = AceType::Claim(ViewStackProcessor::GetInstance()->GetMainFrameNode()); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call EnableSecure. + * case: isSecure = true + * @tc.expected: renderContextForSurface_->SetSecurityLayer(isSecure) is called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + EXPECT_CALL(*AceType::DynamicCast(pattern->renderContextForSurface_), SetSecurityLayer(true)) + .WillOnce(Return()); + xComponent.EnableSecure(true); +} + +/** + * @tc.name: XComponentModelNGTest056 + * @tc.desc: Test XComponentModelNG EnableSecure, type != XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentPropertyTestNg, XComponentModelNGTest056, TestSize.Level1) +{ + /** + * @tc.steps: step1. create ComponentController. + * case: type = XComponentType::TEXTURE + * @tc.expected: xcomponent frameNode create successfully + */ + auto xComponentController = std::make_shared(); + XComponentModelNG xComponent; + xComponent.Create(XCOMPONENT_ID, XCOMPONENT_TEXTURE_TYPE_VALUE, XCOMPONENT_LIBRARY_NAME, xComponentController); + xComponent.SetSoPath(XCOMPONENT_SO_PATH); + + auto frameNode = AceType::Claim(ViewStackProcessor::GetInstance()->GetMainFrameNode()); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. call EnableSecure. + * case: isSecure = true + * @tc.expected: renderContextForSurface_->SetSecurityLayer(isSecure) is not called + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + xComponent.EnableSecure(true); + EXPECT_EQ(pattern->renderContextForSurface_, nullptr); +} } // namespace OHOS::Ace::NG diff --git a/test/unittest/core/pattern/xcomponent/xcomponent_test_ng.cpp b/test/unittest/core/pattern/xcomponent/xcomponent_test_ng.cpp index 924f3a2bcd1..aa17b1d640f 100644 --- a/test/unittest/core/pattern/xcomponent/xcomponent_test_ng.cpp +++ b/test/unittest/core/pattern/xcomponent/xcomponent_test_ng.cpp @@ -1362,4 +1362,72 @@ HWTEST_F(XComponentTestNg, XComponentSurfaceLifeCycleCallback, TestSize.Level1) pattern->OnDetachFromFrameNode(AceType::RawPtr(frameNode)); EXPECT_STREQ(SURFACE_ID.c_str(), onSurfaceDestroyedSurfaceId.c_str()); } + +/** + * @tc.name: XComponentCreateTypeNodeTest001 + * @tc.desc: Test create typeNode xcomponent, type = XComponentType::SURFACE + * @tc.type: FUNC + */ +HWTEST_F(XComponentTestNg, XComponentCreateTypeNodeTest001, TestSize.Level1) +{ + /** + * @tc.steps: step1. create typeNode xcomponent. + * case: type = XComponentType::SURFACE + * @tc.expected: xcomponent frameNode create successfully + */ + auto xComponentController = std::make_shared(); + ArkUI_XComponent_Params xcParams = { + .id = XCOMPONENT_ID, + .type = XCOMPONENT_SURFACE_TYPE_VALUE, + .libraryName = XCOMPONENT_LIBRARY_NAME, + .controller = xComponentController + }; + ArkUI_Int32 nodeId = 0; + + auto frameNode = XComponentModelNG::CreateTypeNode(nodeId, &xcParams); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. get xcomponent type. + * @tc.expected: xcomponent type is XComponentType::SURFACE + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + auto xcType = pattern->GetType(); + EXPECT_EQ(xcType, XComponentType::SURFACE); +} + +/** + * @tc.name: XComponentCreateTypeNodeTest002 + * @tc.desc: Test create typeNode xcomponent, type = XComponentType::TEXTURE + * @tc.type: FUNC + */ +HWTEST_F(XComponentTestNg, XComponentCreateTypeNodeTest002, TestSize.Level1) +{ + /** + * @tc.steps: step1. create typeNode xcomponent. + * case: type = XComponentType::TEXTURE + * @tc.expected: xcomponent frameNode create successfully + */ + auto xComponentController = std::make_shared(); + ArkUI_XComponent_Params xcParams = { + .id = XCOMPONENT_ID, + .type = XCOMPONENT_TEXTURE_TYPE_VALUE, + .libraryName = XCOMPONENT_LIBRARY_NAME, + .controller = xComponentController + }; + ArkUI_Int32 nodeId = 0; + + auto frameNode = XComponentModelNG::CreateTypeNode(nodeId, &xcParams); + EXPECT_TRUE(frameNode != nullptr && frameNode->GetTag() == V2::XCOMPONENT_ETS_TAG); + + /** + * @tc.steps: step2. get xcomponent type. + * @tc.expected: xcomponent type is XComponentType::TEXTURE + */ + auto pattern = frameNode->GetPattern(); + ASSERT_TRUE(pattern); + auto xcType = pattern->GetType(); + EXPECT_EQ(xcType, XComponentType::TEXTURE); +} } // namespace OHOS::Ace::NG -- Gitee