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 "native_interface.h"
18 #include "native_node_napi.h"
19 #include "native_type.h"
20
21 using namespace testing;
22 using namespace testing::ext;
23
24 class NativeNodeNapiTest : public testing::Test {
25 public:
SetUpTestCase()26 static void SetUpTestCase() {};
TearDownTestCase()27 static void TearDownTestCase() {};
28 };
29
30 /**
31 * @tc.name: NativeNodeNapiTest001
32 * @tc.desc: Test OH_ArkUI_GetContextFromNapiValue function.
33 * @tc.type: FUNC
34 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest001, TestSize.Level1)35 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest001, TestSize.Level1)
36 {
37 napi_env__* env = nullptr;
38 napi_value__* value = nullptr;
39 ArkUI_ContextHandle* context = nullptr;
40 int32_t code = OH_ArkUI_GetContextFromNapiValue(env, value, context);
41 EXPECT_EQ(code, 401);
42 }
43
44 /**
45 * @tc.name: NativeNodeNapiTest002
46 * @tc.desc: Test OH_ArkUI_GetNodeContentFromNapiValue function.
47 * @tc.type: FUNC
48 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest002, TestSize.Level1)49 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest002, TestSize.Level1)
50 {
51 napi_env__* env = nullptr;
52 napi_value__* value = nullptr;
53 ArkUI_NodeContentHandle* context = nullptr;
54 int32_t code = OH_ArkUI_GetNodeContentFromNapiValue(env, value, context);
55 EXPECT_EQ(code, 401);
56 }
57
58 /**
59 * @tc.name: NativeNodeNapiTest003
60 * @tc.desc: Test OH_ArkUI_GetNodeHandleFromNapiValue function.
61 * @tc.type: FUNC
62 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest003, TestSize.Level1)63 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest003, TestSize.Level1)
64 {
65 napi_env__* env = nullptr;
66 napi_value__* value = nullptr;
67 ArkUI_NodeHandle* context = nullptr;
68 int32_t code = OH_ArkUI_GetNodeHandleFromNapiValue(env, value, context);
69 EXPECT_EQ(code, 401);
70 }
71
72 /**
73 * @tc.name: NativeNodeNapiTest004
74 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
75 * @tc.type: FUNC
76 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest004, TestSize.Level1)77 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest004, TestSize.Level1)
78 {
79 void* object = OH_ArkUI_QueryModuleInterfaceByName(static_cast<ArkUI_NativeAPIVariantKind>(-1), "");
80 EXPECT_EQ(object, nullptr);
81 }
82
83 /**
84 * @tc.name: NativeNodeNapiTest005
85 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
86 * @tc.type: FUNC
87 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest005, TestSize.Level1)88 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest005, TestSize.Level1)
89 {
90 void* object = OH_ArkUI_QueryModuleInterfaceByName(ARKUI_NATIVE_NODE, "");
91 EXPECT_EQ(object, nullptr);
92 }
93
94 /**
95 * @tc.name: NativeNodeNapiTest006
96 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
97 * @tc.type: FUNC
98 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest006, TestSize.Level1)99 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest006, TestSize.Level1)
100 {
101 void* object = OH_ArkUI_QueryModuleInterfaceByName(ARKUI_NATIVE_DIALOG, "");
102 EXPECT_EQ(object, nullptr);
103 }
104
105 /**
106 * @tc.name: NativeNodeNapiTest007
107 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
108 * @tc.type: FUNC
109 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest007, TestSize.Level1)110 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest007, TestSize.Level1)
111 {
112 void* object = OH_ArkUI_QueryModuleInterfaceByName(ARKUI_NATIVE_GESTURE, "");
113 EXPECT_EQ(object, nullptr);
114 }
115
116 /**
117 * @tc.name: NativeNodeNapiTest008
118 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
119 * @tc.type: FUNC
120 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest008, TestSize.Level1)121 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest008, TestSize.Level1)
122 {
123 void* object = OH_ArkUI_QueryModuleInterfaceByName(ARKUI_NATIVE_ANIMATE, "");
124 EXPECT_EQ(object, nullptr);
125 }
126
127 /**
128 * @tc.name: NativeNodeNapiTest009
129 * @tc.desc: Test OH_ArkUI_QueryModuleInterfaceByName function.
130 * @tc.type: FUNC
131 */
HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest009, TestSize.Level1)132 HWTEST_F(NativeNodeNapiTest, NativeNodeNapiTest009, TestSize.Level1)
133 {
134 void* object = OH_ArkUI_QueryModuleInterfaceByName(
135 static_cast<ArkUI_NativeAPIVariantKind>(ARKUI_NATIVE_GESTURE + 1), "");
136 EXPECT_EQ(object, nullptr);
137 }
138
139 /**
140 * @tc.name: NavigationAPITest001
141 * @tc.desc: Test OH_ArkUI_GetNavigationId function.
142 * @tc.type: FUNC
143 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest001, TestSize.Level1)144 HWTEST_F(NativeNodeNapiTest, NavigationAPITest001, TestSize.Level1)
145 {
146 auto ret = OH_ArkUI_GetNavigationId(nullptr, nullptr, 0, nullptr);
147 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
148 }
149
150 /**
151 * @tc.name: NavigationAPITest002
152 * @tc.desc: Test OH_ArkUI_GetNavDestinationName function.
153 * @tc.type: FUNC
154 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest002, TestSize.Level1)155 HWTEST_F(NativeNodeNapiTest, NavigationAPITest002, TestSize.Level1)
156 {
157 auto ret = OH_ArkUI_GetNavDestinationName(nullptr, nullptr, 0, nullptr);
158 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
159 }
160
161 /**
162 * @tc.name: NavigationAPITest003
163 * @tc.desc: Test OH_ArkUI_GetNavStackLength function.
164 * @tc.type: FUNC
165 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest003, TestSize.Level1)166 HWTEST_F(NativeNodeNapiTest, NavigationAPITest003, TestSize.Level1)
167 {
168 auto ret = OH_ArkUI_GetNavStackLength(nullptr, nullptr);
169 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
170 }
171
172 /**
173 * @tc.name: NavigationAPITest004
174 * @tc.desc: Test OH_ArkUI_GetNavDestinationNameByIndex function.
175 * @tc.type: FUNC
176 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest004, TestSize.Level1)177 HWTEST_F(NativeNodeNapiTest, NavigationAPITest004, TestSize.Level1)
178 {
179 auto ret = OH_ArkUI_GetNavDestinationNameByIndex(nullptr, 0, nullptr, 0, nullptr);
180 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
181 }
182
183 /**
184 * @tc.name: NavigationAPITest005
185 * @tc.desc: Test OH_ArkUI_GetNavDestinationId function.
186 * @tc.type: FUNC
187 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest005, TestSize.Level1)188 HWTEST_F(NativeNodeNapiTest, NavigationAPITest005, TestSize.Level1)
189 {
190 auto ret = OH_ArkUI_GetNavDestinationId(nullptr, nullptr, 0, nullptr);
191 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
192 }
193
194 /**
195 * @tc.name: NavigationAPITest006
196 * @tc.desc: Test OH_ArkUI_GetNavDestinationState function.
197 * @tc.type: FUNC
198 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest006, TestSize.Level1)199 HWTEST_F(NativeNodeNapiTest, NavigationAPITest006, TestSize.Level1)
200 {
201 auto ret = OH_ArkUI_GetNavDestinationState(nullptr, nullptr);
202 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
203 }
204
205 /**
206 * @tc.name: NavigationAPITest007
207 * @tc.desc: Test OH_ArkUI_GetNavDestinationIndex function.
208 * @tc.type: FUNC
209 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest007, TestSize.Level1)210 HWTEST_F(NativeNodeNapiTest, NavigationAPITest007, TestSize.Level1)
211 {
212 auto ret = OH_ArkUI_GetNavDestinationIndex(nullptr, nullptr);
213 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
214 }
215
216 /**
217 * @tc.name: NavigationAPITest008
218 * @tc.desc: Test OH_ArkUI_GetNavDestinationParam function.
219 * @tc.type: FUNC
220 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest008, TestSize.Level1)221 HWTEST_F(NativeNodeNapiTest, NavigationAPITest008, TestSize.Level1)
222 {
223 auto ret = OH_ArkUI_GetNavDestinationParam(nullptr);
224 EXPECT_EQ(ret, nullptr);
225 }
226
227 /**
228 * @tc.name: NavigationAPITest009
229 * @tc.desc: Test OH_ArkUI_GetRouterPageIndex function.
230 * @tc.type: FUNC
231 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest009, TestSize.Level1)232 HWTEST_F(NativeNodeNapiTest, NavigationAPITest009, TestSize.Level1)
233 {
234 auto ret = OH_ArkUI_GetRouterPageIndex(nullptr, nullptr);
235 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
236 }
237
238 /**
239 * @tc.name: NavigationAPITest010
240 * @tc.desc: Test OH_ArkUI_GetRouterPageName function.
241 * @tc.type: FUNC
242 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest010, TestSize.Level1)243 HWTEST_F(NativeNodeNapiTest, NavigationAPITest010, TestSize.Level1)
244 {
245 auto ret = OH_ArkUI_GetRouterPageName(nullptr, nullptr, 0, nullptr);
246 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
247 }
248
249 /**
250 * @tc.name: NavigationAPITest011
251 * @tc.desc: Test OH_ArkUI_GetRouterPagePath function.
252 * @tc.type: FUNC
253 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest011, TestSize.Level1)254 HWTEST_F(NativeNodeNapiTest, NavigationAPITest011, TestSize.Level1)
255 {
256 auto ret = OH_ArkUI_GetRouterPagePath(nullptr, nullptr, 0, nullptr);
257 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
258 }
259
260 /**
261 * @tc.name: NavigationAPITest012
262 * @tc.desc: Test OH_ArkUI_GetRouterPageState function.
263 * @tc.type: FUNC
264 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest012, TestSize.Level1)265 HWTEST_F(NativeNodeNapiTest, NavigationAPITest012, TestSize.Level1)
266 {
267 auto ret = OH_ArkUI_GetRouterPageState(nullptr, nullptr);
268 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
269 }
270
271 /**
272 * @tc.name: NavigationAPITest013
273 * @tc.desc: Test OH_ArkUI_GetRouterPageId function.
274 * @tc.type: FUNC
275 */
HWTEST_F(NativeNodeNapiTest, NavigationAPITest013, TestSize.Level1)276 HWTEST_F(NativeNodeNapiTest, NavigationAPITest013, TestSize.Level1)
277 {
278 auto ret = OH_ArkUI_GetRouterPageId(nullptr, nullptr, 0, nullptr);
279 EXPECT_EQ(ret, ARKUI_ERROR_CODE_PARAM_INVALID);
280 }
281