• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 expected 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 #include "camera_metadata_info_uttest.h"
16 
17 using namespace OHOS;
18 using namespace std;
19 using namespace testing::ext;
20 using namespace OHOS::Camera;
21 
SetUpTestCase(void)22 void CameraMetadataInfoTest::SetUpTestCase(void) {}
TearDownTestCase(void)23 void CameraMetadataInfoTest::TearDownTestCase(void) {}
SetUp(void)24 void CameraMetadataInfoTest::SetUp(void)
25 {
26     printf("CameraMetadataInfoTest start\r\n");
27 }
28 
TearDown(void)29 void CameraMetadataInfoTest::TearDown(void)
30 {
31     printf("CameraMetadataInfoTest end\r\n");
32 }
33 
34 /**
35  * @tc.name: Camera_Metedate_Info_001
36  * @tc.desc: normal test
37  * @tc.size: MediumTest
38  * @tc.type: Function
39  */
40 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_001, TestSize.Level1)
41 {
42     int32_t ret;
43     auto metaData = make_shared<CameraMetadata>(100, 200);
44     int8_t cameraType[] = {10, 30};
45     int32_t cameraFpsRange[] = {10, 30};
46     int32_t cameraFpsRange2[] = {10, 30, 20, 40};
47 
48     ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
49     EXPECT_EQ(ret, true);
50     ret = metaData->addEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange, 2);
51     EXPECT_EQ(ret, true);
52     ret = metaData->updateEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange2,\
53         sizeof(cameraFpsRange2) / sizeof(cameraFpsRange2[0]));
54     EXPECT_EQ(ret, true);
55     ret = metaData->isValid();
56     EXPECT_EQ(ret, true);
57 }
58 
59 /**
60  * @tc.name: Camera_Metedate_Info_002
61  * @tc.desc: resize_add_metadata
62  * @tc.size: MediumTest
63  * @tc.type: Function
64  */
65 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_002, TestSize.Level1)
66 {
67     int32_t ret;
68     auto metaData = make_shared<CameraMetadata>(1, 8);
69     int8_t cameraType[] = {10, 30};
70 
71     ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
72     EXPECT_EQ(ret, true);
73 
74     ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
75     EXPECT_EQ(ret, true);
76 
77     ret = metaData->addEntry(0, cameraType, 2);
78     EXPECT_EQ(ret, true);
79 }
80 
81 /**
82  * @tc.name: Camera_Metedate_Info_003
83  * @tc.desc: nullptr test
84  * @tc.size: MediumTest
85  * @tc.type: Function
86  */
87 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_003, TestSize.Level1)
88 {
89     CameraMetadata *cameraMetadata = new CameraMetadata(1, 10);
90     bool ret = cameraMetadata->addEntry(0, nullptr, 0);
91     EXPECT_EQ(ret, false);
92     ret = cameraMetadata->addEntry(OHOS_ABILITY_CAMERA_TYPE, nullptr, 1);
93     EXPECT_EQ(ret, false);
94     int32_t temp[] = {1};
95     ret = cameraMetadata->addEntry(OHOS_ABILITY_CAMERA_TYPE, temp, 1);
96     EXPECT_EQ(ret, true);
97     ret = cameraMetadata->updateEntry(OHOS_ABILITY_CAMERA_TYPE, nullptr, 1);
98     EXPECT_EQ(ret, false);
99 }
100 
101 /**
102  * @tc.name: Camera_Metedate_Info_004
103  * @tc.desc: get method test
104  * @tc.size: MediumTest
105  * @tc.type: Function
106  */
107 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_004, TestSize.Level1)
108 {
109     CameraMetadata *cameraMetadata = new CameraMetadata(10, 40);
110     common_metadata_header_t *header1 = cameraMetadata->get();
111     const common_metadata_header_t *header2;
112     header2 = cameraMetadata->get();
113     EXPECT_NE(header1, nullptr);
114     EXPECT_NE(header2, nullptr);
115 }
116 
117 /**
118  * @tc.name: Camera_Metedate_Info_005
119  * @tc.desc: dst = nullptr
120  * @tc.size: MediumTest
121  * @tc.type: Function
122  */
123 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_005, TestSize.Level1)
124 {
125     printf("CameraMetadataInfoTest Camera_Metedate_Info_005 start...");
126     FreeCameraMetadataBuffer(nullptr);
127 }
128 
129 /**
130  * @tc.name: Camera_Metedate_Info_006
131  * @tc.desc: dst = nullptr, item = 131071
132  * @tc.size: MediumTest
133  * @tc.type: Function
134  */
135 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_006, TestSize.Level1)
136 {
137     printf("CameraMetadataInfoTest Camera_Metedate_Info_006 start...");
138     int ret = DeleteCameraMetadataItem(nullptr, 131071);
139     EXPECT_EQ(ret, 2);
140 }
141 
142 /**
143  * @tc.name: Camera_Metedate_Info_007
144  * @tc.desc: dataCount = 1, item = 18, data = nullptr
145  * @tc.size: MediumTest
146  * @tc.type: Function
147  */
148 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_007, TestSize.Level1)
149 {
150     printf("CameraMetadataInfoTest Camera_Metedate_Info_007 start...");
151     common_metadata_header_t *dst = new common_metadata_header_t;
152     dst->item_count = 1;
153     int ret = UpdateCameraMetadataItem(dst, 18, nullptr, 1, nullptr);
154     EXPECT_EQ(ret, 2);
155 }
156 
157 /**
158  * @tc.name: Camera_Metedate_Info_008
159  * @tc.desc: dataCount = 1, item = -131071, data = nullptr
160  * @tc.size: MediumTest
161  * @tc.type: Function
162  */
163 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_008, TestSize.Level1)
164 {
165     printf("CameraMetadataInfoTest Camera_Metedate_Info_008 start...");
166     common_metadata_header_t *dst = new common_metadata_header_t;
167     dst->item_count = 1;
168     int ret = UpdateCameraMetadataItem(dst, -131071, nullptr, 1, nullptr);
169     EXPECT_EQ(ret, 2);
170 }
171 
172 /**
173  * @tc.name: Camera_Metedate_Info_009
174  * @tc.desc: dataCount = 0, item = -131071
175  * @tc.size: MediumTest
176  * @tc.type: Function
177  */
178 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_009, TestSize.Level1)
179 {
180     printf("CameraMetadataInfoTest Camera_Metedate_Info_009 start...");
181     common_metadata_header_t *dst = new common_metadata_header_t;
182     dst->item_count = 1;
183     int32_t value = 0;
184     int ret = UpdateCameraMetadataItem(dst, -131071, &value, 0, nullptr);
185     EXPECT_EQ(ret, 2);
186 }
187 
188 /**
189  * @tc.name: Camera_Metedate_Info_010
190  * @tc.desc: index = 50, dataCount = 1, data = 0
191  * @tc.size: MediumTest
192  * @tc.type: Function
193  */
194 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_010, TestSize.Level1)
195 {
196     printf("CameraMetadataInfoTest Camera_Metedate_Info_010 start...");
197     common_metadata_header_t *dst = new common_metadata_header_t;
198     dst->item_count = 1;
199     int32_t value = 0;
200     int ret = UpdateCameraMetadataItemByIndex(dst, 50, &value, 1, nullptr); // 1009
201     EXPECT_EQ(ret, 2);
202 }
203 
204 /**
205  * @tc.name: Camera_Metedate_Info_011
206  * @tc.desc: index = 50, dataCount = 1, data = 0
207  * @tc.size: MediumTest
208  * @tc.type: Function
209  */
210 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_011, TestSize.Level1)
211 {
212     printf("CameraMetadataInfoTest Camera_Metedate_Info_011 start...");
213 
214     auto metaData = make_shared<CameraMetadata>(100, 200);
215     float jpegGpsCoordinates[5] = {0};
216     int ret = metaData->addEntry(OHOS_JPEG_GPS_COORDINATES, jpegGpsCoordinates, 5);
217     EXPECT_NE(ret, false);
218 
219     int32_t value = 0;
220     ret = UpdateCameraMetadataItemByIndex(metaData->get(), 50, &value, 50, nullptr);
221     EXPECT_NE(ret, 0);
222     ret = UpdateCameraMetadataItemByIndex(metaData->get(), 0, &value, 5, nullptr);
223     EXPECT_EQ(ret, 0);
224 }
225 
226 /**
227  * @tc.name: Camera_Metedate_Info_012
228  * @tc.desc: index = 50, dataCount = 1, data = 0
229  * @tc.size: MediumTest
230  * @tc.type: Function
231  */
232 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_012, TestSize.Level1)
233 {
234     printf("CameraMetadataInfoTest Camera_Metedate_Info_012 start...");
235 
236     int32_t ret;
237     uint32_t index = 0;
238     auto metaData = make_shared<CameraMetadata>(100, 200);
239     int8_t cameraType[] = {10, 30};
240     int32_t cameraFpsRange[] = {10, 30};
241     camera_metadata_item_t *item = new camera_metadata_item_t;
242 
243     ret = metaData->addEntry(OHOS_ABILITY_FPS_RANGES, cameraFpsRange, 2);
244     EXPECT_EQ(ret, true);
245     ret = metaData->addEntry(OHOS_ABILITY_CAMERA_TYPE, cameraType, 2);
246     EXPECT_EQ(ret, true);
247     common_metadata_header_t *header1 = metaData->get();
248 
249     ret = GetCameraMetadataItem(header1, 50, item);
250     EXPECT_EQ(ret, 2);
251     ret = metaData->FindCameraMetadataItemIndex(header1, 0, &index, true);
252     EXPECT_EQ(ret, 3);
253 }
254 
255 /**
256  * @tc.name: Camera_Metedate_Info_014
257  * @tc.desc: index = 50, dataCount = 1, data = 0
258  * @tc.size: MediumTest
259  * @tc.type: Function
260  */
261 HWTEST_F(CameraMetadataInfoTest, Camera_Metedate_Info_013, TestSize.Level1)
262 {
263     printf("CameraMetadataInfoTest Camera_Metedate_Info_014 start...");
264 
265     int32_t ret;
266     int32_t value = 0;
267     CameraMetadata *cameraMetadata = new CameraMetadata(10, 40);
268 
269     ret = cameraMetadata->updateEntry(OHOS_ABILITY_MOON_CAPTURE_BOOST, &value, 0);
270     EXPECT_EQ(ret, false);
271 }