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 "EffectTest.h"
17 #include <native_effect/effect_filter.h>
18 #include <multimedia/image_framework/image/pixelmap_native.h>
19 #include <native_image/native_image.h>
20 #include <native_window/graphic_error_code.h>
21 #include <native_buffer/native_buffer.h>
22
addEffectTest(std::vector<napi_property_descriptor> & descData)23 void addEffectTest(std::vector<napi_property_descriptor>& descData)
24 {
25 descData.push_back({"createEffectFail", nullptr, OH_Filter_CreateEffectFail,
26 nullptr, nullptr, nullptr, napi_default, nullptr});
27 descData.push_back({"releaseFail", nullptr, OH_Filter_ReleaseFail,
28 nullptr, nullptr, nullptr, napi_default, nullptr});
29 descData.push_back({"blurWithTileModeSuccess", nullptr, OH_Filter_BlurWithTileModeSuccess,
30 nullptr, nullptr, nullptr, napi_default, nullptr});
31 descData.push_back({"getEffectPixelMapFail", nullptr, OH_Filter_GetEffectPixelMapFail,
32 nullptr, nullptr, nullptr, napi_default, nullptr});
33 descData.push_back({"getTransformMatrixV2Success", nullptr, OH_NativeImage_GetTransformMatrixV2Success,
34 nullptr, nullptr, nullptr, napi_default, nullptr});
35 descData.push_back({"acquireNativeWindowBufferSuccess", nullptr, OH_NativeImage_AcquireNativeWindowBufferSuccess,
36 nullptr, nullptr, nullptr, napi_default, nullptr});
37 descData.push_back({"acquireNativeWindowBufferFail", nullptr, OH_NativeImage_AcquireNativeWindowBufferFail,
38 nullptr, nullptr, nullptr, napi_default, nullptr});
39 descData.push_back({"releaseNativeWindowBufferFail", nullptr, OH_NativeImage_ReleaseNativeWindowBufferFail,
40 nullptr, nullptr, nullptr, napi_default, nullptr});
41 descData.push_back({"setDropBufferModeSuccess", nullptr, OH_NativeImage_SetDropBufferModeSuccess,
42 nullptr, nullptr, nullptr, napi_default, nullptr});
43 }
44
OH_Filter_CreateEffectFail(napi_env env,napi_callback_info info)45 napi_value OH_Filter_CreateEffectFail(napi_env env, napi_callback_info info)
46 {
47 napi_value result;
48 OH_Filter* filter;
49 EffectErrorCode errCode = OH_Filter_CreateEffect(nullptr, &filter);
50 napi_create_int32(env, errCode == EFFECT_BAD_PARAMETER, &result);
51 return result;
52 }
OH_Filter_ReleaseFail(napi_env env,napi_callback_info info)53 napi_value OH_Filter_ReleaseFail(napi_env env, napi_callback_info info)
54 {
55 napi_value result;
56 OH_Filter* filter;
57 EffectErrorCode errCode = OH_Filter_Release(filter);
58 napi_create_int32(env, errCode == EFFECT_BAD_PARAMETER, &result);
59 return result;
60 }
61
OH_Filter_BlurWithTileModeSuccess(napi_env env,napi_callback_info info)62 napi_value OH_Filter_BlurWithTileModeSuccess(napi_env env, napi_callback_info info)
63 {
64 napi_value result;
65 OH_Filter* filter = nullptr;
66 float radius = 10;
67 EffectErrorCode errCode = OH_Filter_BlurWithTileMode(filter, radius, REPEAT);
68 OH_Filter_Blur(filter, radius);
69 napi_create_int32(env, errCode == EFFECT_BAD_PARAMETER, &result);
70 return result;
71 }
72
OH_Filter_GetEffectPixelMapFail(napi_env env,napi_callback_info info)73 napi_value OH_Filter_GetEffectPixelMapFail(napi_env env, napi_callback_info info)
74 {
75 napi_value result;
76 EffectErrorCode errCode = OH_Filter_GetEffectPixelMap(nullptr, nullptr);
77 napi_create_int32(env, errCode == EFFECT_BAD_PARAMETER, &result);
78 return result;
79 }
80
OH_NativeImage_GetTransformMatrixV2Success(napi_env env,napi_callback_info info)81 napi_value OH_NativeImage_GetTransformMatrixV2Success(napi_env env, napi_callback_info info)
82 {
83 napi_value result;
84 OH_NativeImage* image = OH_NativeImage_Create(0, 0);
85 float matrix[16] = {0};
86 int32_t errorCode = OH_NativeImage_GetTransformMatrixV2(nullptr, matrix);
87 napi_create_int32(env, errorCode == NATIVE_ERROR_INVALID_ARGUMENTS, &result);
88 return result;
89 }
90
OH_NativeImage_AcquireNativeWindowBufferSuccess(napi_env env,napi_callback_info info)91 napi_value OH_NativeImage_AcquireNativeWindowBufferSuccess(napi_env env, napi_callback_info info)
92 {
93 napi_value result;
94 OH_NativeImage* image = OH_NativeImage_Create(0, 0);
95 OHNativeWindowBuffer* nativeWindowBuffer = nullptr;
96 int fenceFd = 0;
97 int32_t errorCode = OH_NativeImage_AcquireNativeWindowBuffer(image, &nativeWindowBuffer, &fenceFd);
98 napi_create_int32(env, errorCode == NATIVE_ERROR_NO_BUFFER, &result);
99 return result;
100 }
101
OH_NativeImage_AcquireNativeWindowBufferFail(napi_env env,napi_callback_info info)102 napi_value OH_NativeImage_AcquireNativeWindowBufferFail(napi_env env, napi_callback_info info)
103 {
104 napi_value result;
105 int32_t errorCode = OH_NativeImage_AcquireNativeWindowBuffer(nullptr, nullptr, nullptr);
106 napi_create_int32(env, errorCode == NATIVE_ERROR_INVALID_ARGUMENTS, &result);
107 return result;
108 }
109
OH_NativeImage_ReleaseNativeWindowBufferFail(napi_env env,napi_callback_info info)110 napi_value OH_NativeImage_ReleaseNativeWindowBufferFail(napi_env env, napi_callback_info info)
111 {
112 napi_value result;
113 int32_t errorCode = OH_NativeImage_ReleaseNativeWindowBuffer(nullptr, nullptr, 0);
114 napi_create_int32(env, errorCode == NATIVE_ERROR_INVALID_ARGUMENTS, &result);
115 return result;
116 }
117
OH_NativeImage_SetDropBufferModeSuccess(napi_env env,napi_callback_info info)118 napi_value OH_NativeImage_SetDropBufferModeSuccess(napi_env env, napi_callback_info info)
119 {
120 napi_value result;
121 OH_NativeImage* image = OH_NativeImage_Create(0, 0);
122 OHNativeWindowBuffer* nativeWindowBuffer = nullptr;
123 int fenceFd = 0;
124 int32_t errorCode = OH_NativeImage_SetDropBufferMode(image, true);
125 napi_create_int32(env, errorCode == NATIVE_ERROR_OK, &result);
126 return result;
127 }