• 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 "../../src/mock/abckit_mock.h"
17 #include "../../src/mock/mock_values.h"
18 
19 #include "../include/c/extensions/arkts/metadata_arkts.h"
20 #include "../../include/c/metadata_core.h"
21 
22 #include <cstring>
23 #include <gtest/gtest.h>
24 
25 namespace libabckit::mock::arkts_inspect_api {
26 
27 // NOLINTBEGIN(readability-identifier-naming)
28 
ArktsModuleToCoreModule(AbckitArktsModule * m)29 AbckitCoreModule *ArktsModuleToCoreModule(AbckitArktsModule *m)
30 {
31     g_calledFuncs.push(__func__);
32 
33     EXPECT_TRUE(m == DEFAULT_ARKTS_MODULE);
34     return DEFAULT_CORE_MODULE;
35 }
36 
CoreModuleToArktsModule(AbckitCoreModule * m)37 AbckitArktsModule *CoreModuleToArktsModule(AbckitCoreModule *m)
38 {
39     g_calledFuncs.push(__func__);
40 
41     EXPECT_TRUE(m == DEFAULT_CORE_MODULE);
42     return DEFAULT_ARKTS_MODULE;
43 }
44 
ArktsNamespaceToCoreNamespace(AbckitArktsNamespace * ns)45 AbckitCoreNamespace *ArktsNamespaceToCoreNamespace(AbckitArktsNamespace *ns)
46 {
47     g_calledFuncs.push(__func__);
48 
49     EXPECT_TRUE(ns == DEFAULT_NAMESPACE);
50     return DEFAULT_CORE_NAMESPACE;
51 }
52 
CoreNamespaceToArktsNamespace(AbckitCoreNamespace * ns)53 AbckitArktsNamespace *CoreNamespaceToArktsNamespace(AbckitCoreNamespace *ns)
54 {
55     g_calledFuncs.push(__func__);
56 
57     EXPECT_TRUE(ns == DEFAULT_CORE_NAMESPACE);
58     return DEFAULT_NAMESPACE;
59 }
60 
ArktsV1NamespaceGetConstructor(AbckitArktsNamespace * ns)61 AbckitArktsFunction *ArktsV1NamespaceGetConstructor(AbckitArktsNamespace *ns)
62 {
63     g_calledFuncs.push(__func__);
64 
65     EXPECT_TRUE(ns == DEFAULT_NAMESPACE);
66     return DEFAULT_ARKTS_FUNCTION;
67 }
68 
ArktsImportDescriptorToCoreImportDescriptor(AbckitArktsImportDescriptor * id)69 AbckitCoreImportDescriptor *ArktsImportDescriptorToCoreImportDescriptor(AbckitArktsImportDescriptor *id)
70 {
71     g_calledFuncs.push(__func__);
72 
73     EXPECT_TRUE(id == DEFAULT_ARKTS_IMPORT_DESCRIPTOR);
74     return DEFAULT_CORE_IMPORT_DESCRIPTOR;
75 }
76 
CoreImportDescriptorToArktsImportDescriptor(AbckitCoreImportDescriptor * id)77 AbckitArktsImportDescriptor *CoreImportDescriptorToArktsImportDescriptor(AbckitCoreImportDescriptor *id)
78 {
79     g_calledFuncs.push(__func__);
80 
81     EXPECT_TRUE(id == DEFAULT_CORE_IMPORT_DESCRIPTOR);
82     return DEFAULT_ARKTS_IMPORT_DESCRIPTOR;
83 }
84 
ArktsExportDescriptorToCoreExportDescriptor(AbckitArktsExportDescriptor * ed)85 AbckitCoreExportDescriptor *ArktsExportDescriptorToCoreExportDescriptor(AbckitArktsExportDescriptor *ed)
86 {
87     g_calledFuncs.push(__func__);
88 
89     EXPECT_TRUE(ed == DEFAULT_ARKTS_EXPORT_DESCRIPTOR);
90     return DEFAULT_CORE_EXPORT_DESCRIPTOR;
91 }
92 
CoreExportDescriptorToArktsExportDescriptor(AbckitCoreExportDescriptor * ed)93 AbckitArktsExportDescriptor *CoreExportDescriptorToArktsExportDescriptor(AbckitCoreExportDescriptor *ed)
94 {
95     g_calledFuncs.push(__func__);
96 
97     EXPECT_TRUE(ed == DEFAULT_CORE_EXPORT_DESCRIPTOR);
98     return DEFAULT_ARKTS_EXPORT_DESCRIPTOR;
99 }
100 
ArktsClassToCoreClass(AbckitArktsClass * klass)101 AbckitCoreClass *ArktsClassToCoreClass(AbckitArktsClass *klass)
102 {
103     g_calledFuncs.push(__func__);
104 
105     EXPECT_TRUE(klass == DEFAULT_ARKTS_CLASS);
106     return DEFAULT_CORE_CLASS;
107 }
108 
CoreClassToArktsClass(AbckitCoreClass * klass)109 AbckitArktsClass *CoreClassToArktsClass(AbckitCoreClass *klass)
110 {
111     g_calledFuncs.push(__func__);
112 
113     EXPECT_TRUE(klass == DEFAULT_CORE_CLASS);
114     return DEFAULT_ARKTS_CLASS;
115 }
116 
ArktsFunctionToCoreFunction(AbckitArktsFunction * function)117 AbckitCoreFunction *ArktsFunctionToCoreFunction(AbckitArktsFunction *function)
118 {
119     g_calledFuncs.push(__func__);
120 
121     EXPECT_TRUE(function == DEFAULT_ARKTS_FUNCTION);
122     return DEFAULT_CORE_FUNCTION;
123 }
124 
CoreFunctionToArktsFunction(AbckitCoreFunction * function)125 AbckitArktsFunction *CoreFunctionToArktsFunction(AbckitCoreFunction *function)
126 {
127     g_calledFuncs.push(__func__);
128 
129     EXPECT_TRUE(function == DEFAULT_CORE_FUNCTION);
130     return DEFAULT_ARKTS_FUNCTION;
131 }
132 
FunctionIsNative(AbckitArktsFunction * function)133 bool FunctionIsNative(AbckitArktsFunction *function)
134 {
135     g_calledFuncs.push(__func__);
136 
137     EXPECT_TRUE(function == DEFAULT_ARKTS_FUNCTION);
138     return DEFAULT_BOOL;
139 }
140 
ArktsAnnotationToCoreAnnotation(AbckitArktsAnnotation * anno)141 AbckitCoreAnnotation *ArktsAnnotationToCoreAnnotation(AbckitArktsAnnotation *anno)
142 {
143     g_calledFuncs.push(__func__);
144 
145     EXPECT_TRUE(anno == DEFAULT_ANNOTATION);
146     return DEFAULT_CORE_ANNOTATION;
147 }
148 
CoreAnnotationToArktsAnnotation(AbckitCoreAnnotation * anno)149 AbckitArktsAnnotation *CoreAnnotationToArktsAnnotation(AbckitCoreAnnotation *anno)
150 {
151     g_calledFuncs.push(__func__);
152 
153     EXPECT_TRUE(anno == DEFAULT_CORE_ANNOTATION);
154     return DEFAULT_ANNOTATION;
155 }
156 
ArktsAnnotationElementToCoreAnnotationElement(AbckitArktsAnnotationElement * annoElem)157 AbckitCoreAnnotationElement *ArktsAnnotationElementToCoreAnnotationElement(AbckitArktsAnnotationElement *annoElem)
158 {
159     g_calledFuncs.push(__func__);
160 
161     EXPECT_TRUE(annoElem == DEFAULT_ANNOTATION_ELEMENT);
162     return DEFAULT_CORE_ANNOTATION_ELEMENT;
163 }
164 
CoreAnnotationElementToArktsAnnotationElement(AbckitCoreAnnotationElement * annoElem)165 AbckitArktsAnnotationElement *CoreAnnotationElementToArktsAnnotationElement(AbckitCoreAnnotationElement *annoElem)
166 {
167     g_calledFuncs.push(__func__);
168 
169     EXPECT_TRUE(annoElem == DEFAULT_CORE_ANNOTATION_ELEMENT);
170     return DEFAULT_ANNOTATION_ELEMENT;
171 }
172 
ArktsAnnotationInterfaceToCoreAnnotationInterface(AbckitArktsAnnotationInterface * annoInterface)173 AbckitCoreAnnotationInterface *ArktsAnnotationInterfaceToCoreAnnotationInterface(
174     AbckitArktsAnnotationInterface *annoInterface)
175 {
176     g_calledFuncs.push(__func__);
177 
178     EXPECT_TRUE(annoInterface == DEFAULT_ANNOTATION_INTERFACE);
179     return DEFAULT_CORE_ANNOTATION_INTERFACE;
180 }
181 
CoreAnnotationInterfaceToArktsAnnotationInterface(AbckitCoreAnnotationInterface * annoInterface)182 AbckitArktsAnnotationInterface *CoreAnnotationInterfaceToArktsAnnotationInterface(
183     AbckitCoreAnnotationInterface *annoInterface)
184 {
185     g_calledFuncs.push(__func__);
186 
187     EXPECT_TRUE(annoInterface == DEFAULT_CORE_ANNOTATION_INTERFACE);
188     return DEFAULT_ANNOTATION_INTERFACE;
189 }
190 
ArktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField(AbckitArktsAnnotationInterfaceField * annoInterfaceField)191 AbckitCoreAnnotationInterfaceField *ArktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField(
192     AbckitArktsAnnotationInterfaceField *annoInterfaceField)
193 {
194     g_calledFuncs.push(__func__);
195 
196     EXPECT_TRUE(annoInterfaceField == DEFAULT_ANNOTATION_INTERFACE_FIELD);
197     return DEFAULT_CORE_ANNOTATION_INTERFACE_FIELD;
198 }
199 
CoreAnnotationInterfaceFieldToArktsAnnotationInterfaceField(AbckitCoreAnnotationInterfaceField * annoInterfaceField)200 AbckitArktsAnnotationInterfaceField *CoreAnnotationInterfaceFieldToArktsAnnotationInterfaceField(
201     AbckitCoreAnnotationInterfaceField *annoInterfaceField)
202 {
203     g_calledFuncs.push(__func__);
204 
205     EXPECT_TRUE(annoInterfaceField == DEFAULT_CORE_ANNOTATION_INTERFACE_FIELD);
206     return DEFAULT_ANNOTATION_INTERFACE_FIELD;
207 }
208 
209 AbckitArktsInspectApi g_arktsInspectApiImpl = {
210     // ========================================
211     // File
212     // ========================================
213 
214     // ========================================
215     // Module
216     // ========================================
217 
218     ArktsModuleToCoreModule, CoreModuleToArktsModule,
219 
220     /* ========================================
221      * Namespace
222      * ======================================== */
223 
224     ArktsNamespaceToCoreNamespace, CoreNamespaceToArktsNamespace, ArktsV1NamespaceGetConstructor,
225 
226     // ========================================
227     // ImportDescriptor
228     // ========================================
229 
230     ArktsImportDescriptorToCoreImportDescriptor, CoreImportDescriptorToArktsImportDescriptor,
231 
232     // ========================================
233     // ExportDescriptor
234     // ========================================
235 
236     ArktsExportDescriptorToCoreExportDescriptor, CoreExportDescriptorToArktsExportDescriptor,
237 
238     // ========================================
239     // Class
240     // ========================================
241 
242     ArktsClassToCoreClass, CoreClassToArktsClass,
243 
244     // ========================================
245     // Function
246     // ========================================
247 
248     ArktsFunctionToCoreFunction, CoreFunctionToArktsFunction, FunctionIsNative,
249 
250     // ========================================
251     // Annotation
252     // ========================================
253 
254     ArktsAnnotationToCoreAnnotation, CoreAnnotationToArktsAnnotation,
255 
256     // ========================================
257     // AnnotationElement
258     // ========================================
259 
260     ArktsAnnotationElementToCoreAnnotationElement, CoreAnnotationElementToArktsAnnotationElement,
261 
262     // ========================================
263     // AnnotationInterface
264     // ========================================
265 
266     ArktsAnnotationInterfaceToCoreAnnotationInterface, CoreAnnotationInterfaceToArktsAnnotationInterface,
267 
268     // ========================================
269     // AnnotationInterfaceField
270     // ========================================
271 
272     ArktsAnnotationInterfaceFieldToCoreAnnotationInterfaceField,
273     CoreAnnotationInterfaceFieldToArktsAnnotationInterfaceField,
274 
275     // ========================================
276     // Type
277     // ========================================
278 
279     // ========================================
280     // Value
281     // ========================================
282 
283     // ========================================
284     // String
285     // ========================================
286 
287     // ========================================
288     // LiteralArray
289     // ========================================
290 
291     // ========================================
292     // Literal
293     // ========================================
294 };
295 
296 // NOLINTEND(readability-identifier-naming)
297 
298 }  // namespace libabckit::mock::arkts_inspect_api
299 
AbckitGetMockArktsInspectApiImpl(AbckitApiVersion version)300 AbckitArktsInspectApi const *AbckitGetMockArktsInspectApiImpl([[maybe_unused]] AbckitApiVersion version)
301 {
302     return &libabckit::mock::arkts_inspect_api::g_arktsInspectApiImpl;
303 }
304