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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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  */
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