diff --git a/frameworks/innerkitsimpl/test/unittest/auxiliary_picture_test/auxiliary_picture_test.cpp b/frameworks/innerkitsimpl/test/unittest/auxiliary_picture_test/auxiliary_picture_test.cpp index 9247473424d7a21450de1fe0bfd6eeaae463ffdd..a1be0ad5d2e6c5831d7fb9cc6b3a2df6a9dcfb6b 100644 --- a/frameworks/innerkitsimpl/test/unittest/auxiliary_picture_test/auxiliary_picture_test.cpp +++ b/frameworks/innerkitsimpl/test/unittest/auxiliary_picture_test/auxiliary_picture_test.cpp @@ -497,6 +497,63 @@ HWTEST_F(AuxiliaryPictureTest, WritePixelsTest002, TestSize.Level2) EXPECT_EQ(ret, ERR_IMAGE_INVALID_PARAMETER); } +/** + * @tc.name: WritePixelsTest003 + * @tc.desc: Write buffer to pixels with invalid buffer size. + * @tc.type: FUNC + */ +HWTEST_F(AuxiliaryPictureTest, WritePixelsTest003, TestSize.Level2) +{ + std::unique_ptr auxiliaryPicture = CreateAuxiliaryPicture(AuxiliaryPictureType::GAINMAP); + ASSERT_NE(auxiliaryPicture, nullptr); + auxiliaryPicture->GetContentPixel()->SetEditable(true); + uint64_t bufferSize = auxiliaryPicture->GetContentPixel()->GetCapacity(); + auto buffer = new uint8_t[bufferSize]; + ASSERT_NE(buffer, nullptr); + bufferSize = 0; + uint32_t ret = auxiliaryPicture->WritePixels(buffer, bufferSize); + delete[] buffer; + EXPECT_EQ(ret, ERR_IMAGE_INVALID_PARAMETER); +} + +/** + * @tc.name: WritePixelsTest004 + * @tc.desc: Write buffer to pixels but the pixelmap in auxiliary picture is nullptr. + * @tc.type: FUNC + */ +HWTEST_F(AuxiliaryPictureTest, WritePixelsTest004, TestSize.Level2) +{ + std::unique_ptr auxiliaryPicture = CreateAuxiliaryPicture(AuxiliaryPictureType::GAINMAP); + ASSERT_NE(auxiliaryPicture, nullptr); + auxiliaryPicture->GetContentPixel()->SetEditable(true); + uint64_t bufferSize = auxiliaryPicture->GetContentPixel()->GetCapacity(); + auto buffer = new uint8_t[bufferSize]; + ASSERT_NE(buffer, nullptr); + std::shared_ptr emptyPixelmap = nullptr; + auxiliaryPicture->SetContentPixel(emptyPixelmap); + uint32_t ret = auxiliaryPicture->WritePixels(buffer, bufferSize); + delete[] buffer; + EXPECT_EQ(ret, ERR_MEDIA_NULL_POINTER); +} + +/** + * @tc.name: WritePixelsTest005 + * @tc.desc: Write buffer to pixels but the pixelmap in auxiliary picture is not editable. + * @tc.type: FUNC + */ +HWTEST_F(AuxiliaryPictureTest, WritePixelsTest005, TestSize.Level2) +{ + std::unique_ptr auxiliaryPicture = CreateAuxiliaryPicture(AuxiliaryPictureType::GAINMAP); + ASSERT_NE(auxiliaryPicture, nullptr); + auxiliaryPicture->GetContentPixel()->SetEditable(false); + uint64_t bufferSize = auxiliaryPicture->GetContentPixel()->GetCapacity(); + auto buffer = new uint8_t[bufferSize]; + ASSERT_NE(buffer, nullptr); + uint32_t ret = auxiliaryPicture->WritePixels(buffer, bufferSize); + delete[] buffer; + EXPECT_EQ(ret, ERR_IMAGE_PIXELMAP_NOT_ALLOW_MODIFY); +} + /** * @tc.name: WritePixelsTest006 * @tc.desc: Write buffer to pixels with invalid image info for pixelmap in auxiliary picture.