From 0456d2ed81d9870c1226ec9c607188a88da4afdf Mon Sep 17 00:00:00 2001 From: hw_wyx Date: Sat, 13 Sep 2025 19:49:50 +0800 Subject: [PATCH] refineImagePixelmap Signed-off-by: hw_wyx Change-Id: If977ea254df2fa99bd28b389115c7161164097be --- .../pattern/image/image_pattern.cpp | 2 +- .../core/pattern/image/image_test_ng.cpp | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/frameworks/core/components_ng/pattern/image/image_pattern.cpp b/frameworks/core/components_ng/pattern/image/image_pattern.cpp index ebc43e5b36b..b1fe1464e5e 100644 --- a/frameworks/core/components_ng/pattern/image/image_pattern.cpp +++ b/frameworks/core/components_ng/pattern/image/image_pattern.cpp @@ -489,7 +489,7 @@ bool ImagePattern::SetPixelMapMemoryName(RefPtr& pixelMap) auto host = GetHost(); CHECK_NULL_RETURN(host, false); auto id = host->GetInspectorId(); - if (id.has_value()) { + if (id.has_value() && !id.value().empty()) { std::string result = std::string("id:") + id.value(); pixelMap->SetMemoryName(result); hasSetPixelMapMemoryName_ = true; diff --git a/test/unittest/core/pattern/image/image_test_ng.cpp b/test/unittest/core/pattern/image/image_test_ng.cpp index 020ccc40644..c44e8267aeb 100755 --- a/test/unittest/core/pattern/image/image_test_ng.cpp +++ b/test/unittest/core/pattern/image/image_test_ng.cpp @@ -2547,6 +2547,38 @@ HWTEST_F(ImageTestNg, SetPixelMapMemoryName002, TestSize.Level0) EXPECT_EQ(imagePattern->hasSetPixelMapMemoryName_, true); } +/** + * @tc.name: SetPixelMapMemoryName003 + * @tc.desc: SetPixelMapMemoryName003 + * @tc.type: FUNC + */ +HWTEST_F(ImageTestNg, SetPixelMapMemoryName003, TestSize.Level0) +{ + /** + * @tc.steps: step1. create Image frameNode. + */ + RefPtr pixMap = AceType::MakeRefPtr(); + auto* stack = ViewStackProcessor::GetInstance(); + auto nodeId = stack->ClaimNodeId(); + auto frameNode = FrameNode::GetOrCreateFrameNode( + V2::IMAGE_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr(); }); + EXPECT_NE(frameNode, nullptr); + RefPtr parent = FrameNode::CreateFrameNode("parent", 0, AceType::MakeRefPtr(), true); + ASSERT_NE(parent, nullptr); + frameNode->SetParent(parent); + auto imagePattern = frameNode->GetPattern(); + EXPECT_NE(imagePattern, nullptr); + auto imageLayoutProperty = frameNode->GetLayoutProperty(); + EXPECT_NE(imageLayoutProperty, nullptr); + frameNode->UpdateInspectorId(""); + /** + * @tc.steps: step2. call SetPixelMapMemoryName. + * @tc.expected: Returned value is true. + */ + EXPECT_EQ(imagePattern->SetPixelMapMemoryName(pixMap), false); + EXPECT_EQ(imagePattern->hasSetPixelMapMemoryName_, false); +} + /** * @tc.name: TestKeyEvent001 * @tc.desc: Test KeyEvent001 -- Gitee