1
1
#include <js_native_api.h>
2
2
#include "../common.h"
3
3
4
+ static napi_value TestCreateFunctionParameters (napi_env env ,
5
+ napi_callback_info info ) {
6
+ napi_status ret [4 ];
7
+ napi_value result , return_value , prop_value ;
8
+
9
+
10
+ ret [0 ] = napi_create_function (NULL ,
11
+ "TrackedFunction" ,
12
+ NAPI_AUTO_LENGTH ,
13
+ TestCreateFunctionParameters ,
14
+ NULL ,
15
+ & result );
16
+
17
+ ret [1 ] = napi_create_function (env ,
18
+ NULL ,
19
+ NAPI_AUTO_LENGTH ,
20
+ TestCreateFunctionParameters ,
21
+ NULL ,
22
+ & result );
23
+
24
+ ret [2 ] = napi_create_function (env ,
25
+ "TrackedFunction" ,
26
+ NAPI_AUTO_LENGTH ,
27
+ NULL ,
28
+ NULL ,
29
+ & result );
30
+
31
+ ret [3 ] = napi_create_function (env ,
32
+ "TrackedFunction" ,
33
+ NAPI_AUTO_LENGTH ,
34
+ TestCreateFunctionParameters ,
35
+ NULL ,
36
+ NULL );
37
+
38
+ NAPI_CALL (env , napi_create_object (env , & return_value ));
39
+
40
+ NAPI_CALL (env , napi_create_string_utf8 (env ,
41
+ (ret [0 ] == napi_invalid_arg ?
42
+ "pass" : "fail" ),
43
+ NAPI_AUTO_LENGTH ,
44
+ & prop_value ));
45
+ NAPI_CALL (env , napi_set_named_property (env ,
46
+ return_value ,
47
+ "envIsNull" ,
48
+ prop_value ));
49
+
50
+ NAPI_CALL (env , napi_create_string_utf8 (env ,
51
+ (ret [1 ] == napi_ok ?
52
+ "pass" : "fail" ),
53
+ NAPI_AUTO_LENGTH ,
54
+ & prop_value ));
55
+ NAPI_CALL (env , napi_set_named_property (env ,
56
+ return_value ,
57
+ "nameIsNull" ,
58
+ prop_value ));
59
+
60
+ NAPI_CALL (env , napi_create_string_utf8 (env ,
61
+ (ret [2 ] == napi_invalid_arg ?
62
+ "pass" : "fail" ),
63
+ NAPI_AUTO_LENGTH ,
64
+ & prop_value ));
65
+ NAPI_CALL (env , napi_set_named_property (env ,
66
+ return_value ,
67
+ "cbIsNull" ,
68
+ prop_value ));
69
+
70
+ NAPI_CALL (env , napi_create_string_utf8 (env ,
71
+ (ret [3 ] == napi_invalid_arg ?
72
+ "pass" : "fail" ),
73
+ NAPI_AUTO_LENGTH ,
74
+ & prop_value ));
75
+ NAPI_CALL (env , napi_set_named_property (env ,
76
+ return_value ,
77
+ "resultIsNull" ,
78
+ prop_value ));
79
+
80
+ return return_value ;
81
+ }
82
+
4
83
static napi_value TestCallFunction (napi_env env , napi_callback_info info ) {
5
84
size_t argc = 10 ;
6
85
napi_value args [10 ];
@@ -124,6 +203,14 @@ napi_value Init(napi_env env, napi_value exports) {
124
203
NULL ,
125
204
& fn4 ));
126
205
206
+ napi_value fn5 ;
207
+ NAPI_CALL (env , napi_create_function (env ,
208
+ "TestCreateFunctionParameters" ,
209
+ NAPI_AUTO_LENGTH ,
210
+ TestCreateFunctionParameters ,
211
+ NULL ,
212
+ & fn5 ));
213
+
127
214
NAPI_CALL (env , napi_set_named_property (env , exports , "TestCall" , fn1 ));
128
215
NAPI_CALL (env , napi_set_named_property (env , exports , "TestName" , fn2 ));
129
216
NAPI_CALL (env , napi_set_named_property (env , exports , "TestNameShort" , fn3 ));
@@ -132,6 +219,11 @@ napi_value Init(napi_env env, napi_value exports) {
132
219
"MakeTrackedFunction" ,
133
220
fn4 ));
134
221
222
+ NAPI_CALL (env , napi_set_named_property (env ,
223
+ exports ,
224
+ "TestCreateFunctionParameters" ,
225
+ fn5 ));
226
+
135
227
return exports ;
136
228
}
137
229
EXTERN_C_END
0 commit comments