1 /*
2  * Copyright (C) 2023 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 "image_packer_native.h"
18 #include "image_packer_native_impl.h"
19 #include "file_packer_stream.h"
20 
21 using namespace testing::ext;
22 using namespace OHOS::Media;
23 
24 namespace OHOS {
25 namespace Multimedia {
26 class ImagePackerNdk2Test : public testing::Test {
27 public:
ImagePackerNdk2Test()28     ImagePackerNdk2Test() {}
~ImagePackerNdk2Test()29     ~ImagePackerNdk2Test() {}
30 };
31 
32 /**
33  * @tc.name: OH_ImageSourceInfo_Create
34  * @tc.desc: test OH_ImageSourceInfo_Create
35  * @tc.type: FUNC
36  */
37 HWTEST_F(ImagePackerNdk2Test, OH_PackingOptions_Create, TestSize.Level3)
38 {
39     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImageSourceInfo_Create start";
40     OH_PackingOptions *ops = nullptr;
41     Image_ErrorCode ret = OH_PackingOptions_Create(&ops);
42     ASSERT_EQ(ret, IMAGE_SUCCESS);
43     OH_PackingOptions_Release(ops);
44     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImageSourceInfo_Create end";
45 }
46 
47 /**
48  * @tc.name: OH_PackingOptions_SetGetMimeType
49  * @tc.desc: test OH_PackingOptions_SetGetMimeType
50  * @tc.type: FUNC
51  */
52 HWTEST_F(ImagePackerNdk2Test, OH_PackingOptions_SetGetMimeType, TestSize.Level3)
53 {
54     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_PackingOptions_SetGetMimeType start";
55     OH_PackingOptions *ops = nullptr;
56     char str[10] = "";
57     char str2[10] = "12";
58     Image_MimeType *mimeType = new Image_MimeType();
59     mimeType->data = str;
60     mimeType->size = 0;
61     Image_MimeType *mimeType2 = new Image_MimeType();
62     mimeType2->data = str2;
63     mimeType2->size = 2;
64     Image_ErrorCode ret = OH_PackingOptions_Create(&ops);
65     ASSERT_EQ(ret, IMAGE_SUCCESS);
66     OH_PackingOptions_SetMimeType(ops, mimeType2);
67     OH_PackingOptions_GetMimeType(ops, mimeType);
68     ASSERT_EQ(mimeType->size, 2);
69     string res(mimeType->data, mimeType->size);
70     ASSERT_EQ(res, "12");
71     OH_PackingOptions_Release(ops);
72     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_PackingOptions_SetGetMimeType end";
73 }
74 
75 /**
76  * @tc.name: OH_PackingOptions_Release
77  * @tc.desc: test OH_PackingOptions_Release
78  * @tc.type: FUNC
79  */
80 HWTEST_F(ImagePackerNdk2Test, OH_PackingOptions_Release, TestSize.Level3)
81 {
82     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_PackingOptions_Release start";
83     OH_PackingOptions *ops = nullptr;
84     Image_ErrorCode ret = OH_PackingOptions_Release(ops);
85     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
86     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_PackingOptions_Release end";
87 }
88 
89 /**
90  * @tc.name: OH_ImagePackerNative_Create
91  * @tc.desc: test OH_ImagePackerNative_Create
92  * @tc.type: FUNC
93  */
94 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_Create, TestSize.Level3)
95 {
96     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_Create start";
97     OH_ImagePackerNative *imagePacker = nullptr;
98     Image_ErrorCode ret = OH_ImagePackerNative_Create(&imagePacker);
99     ASSERT_EQ(ret, IMAGE_SUCCESS);
100     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_Create end";
101 }
102 
103 /**
104  * @tc.name: OH_ImagePackerNative_PackToDataFromImageSource
105  * @tc.desc: test OH_ImagePackerNative_PackToDataFromImageSource
106  * @tc.type: FUNC
107  */
108 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_PackToDataFromImageSource, TestSize.Level3)
109 {
110     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToDataFromImageSource start";
111     OH_ImagePackerNative *imagePacker = nullptr;
112     OH_PackingOptions* option = nullptr;
113     OH_ImageSourceNative* imageSource = nullptr;
114     uint8_t* outData = nullptr;
115     size_t *size = 0;
116     Image_ErrorCode ret = OH_ImagePackerNative_PackToDataFromImageSource(imagePacker, option, imageSource,
117         outData, size);
118     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
119     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToDataFromImageSource end";
120 }
121 
122 /**
123  * @tc.name: OH_ImagePackerNative_PackToDataFromPixelmap
124  * @tc.desc: test OH_ImagePackerNative_PackToDataFromPixelmap
125  * @tc.type: FUNC
126  */
127 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_PackToDataFromPixelmap, TestSize.Level3)
128 {
129     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToDataFromPixelmap start";
130     OH_ImagePackerNative *imagePacker = nullptr;
131     OH_PackingOptions* option = nullptr;
132     OH_PixelmapNative* pixelMap = nullptr;
133     uint8_t* outData = nullptr;
134     size_t *size = 0;
135     Image_ErrorCode ret = OH_ImagePackerNative_PackToDataFromPixelmap(imagePacker, option, pixelMap, outData, size);
136     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
137     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToDataFromPixelmap end";
138 }
139 
140 /**
141  * @tc.name: OH_ImagePackerNative_PackToFileFromImageSource
142  * @tc.desc: test OH_ImagePackerNative_PackToFileFromImageSource
143  * @tc.type: FUNC
144  */
145 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_PackToFileFromImageSource, TestSize.Level3)
146 {
147     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToFileFromImageSource start";
148     OH_ImagePackerNative *imagePacker = nullptr;
149     OH_PackingOptions* option = nullptr;
150     OH_ImageSourceNative* imageSource = nullptr;
151     int32_t fd = 0;
152     Image_ErrorCode ret = OH_ImagePackerNative_PackToFileFromImageSource(imagePacker, option, imageSource, fd);
153     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
154     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToFileFromImageSource end";
155 }
156 
157 /**
158  * @tc.name: OH_ImagePackerNative_PackToFileFromPixelmap
159  * @tc.desc: test OH_ImagePackerNative_PackToFileFromPixelmap
160  * @tc.type: FUNC
161  */
162 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_PackToFileFromPixelmap, TestSize.Level3)
163 {
164     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToFileFromPixelmap start";
165     OH_ImagePackerNative *imagePacker = nullptr;
166     OH_PackingOptions* option = nullptr;
167     OH_PixelmapNative* pixelMap = nullptr;
168     int32_t fd = 0;
169     Image_ErrorCode ret = OH_ImagePackerNative_PackToFileFromPixelmap(imagePacker, option, pixelMap, fd);
170     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
171     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_PackToFileFromPixelmap end";
172 }
173 
174 /**
175  * @tc.name: OH_ImagePackerNative_Release
176  * @tc.desc: test OH_ImagePackerNative_Release
177  * @tc.type: FUNC
178  */
179 HWTEST_F(ImagePackerNdk2Test, OH_ImagePackerNative_Release, TestSize.Level3)
180 {
181     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_Release start";
182     OH_ImagePackerNative *imagePacker = nullptr;
183     Image_ErrorCode ret = OH_ImagePackerNative_Release(imagePacker);
184     ASSERT_EQ(ret, IMAGE_BAD_PARAMETER);
185     GTEST_LOG_(INFO) << "ImagePackerNdk2Test: OH_ImagePackerNative_Release end";
186 }
187 
188 }
189 }