11#include <js_native_api.h>
22#include "../common.h"
33
4- #include <stdio.h>
5-
64static double value_ = 1 ;
75static double static_value_ = 10 ;
86
9- static void
10- add_named_status (napi_env env , const char * key , napi_value return_value ) {
11- napi_value prop_value ;
12- const napi_extended_error_info * p_last_error ;
13- NAPI_CALL_RETURN_VOID (env , napi_get_last_error_info (env , & p_last_error ));
14-
15- NAPI_CALL_RETURN_VOID (env ,
16- napi_create_string_utf8 (env ,
17- (p_last_error -> error_message == NULL ?
18- "napi_ok" :
19- p_last_error -> error_message ),
20- NAPI_AUTO_LENGTH ,
21- & prop_value ));
22- NAPI_CALL_RETURN_VOID (env , napi_set_named_property (env ,
23- return_value ,
24- key ,
25- prop_value ));
26- }
27-
287static napi_value TestDefineClass (napi_env env ,
298 napi_callback_info info ) {
309 napi_status status ;
31- napi_value result , return_value , prop_value ;
32- char p_napi_message [100 ] = "" ;
10+ napi_value result , return_value ;
3311
3412 napi_property_descriptor property_descriptor = {
3513 "TestDefineClass" ,
@@ -52,20 +30,7 @@ static napi_value TestDefineClass(napi_env env,
5230 & property_descriptor ,
5331 & result );
5432
55- if (status == napi_invalid_arg ) {
56- snprintf (p_napi_message , 99 , "Invalid argument" );
57- } else {
58- snprintf (p_napi_message , 99 , "Invalid status [%d]" , status );
59- }
60-
61- NAPI_CALL (env , napi_create_string_utf8 (env ,
62- p_napi_message ,
63- NAPI_AUTO_LENGTH ,
64- & prop_value ));
65- NAPI_CALL (env , napi_set_named_property (env ,
66- return_value ,
67- "envIsNull" ,
68- prop_value ));
33+ add_returned_status (env , "envIsNull" , return_value , napi_invalid_arg , status );
6934
7035 napi_define_class (env ,
7136 NULL ,
@@ -76,7 +41,7 @@ static napi_value TestDefineClass(napi_env env,
7641 & property_descriptor ,
7742 & result );
7843
79- add_named_status (env , "nameIsNull" , return_value );
44+ add_last_status (env , "nameIsNull" , return_value );
8045
8146 napi_define_class (env ,
8247 "TrackedFunction" ,
@@ -87,7 +52,7 @@ static napi_value TestDefineClass(napi_env env,
8752 & property_descriptor ,
8853 & result );
8954
90- add_named_status (env , "cbIsNull" , return_value );
55+ add_last_status (env , "cbIsNull" , return_value );
9156
9257 napi_define_class (env ,
9358 "TrackedFunction" ,
@@ -98,7 +63,7 @@ static napi_value TestDefineClass(napi_env env,
9863 & property_descriptor ,
9964 & result );
10065
101- add_named_status (env , "cbDataIsNull" , return_value );
66+ add_last_status (env , "cbDataIsNull" , return_value );
10267
10368 napi_define_class (env ,
10469 "TrackedFunction" ,
@@ -109,7 +74,7 @@ static napi_value TestDefineClass(napi_env env,
10974 NULL ,
11075 & result );
11176
112- add_named_status (env , "propertiesIsNull" , return_value );
77+ add_last_status (env , "propertiesIsNull" , return_value );
11378
11479
11580 napi_define_class (env ,
@@ -121,7 +86,7 @@ static napi_value TestDefineClass(napi_env env,
12186 & property_descriptor ,
12287 NULL );
12388
124- add_named_status (env , "resultIsNull" , return_value );
89+ add_last_status (env , "resultIsNull" , return_value );
12590
12691 return return_value ;
12792}
0 commit comments