diff --git a/frameworks/core/components_ng/pattern/image/image_pattern.cpp b/frameworks/core/components_ng/pattern/image/image_pattern.cpp index ebc43e5b36b59d8c9e4b94c84b595c6c60e9c27c..b1fe1464e5efdb2e8b2f5a0ca7a1ac3c6275368c 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 020ccc40644586ce330441f430bcd763b7e6d0c3..c44e8267aeb6c4adcc0c568097a1348c7f520aec 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