1 /*
2 * Copyright (c) 2025 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 "UdsTest.h"
17 #include "napi/native_api.h"
18 #include <database/udmf/udmf.h>
19 #include <database/udmf/udmf_err_code.h>
20 #include <js_native_api_types.h>
21 #include <napi/native_api.h>
22 #include <multimedia/image_framework/image/pixelmap_native.h>
23
24 # define MAX_GENERAL_ENTRY_SIZE (100 * 1024 * 1024)
25
26 int g_invalidParamCode1 = 20400001;
27
AddUdsTest(std::vector<napi_property_descriptor> & descData)28 void AddUdsTest(std::vector<napi_property_descriptor> &descData)
29 {
30 descData.push_back({"testSetPixelMapInvalidParam", nullptr, TestSetPixelMapInvalidParam, nullptr, nullptr, nullptr,
31 napi_default, nullptr});
32 descData.push_back({"testArrBufferDestroyInvalidParam", nullptr, TestArrBufferDestroyInvalidParam, nullptr, nullptr,
33 nullptr, napi_default, nullptr});
34 descData.push_back({"testGetDataInvalidParam", nullptr, TestGetDataInvalidParam, nullptr, nullptr, nullptr,
35 napi_default, nullptr});
36 }
37
TestSetPixelMapInvalidParam(napi_env env,napi_callback_info info)38 napi_value TestSetPixelMapInvalidParam(napi_env env, napi_callback_info info)
39 {
40 napi_value result;
41 OH_UdsPixelMap *pixelMap = nullptr;
42 uint8_t data [500];
43 int dataSize = 500;
44 for (int i = 0; i < dataSize; i++) {
45 data[i] = i + 1;
46 }
47 OH_Pixelmap_InitializationOptions *createOpts;
48 OH_PixelmapInitializationOptions_Create(&createOpts);
49 int width = 6;
50 OH_PixelmapInitializationOptions_SetWidth(createOpts, width);
51 int height = 4;
52 OH_PixelmapInitializationOptions_SetHeight(createOpts, height);
53 OH_PixelmapInitializationOptions_SetPixelFormat(createOpts, PIXEL_FORMAT_RGBA_8888);
54 OH_PixelmapInitializationOptions_SetAlphaType(createOpts, PIXELMAP_ALPHA_TYPE_UNKNOWN);
55
56 OH_PixelmapNative *pixelmapNative;
57 OH_PixelmapNative_CreatePixelmap(data, dataSize, createOpts, &pixelmapNative);
58
59 int ret = OH_UdsPixelMap_SetPixelMap(pixelMap, pixelmapNative);
60 napi_create_int32(env, ret == Udmf_ErrCode::UDMF_E_INVALID_PARAM ? g_invalidParamCode1 : 1, &result);
61
62 return result;
63 }
64
TestArrBufferDestroyInvalidParam(napi_env env,napi_callback_info info)65 napi_value TestArrBufferDestroyInvalidParam(napi_env env, napi_callback_info info)
66 {
67 napi_value result;
68 OH_UdsArrayBuffer* buffer = nullptr;
69 int ret = OH_UdsArrayBuffer_Destroy(buffer);
70 napi_create_int32(env, ret == Udmf_ErrCode::UDMF_E_INVALID_PARAM ? g_invalidParamCode1 : 1, &result);
71 return result;
72 }
73
TestGetDataInvalidParam(napi_env env,napi_callback_info info)74 napi_value TestGetDataInvalidParam(napi_env env, napi_callback_info info)
75 {
76 napi_value result;
77 OH_UdsArrayBuffer* buffer = OH_UdsArrayBuffer_Create();
78 unsigned char data[] = "hello world";
79 unsigned int len = sizeof(data);
80
81 OH_UdsArrayBuffer_SetData(buffer, data, len);
82
83 buffer = nullptr;
84
85 unsigned char *getData;
86 unsigned int getLen;
87 int ret = OH_UdsArrayBuffer_GetData(buffer, &getData, &getLen);
88
89 napi_create_int32(env, ret == Udmf_ErrCode::UDMF_E_INVALID_PARAM ? g_invalidParamCode1 : 1, &result);
90
91 OH_UdsArrayBuffer_Destroy(buffer);
92 return result;
93 }