• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 <cstring>
18 
19 #include "libabckit/include/c/abckit.h"
20 #include "libabckit/include/c/extensions/arkts/metadata_arkts.h"
21 #include "helpers/helpers.h"
22 #include "libabckit/include/c/metadata_core.h"
23 #include "libabckit/include/c/statuses.h"
24 
25 namespace libabckit::test {
26 
27 static auto g_impl = AbckitGetApiImpl(ABCKIT_VERSION_RELEASE_1_0_0);
28 static auto g_implI = AbckitGetInspectApiImpl(ABCKIT_VERSION_RELEASE_1_0_0);
29 static auto g_implArktsI = AbckitGetArktsInspectApiImpl(ABCKIT_VERSION_RELEASE_1_0_0);
30 
31 class LibAbcKitArkTSInspectApiCasts : public ::testing::Test {};
32 
ProcessAnnotationElement(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)33 static void ProcessAnnotationElement(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
34 {
35     bool isVisitedAny = false;
36     g_implI->functionEnumerateAnnotations(method, &isVisitedAny, [](AbckitCoreAnnotation *anno, void *data) {
37         g_implI->annotationEnumerateElements(anno, data, [](AbckitCoreAnnotationElement *annoElem, void *data) {
38             AbckitArktsAnnotationElement *annoArkTSelem =
39                 g_implArktsI->coreAnnotationElementToArktsAnnotationElement(annoElem);
40             EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
41             AbckitCoreAnnotationElement *annoElemCast =
42                 g_implArktsI->arktsAnnotationElementToCoreAnnotationElement(annoArkTSelem);
43             EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
44             EXPECT_EQ(annoElem, annoElemCast);
45             *reinterpret_cast<bool *>(data) = true;
46             return true;
47         });
48         return true;
49     });
50     ASSERT_TRUE(isVisitedAny);
51 }
52 
ProcessAnnotation(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)53 static void ProcessAnnotation(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
54 {
55     g_implI->functionEnumerateAnnotations(method, nullptr, [](AbckitCoreAnnotation *anno, void *) {
56         AbckitArktsAnnotation *annoArkTS = g_implArktsI->coreAnnotationToArktsAnnotation(anno);
57         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
58         AbckitCoreAnnotation *annoElemCast = g_implArktsI->arktsAnnotationToCoreAnnotation(annoArkTS);
59         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
60         EXPECT_EQ(anno, annoElemCast);
61         return true;
62     });
63 }
64 
ProcessAnnotationInterface(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)65 static void ProcessAnnotationInterface(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
66 {
67     AbckitCoreModule *module = g_implI->functionGetModule(method);
68     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
69     bool isVisitedAny = false;
70     g_implI->moduleEnumerateAnnotationInterfaces(
71         module, &isVisitedAny, [](AbckitCoreAnnotationInterface *annoI, void *data) {
72             AbckitArktsAnnotationInterface *annoIArkTS =
73                 g_implArktsI->coreAnnotationInterfaceToArktsAnnotationInterface(annoI);
74             EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
75             AbckitCoreAnnotationInterface *annoICast =
76                 g_implArktsI->arktsAnnotationInterfaceToCoreAnnotationInterface(annoIArkTS);
77             EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
78             EXPECT_EQ(annoI, annoICast);
79             *reinterpret_cast<bool *>(data) = true;
80             return true;
81         });
82     ASSERT_TRUE(isVisitedAny);
83 }
84 
ProcessAnnotationInterfaceField(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)85 static void ProcessAnnotationInterfaceField(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
86 {
87     AbckitCoreModule *module = g_implI->functionGetModule(method);
88     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
89     bool isVisitedAny = false;
90     g_implI->moduleEnumerateAnnotationInterfaces(
91         module, &isVisitedAny, [](AbckitCoreAnnotationInterface *annoI, void *data) {
92             g_implI->annotationInterfaceEnumerateFields(
93                 annoI, data, [](AbckitCoreAnnotationInterfaceField *annoIf, void *data) {
94                     AbckitArktsAnnotationInterfaceField *annoIfArkTS =
95                         g_implArktsI->coreAnnotationInterfaceFieldToArktsAnnotationInterfaceField(annoIf);
96                     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
97                     AbckitCoreAnnotationInterfaceField *annoIfCast =
98                         g_implArktsI->arktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField(annoIfArkTS);
99                     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
100                     EXPECT_EQ(annoIf, annoIfCast);
101                     *reinterpret_cast<bool *>(data) = true;
102                     return true;
103                 });
104             return true;
105         });
106     ASSERT_TRUE(isVisitedAny);
107 }
108 
ProcessClass(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)109 static void ProcessClass(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
110 {
111     AbckitCoreClass *klass = g_implI->functionGetParentClass(method);
112     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
113     AbckitArktsClass *klassArkTS = g_implArktsI->coreClassToArktsClass(klass);
114     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
115     AbckitCoreClass *klassCast = g_implArktsI->arktsClassToCoreClass(klassArkTS);
116     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
117     EXPECT_EQ(klass, klassCast);
118 }
119 
ProcessClassNeg(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)120 static void ProcessClassNeg(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
121 {
122     AbckitCoreClass *klass = g_implI->functionGetParentClass(method);
123     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
124     AbckitArktsClass *klassArkTS = g_implArktsI->coreClassToArktsClass(klass);
125     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_WRONG_TARGET);
126     EXPECT_EQ(klassArkTS, nullptr);
127 }
128 
ProcessMethod(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)129 static void ProcessMethod(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
130 {
131     AbckitArktsFunction *methodArkTS = g_implArktsI->coreFunctionToArktsFunction(method);
132     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
133     AbckitCoreFunction *methodCast = g_implArktsI->arktsFunctionToCoreFunction(methodArkTS);
134     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
135     EXPECT_EQ(method, methodCast);
136 }
137 
ProcessMethodNeg(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)138 static void ProcessMethodNeg(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
139 {
140     AbckitArktsFunction *methodArk = g_implArktsI->coreFunctionToArktsFunction(method);
141     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_WRONG_TARGET);
142     EXPECT_EQ(methodArk, nullptr);
143 }
144 
ProcessModule(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)145 static void ProcessModule(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
146 {
147     AbckitCoreModule *module = g_implI->functionGetModule(method);
148     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
149     AbckitArktsModule *moduleArkTS = g_implArktsI->coreModuleToArktsModule(module);
150     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
151     AbckitCoreModule *moduleCast = g_implArktsI->arktsModuleToCoreModule(moduleArkTS);
152     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
153     EXPECT_EQ(module, moduleCast);
154 }
155 
ProcessModuleNeg(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)156 static void ProcessModuleNeg(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
157 {
158     AbckitCoreModule *module = g_implI->functionGetModule(method);
159     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
160     AbckitArktsModule *moduleArkTS = g_implArktsI->coreModuleToArktsModule(module);
161     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_WRONG_TARGET);
162     EXPECT_EQ(moduleArkTS, nullptr);
163 }
164 
ProcessNamespace(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)165 static void ProcessNamespace(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
166 {
167     AbckitCoreModule *module = g_implI->functionGetModule(method);
168     bool visited = false;
169     g_implI->moduleEnumerateNamespaces(module, &visited, [](AbckitCoreNamespace *n, void *visited) {
170         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
171         AbckitArktsNamespace *namespaceArkTS = g_implArktsI->coreNamespaceToArktsNamespace(n);
172         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
173         AbckitCoreNamespace *namespaceCast = g_implArktsI->arktsNamespaceToCoreNamespace(namespaceArkTS);
174         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
175         EXPECT_EQ(n, namespaceCast);
176         *reinterpret_cast<bool *>(visited) = true;
177         return true;
178     });
179     EXPECT_TRUE(visited);
180 }
181 
ProcessImportDescriptor(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)182 static void ProcessImportDescriptor(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
183 {
184     AbckitCoreModule *module = g_implI->functionGetModule(method);
185     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
186     bool isVisitedAny = false;
187     g_implI->moduleEnumerateImports(module, &isVisitedAny, [](AbckitCoreImportDescriptor *id, void *data) {
188         AbckitArktsImportDescriptor *idArkTS = g_implArktsI->coreImportDescriptorToArktsImportDescriptor(id);
189         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
190         AbckitCoreImportDescriptor *idCast = g_implArktsI->arktsImportDescriptorToCoreImportDescriptor(idArkTS);
191         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
192         EXPECT_EQ(id, idCast);
193         *reinterpret_cast<bool *>(data) = true;
194         return true;
195     });
196     ASSERT_TRUE(isVisitedAny);
197 }
198 
ProcessImportDescriptorNeg(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)199 static void ProcessImportDescriptorNeg(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
200 {
201     AbckitCoreModule *module = g_implI->functionGetModule(method);
202     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
203     bool isVisitedAny = false;
204     g_implI->moduleEnumerateImports(module, &isVisitedAny, [](AbckitCoreImportDescriptor *id, void *data) {
205         AbckitArktsImportDescriptor *idArk = g_implArktsI->coreImportDescriptorToArktsImportDescriptor(id);
206         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_WRONG_TARGET);
207         EXPECT_EQ(idArk, nullptr);
208         *reinterpret_cast<bool *>(data) = true;
209         return true;
210     });
211     ASSERT_TRUE(isVisitedAny);
212 }
213 
ProcessExportDescriptor(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)214 static void ProcessExportDescriptor(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
215 {
216     AbckitCoreModule *module = g_implI->functionGetModule(method);
217     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
218     bool isVisitedAny = false;
219     g_implI->moduleEnumerateExports(module, &isVisitedAny, [](AbckitCoreExportDescriptor *ed, void *data) {
220         AbckitArktsExportDescriptor *edArkTS = g_implArktsI->coreExportDescriptorToArktsExportDescriptor(ed);
221         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
222         AbckitCoreExportDescriptor *edCast = g_implArktsI->arktsExportDescriptorToCoreExportDescriptor(edArkTS);
223         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
224         EXPECT_EQ(ed, edCast);
225         *reinterpret_cast<bool *>(data) = true;
226         return true;
227     });
228     ASSERT_TRUE(isVisitedAny);
229 }
230 
ProcessExportDescriptorNeg(AbckitFile *,AbckitCoreFunction * method,AbckitGraph *)231 static void ProcessExportDescriptorNeg(AbckitFile * /*file*/, AbckitCoreFunction *method, AbckitGraph * /*graph*/)
232 {
233     AbckitCoreModule *module = g_implI->functionGetModule(method);
234     EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
235     bool isVisitedAny = false;
236     g_implI->moduleEnumerateExports(module, &isVisitedAny, [](AbckitCoreExportDescriptor *ed, void *data) {
237         AbckitArktsExportDescriptor *edArkTS = g_implArktsI->coreExportDescriptorToArktsExportDescriptor(ed);
238         EXPECT_EQ(g_impl->getLastError(), ABCKIT_STATUS_WRONG_TARGET);
239         EXPECT_EQ(edArkTS, nullptr);
240         *reinterpret_cast<bool *>(data) = true;
241         return true;
242     });
243     ASSERT_TRUE(isVisitedAny);
244 }
245 
246 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsAnnotationElementToCoreAnnotationElement, abc-kind=ArkTS2,
247 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsAnnotationElementToCoreAnnotationElement)248 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsAnnotationElementToCoreAnnotationElement)
249 {
250     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
251                            ProcessAnnotationElement);
252     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
253 }
254 
255 // Test: test-kind=api, api=ArktsInspectApiImpl::coreAnnotationElementToArktsAnnotationElement, abc-kind=ArkTS2,
256 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreAnnotationElementToArktsAnnotationElement)257 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreAnnotationElementToArktsAnnotationElement)
258 {
259     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
260                            ProcessAnnotationElement);
261     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
262 }
263 
264 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsAnnotationToCoreAnnotation, abc-kind=ArkTS2, category=positive,
265 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsAnnotationToCoreAnnotation)266 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsAnnotationToCoreAnnotation)
267 {
268     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
269                            ProcessAnnotation);
270     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
271 }
272 
273 // Test: test-kind=api, api=ArktsInspectApiImpl::coreAnnotationToArktsAnnotation, abc-kind=ArkTS2, category=positive,
274 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreAnnotationToArktsAnnotation)275 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreAnnotationToArktsAnnotation)
276 {
277     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
278                            ProcessAnnotation);
279     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
280 }
281 
282 // Test: test-kind=api, api=ArktsInspectApiImpl::coreAnnotationInterfaceToArktsAnnotationInterface, abc-kind=ArkTS2,
283 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreAnnotationInterfaceToArktsAnnotationInterface)284 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreAnnotationInterfaceToArktsAnnotationInterface)
285 {
286     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
287                            ProcessAnnotationInterface);
288     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
289 }
290 
291 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsAnnotationInterfaceToCoreAnnotationInterface, abc-kind=ArkTS2,
292 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsAnnotationInterfaceToCoreAnnotationInterface)293 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsAnnotationInterfaceToCoreAnnotationInterface)
294 {
295     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
296                            ProcessAnnotationInterface);
297     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
298 }
299 
300 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField,
301 // abc-kind=ArkTS2, category=positive, extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField)302 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField)
303 {
304     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
305                            ProcessAnnotationInterfaceField);
306     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
307 }
308 
309 // Test: test-kind=api, api=ArktsInspectApiImpl::coreAnnotationInterfaceFieldToArktsAnnotationInterfaceField,
310 // abc-kind=ArkTS2, category=positive, extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreAnnotationInterfaceFieldToArktsAnnotationInterfaceField)311 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreAnnotationInterfaceFieldToArktsAnnotationInterfaceField)
312 {
313     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
314                            ProcessAnnotationInterfaceField);
315     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
316 }
317 
318 // Test: test-kind=api, api=ArktsInspectApiImpl::coreClassToArktsClass, abc-kind=ArkTS2, category=positive, extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreClassToArktsClass)319 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreClassToArktsClass)
320 {
321     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
322                            ProcessClass);
323     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
324 }
325 
326 // Test: test-kind=api, api=ArktsInspectApiImpl::coreClassToArktsClass, abc-kind=ArkTS2, category=negative
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreClassToArktsClassNeg)327 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreClassToArktsClassNeg)
328 {
329     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/js/inspect_api/api_casts/JSapi_casts.abc", "foo",
330                            ProcessClassNeg);
331     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
332 }
333 
334 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsClassToCoreClass, abc-kind=ArkTS2, category=positive, extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsClassToCoreClass)335 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsClassToCoreClass)
336 {
337     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
338                            ProcessClass);
339     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
340 }
341 
342 // Test: test-kind=api, api=ArktsInspectApiImpl::coreFunctionToArktsFunction, abc-kind=ArkTS2, category=positive,
343 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreFunctionToArktsFunction)344 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreFunctionToArktsFunction)
345 {
346     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
347                            ProcessMethod);
348     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
349 }
350 
351 // Test: test-kind=api, api=ArktsInspectApiImpl::coreFunctionToArktsFunction, abc-kind=ArkTS2, category=negative
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreFunctionToArktsFunctionNeg)352 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreFunctionToArktsFunctionNeg)
353 {
354     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/js/inspect_api/api_casts/JSapi_casts.abc", "foo",
355                            ProcessMethodNeg);
356     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
357 }
358 
359 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsFunctionToCoreFunction, abc-kind=ArkTS2, category=positive,
360 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsFunctionToCoreFunction)361 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsFunctionToCoreFunction)
362 {
363     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
364                            ProcessMethod);
365     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
366 }
367 
368 // Test: test-kind=api, api=ArktsInspectApiImpl::coreModuleToArktsModule, abc-kind=ArkTS2, category=positive,
369 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreModuleToArktsModule)370 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreModuleToArktsModule)
371 {
372     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
373                            ProcessModule);
374     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
375 }
376 
377 // Test: test-kind=api, api=ArktsInspectApiImpl::coreModuleToArktsModule, abc-kind=ArkTS2, category=negative
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreModuleToArktsModuleNeg)378 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreModuleToArktsModuleNeg)
379 {
380     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/js/inspect_api/api_casts/JSapi_casts.abc", "foo",
381                            ProcessModuleNeg);
382     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
383 }
384 
385 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsModuleToCoreModule, abc-kind=ArkTS2, category=positive,
386 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsModuleToCoreModule)387 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsModuleToCoreModule)
388 {
389     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
390                            ProcessModule);
391     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
392 }
393 
394 // Test: test-kind=api, api=ArktsInspectApiImpl::coreNamespaceToArktsNamespace, abc-kind=ArkTS2, category=positive,
395 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreNamespaceToArktsNamespace)396 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreNamespaceToArktsNamespace)
397 {
398     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
399                            ProcessNamespace);
400     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
401 }
402 
403 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsNamespaceToCoreNamespace, abc-kind=ArkTS2, category=positive,
404 // extension=c
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsNamespaceToCoreNamespace)405 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsNamespaceToCoreNamespace)
406 {
407     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
408                            ProcessNamespace);
409     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
410 }
411 
412 // Test: test-kind=api, api=ArktsInspectApiImpl::coreImportDescriptorToArktsImportDescriptor, abc-kind=ArkTS2,
413 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreImportDescriptorToArktsImportDescriptor)414 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreImportDescriptorToArktsImportDescriptor)
415 {
416     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
417                            ProcessImportDescriptor);
418     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
419 }
420 
421 // Test: test-kind=api, api=ArktsInspectApiImpl::coreImportDescriptorToArktsImportDescriptor, abc-kind=ArkTS2,
422 // category=negative
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreImportDescriptorToArktsImportDescriptorNeg)423 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreImportDescriptorToArktsImportDescriptorNeg)
424 {
425     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/js/inspect_api/api_casts/JSapi_casts.abc", "foo",
426                            ProcessImportDescriptorNeg);
427     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
428 }
429 
430 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsImportDescriptorToCoreImportDescriptor, abc-kind=ArkTS2,
431 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsImportDescriptorToCoreImportDescriptor)432 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsImportDescriptorToCoreImportDescriptor)
433 {
434     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
435                            ProcessImportDescriptor);
436     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
437 }
438 
439 // Test: test-kind=api, api=ArktsInspectApiImpl::coreExportDescriptorToArktsExportDescriptor, abc-kind=ArkTS2,
440 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreExportDescriptorToArktsExportDescriptor)441 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreExportDescriptorToArktsExportDescriptor)
442 {
443     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
444                            ProcessExportDescriptor);
445     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
446 }
447 
448 // Test: test-kind=api, api=ArktsInspectApiImpl::coreExportDescriptorToArktsExportDescriptor, abc-kind=ArkTS2,
449 // category=negative
TEST_F(LibAbcKitArkTSInspectApiCasts,CoreExportDescriptorToArktsExportDescriptorNeg)450 TEST_F(LibAbcKitArkTSInspectApiCasts, CoreExportDescriptorToArktsExportDescriptorNeg)
451 {
452     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/js/inspect_api/api_casts/JSapi_casts.abc", "foo",
453                            ProcessExportDescriptorNeg);
454     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
455 }
456 
457 // Test: test-kind=api, api=ArktsInspectApiImpl::arktsExportDescriptorToCoreExportDescriptor, abc-kind=ArkTS2,
458 // category=positive
TEST_F(LibAbcKitArkTSInspectApiCasts,ArktsExportDescriptorToCoreExportDescriptor)459 TEST_F(LibAbcKitArkTSInspectApiCasts, ArktsExportDescriptorToCoreExportDescriptor)
460 {
461     helpers::InspectMethod(ABCKIT_ABC_DIR "ut/extensions/arkts/inspect_api/api_casts/api_casts.abc", "foo",
462                            ProcessExportDescriptor);
463     ASSERT_EQ(g_impl->getLastError(), ABCKIT_STATUS_NO_ERROR);
464 }
465 
466 }  // namespace libabckit::test
467