1 /* 2 * Copyright (C) 2024 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #include <gtest/gtest.h> 17 #include "common_utils.h" 18 #include "image_native.h" 19 #include "image_receiver_native.h" 20 #include "image_kits.h" 21 #include "image_receiver.h" 22 23 using namespace testing::ext; 24 namespace OHOS { 25 namespace Media { 26 27 class ImageNativeTest : public testing::Test { 28 public: ImageNativeTest()29 ImageNativeTest() {} ~ImageNativeTest()30 ~ImageNativeTest() {} 31 }; 32 33 /** 34 * @tc.name: OH_ImageNative_ReleaseTest 35 * @tc.desc: OH_ImageNative_Release 36 * @tc.type: FUNC 37 */ 38 HWTEST_F(ImageNativeTest, OH_ImageNative_ReleaseTest, TestSize.Level3) 39 { 40 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_ReleaseTest start"; 41 OH_ImageNative* pImg = nullptr; 42 Image_ErrorCode nRst = OH_ImageNative_Release(pImg); 43 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 44 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_ReleaseTest end"; 45 } 46 47 /** 48 * @tc.name: OH_ImageNative_GetByteBufferTest 49 * @tc.desc: OH_ImageNative_GetByteBuffer 50 * @tc.type: FUNC 51 */ 52 HWTEST_F(ImageNativeTest, OH_ImageNative_GetByteBufferTest, TestSize.Level3) 53 { 54 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetByteBufferTest start"; 55 OH_ImageNative* pImg = nullptr; 56 OH_NativeBuffer* pBuffer = nullptr; 57 Image_ErrorCode nRst = OH_ImageNative_GetByteBuffer(pImg, 0, &pBuffer); 58 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 59 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetByteBufferTest end"; 60 } 61 62 /** 63 * @tc.name: OH_ImageNative_GetBufferSizeTest 64 * @tc.desc: OH_ImageNative_GetBufferSize 65 * @tc.type: FUNC 66 */ 67 HWTEST_F(ImageNativeTest, OH_ImageNative_GetBufferSizeTest, TestSize.Level3) 68 { 69 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetBufferSizeTest start"; 70 OH_ImageNative* pImg = nullptr; 71 size_t nSize = 0; 72 Image_ErrorCode nRst = OH_ImageNative_GetBufferSize(pImg, 0, &nSize); 73 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 74 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetBufferSizeTest end"; 75 } 76 77 /** 78 * @tc.name: OH_ImageNative_GetComponentTypesTest 79 * @tc.desc: OH_ImageNative_GetComponentTypes 80 * @tc.type: FUNC 81 */ 82 HWTEST_F(ImageNativeTest, OH_ImageNative_GetComponentTypesTest, TestSize.Level3) 83 { 84 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetComponentTypesTest start"; 85 OH_ImageNative* pImg = nullptr; 86 uint32_t* pTypes = nullptr; 87 size_t nTypeSize = 0; 88 Image_ErrorCode nRst = OH_ImageNative_GetComponentTypes(pImg, &pTypes, &nTypeSize); 89 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 90 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetComponentTypesTest end"; 91 } 92 93 /** 94 * @tc.name: OH_ImageNative_GetRowStrideTest 95 * @tc.desc: OH_ImageNative_GetRowStride 96 * @tc.type: FUNC 97 */ 98 HWTEST_F(ImageNativeTest, OH_ImageNative_GetRowStrideTest, TestSize.Level3) 99 { 100 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetRowStrideTest start"; 101 OH_ImageNative* pImg = nullptr; 102 int32_t nRowStride = 0; 103 Image_ErrorCode nRst = OH_ImageNative_GetRowStride(pImg, 0, &nRowStride); 104 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 105 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetRowStrideTest end"; 106 } 107 108 /** 109 * @tc.name: OH_ImageNative_GetPixelStrideTest 110 * @tc.desc: OH_ImageNative_GetPixelStride 111 * @tc.type: FUNC 112 */ 113 HWTEST_F(ImageNativeTest, OH_ImageNative_GetPixelStrideTest, TestSize.Level3) 114 { 115 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetPixelStrideTest start"; 116 OH_ImageNative* pImg = nullptr; 117 int32_t nPixelStride = 0; 118 Image_ErrorCode nRst = OH_ImageNative_GetPixelStride(pImg, 0, &nPixelStride); 119 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 120 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetPixelStrideTest end"; 121 } 122 123 /** 124 * @tc.name: OH_ImageNative_GetImageSizeTest 125 * @tc.desc: OH_ImageNative_GetImageSize 126 * @tc.type: FUNC 127 */ 128 HWTEST_F(ImageNativeTest, OH_ImageNative_GetImageSizeTest, TestSize.Level3) 129 { 130 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetImageSizeTest start"; 131 OH_ImageNative* pImg = nullptr; 132 Image_Size szImg = { 0 }; 133 Image_ErrorCode nRst = OH_ImageNative_GetImageSize(pImg, &szImg); 134 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 135 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetImageSizeTest end"; 136 } 137 138 /** 139 @tc.name: OH_ImageNative_GetComponentTypesTest002 140 @tc.desc: OH_ImageNative_GetComponentTypes 141 @tc.type: FUNC 142 */ 143 HWTEST_F(ImageNativeTest, OH_ImageNative_GetComponentTypesTest002, TestSize.Level3) 144 { 145 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetComponentTypesTest002 start"; 146 struct OH_ImageNative imageNative; 147 OH_ImageNative* pImg = &imageNative; 148 sptr<SurfaceBuffer> buffer = SurfaceBuffer::Create(); 149 std::shared_ptr<IBufferProcessor> releaser = nullptr; 150 NativeImage imgNative(buffer, releaser); 151 pImg->imgNative = &imgNative; 152 uint32_t data = 0; 153 uint32_t* pTypes = &data; 154 size_t nTypeSize = 0; 155 Image_ErrorCode nRst = OH_ImageNative_GetComponentTypes(pImg, &pTypes, &nTypeSize); 156 ASSERT_EQ(nRst, IMAGE_SUCCESS); 157 uint32_t componentType = 128; 158 size_t* size = (size_t *)&data; 159 nRst = OH_ImageNative_GetBufferSize(pImg, componentType, size); 160 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 161 int32_t* rowStride = (int32_t *)&data; 162 nRst = OH_ImageNative_GetRowStride(pImg, componentType, rowStride); 163 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 164 int32_t* pixelStride = (int32_t *)&data; 165 nRst = OH_ImageNative_GetPixelStride(pImg, componentType, pixelStride); 166 ASSERT_EQ(nRst, IMAGE_BAD_PARAMETER); 167 GTEST_LOG_(INFO) << "ImageNativeTest: OH_ImageNative_GetComponentTypesTest002 end"; 168 } 169 } // namespace Media 170 } // namespace OHOS 171