| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ffc7a00 commit e6b3bfe
7 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,51 @@ | |||
| 1 | + #include <js_native_api.h> | ||
| 2 | + #include "common.h" | ||
| 3 | + | ||
| 4 | + #include <stdio.h> | ||
| 5 | + | ||
| 6 | + void add_returned_status(napi_env env, | ||
| 7 | + const char* key, | ||
| 8 | + napi_value object, | ||
| 9 | + char* expected_message, | ||
| 10 | + napi_status expected_status, | ||
| 11 | + napi_status actual_status) { | ||
| 12 | + | ||
| 13 | + char napi_message_string[100] = ""; | ||
| 14 | + napi_value prop_value; | ||
| 15 | + | ||
| 16 | + if (actual_status != expected_status) { | ||
| 17 | + snprintf(napi_message_string, sizeof(napi_message_string), "Invalid status [%d]", actual_status); | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + NAPI_CALL_RETURN_VOID(env, | ||
| 21 | + napi_create_string_utf8( | ||
| 22 | + env, | ||
| 23 | + (actual_status == expected_status ? | ||
| 24 | + expected_message : | ||
| 25 | + napi_message_string), | ||
| 26 | + NAPI_AUTO_LENGTH, | ||
| 27 | + &prop_value)); | ||
| 28 | + NAPI_CALL_RETURN_VOID(env, | ||
| 29 | + napi_set_named_property(env, | ||
| 30 | + object, | ||
| 31 | + key, | ||
| 32 | + prop_value)); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | + void add_last_status(napi_env env, const char* key, napi_value return_value) { | ||
| 36 | + napi_value prop_value; | ||
| 37 | + const napi_extended_error_info* p_last_error; | ||
| 38 | + NAPI_CALL_RETURN_VOID(env, napi_get_last_error_info(env, &p_last_error)); | ||
| 39 | + | ||
| 40 | + NAPI_CALL_RETURN_VOID(env, | ||
| 41 | + napi_create_string_utf8(env, | ||
| 42 | + (p_last_error->error_message == NULL ? | ||
| 43 | + "napi_ok" : | ||
| 44 | + p_last_error->error_message), | ||
| 45 | + NAPI_AUTO_LENGTH, | ||
| 46 | + &prop_value)); | ||
| 47 | + NAPI_CALL_RETURN_VOID(env, napi_set_named_property(env, | ||
| 48 | + return_value, | ||
| 49 | + key, | ||
| 50 | + prop_value)); | ||
| 51 | + } | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,3 +1,5 @@ | |||
| 1 | + #include <js_native_api.h> | ||
| 2 | + | ||
| 1 | 3 | // Empty value so that macros here are able to return NULL or void | |
| 2 | 4 | #define NAPI_RETVAL_NOTHING // Intentionally blank #define | |
| 3 | 5 | ||
@@ -58,3 +60,12 @@ | |||
| 58 | 60 | ||
| 59 | 61 | #define DECLARE_NAPI_GETTER(name, func) \ | |
| 60 | 62 | { (name), NULL, NULL, (func), NULL, NULL, napi_default, NULL } | |
| 63 | + | ||
| 64 | + void add_returned_status(napi_env env, | ||
| 65 | + const char* key, | ||
| 66 | + napi_value object, | ||
| 67 | + char* expected_message, | ||
| 68 | + napi_status expected_status, | ||
| 69 | + napi_status actual_status); | ||
| 70 | + | ||
| 71 | + void add_last_status(napi_env env, const char* key, napi_value return_value); | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,6 +3,7 @@ | |||
| 3 | 3 | { | |
| 4 | 4 | "target_name": "test_constructor", | |
| 5 | 5 | "sources": [ | |
| 6 | + "../common.c", | ||
| 6 | 7 | "../entry_point.c", | |
| 7 | 8 | "test_constructor.c" | |
| 8 | 9 | ] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,35 +1,13 @@ | |||
| 1 | 1 | #include <js_native_api.h> | |
| 2 | 2 | #include "../common.h" | |
| 3 | 3 | ||
| 4 | - #include <stdio.h> | ||
| 5 | - | ||
| 6 | 4 | static double value_ = 1; | |
| 7 | 5 | static double static_value_ = 10; | |
| 8 | 6 | ||
| 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 | - | ||
| 28 | 7 | static napi_value TestDefineClass(napi_env env, | |
| 29 | 8 | napi_callback_info info) { | |
| 30 | 9 | napi_status status; | |
| 31 | - napi_value result, return_value, prop_value; | ||
| 32 | - char p_napi_message[100] = ""; | ||
| 10 | + napi_value result, return_value; | ||
| 33 | 11 | ||
| 34 | 12 | napi_property_descriptor property_descriptor = { | |
| 35 | 13 | "TestDefineClass", | |
@@ -52,20 +30,12 @@ static napi_value TestDefineClass(napi_env env, | |||
| 52 | 30 | &property_descriptor, | |
| 53 | 31 | &result); | |
| 54 | 32 | ||
| 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, | ||
| 34 | + "envIsNull", | ||
| 35 | + return_value, | ||
| 36 | + "Invalid argument", | ||
| 37 | + napi_invalid_arg, | ||
| 38 | + status); | ||
| 69 | 39 | ||
| 70 | 40 | napi_define_class(env, | |
| 71 | 41 | NULL, | |
@@ -76,7 +46,7 @@ static napi_value TestDefineClass(napi_env env, | |||
| 76 | 46 | &property_descriptor, | |
| 77 | 47 | &result); | |
| 78 | 48 | ||
| 79 | - add_named_status(env, "nameIsNull", return_value); | ||
| 49 | + add_last_status(env, "nameIsNull", return_value); | ||
| 80 | 50 | ||
| 81 | 51 | napi_define_class(env, | |
| 82 | 52 | "TrackedFunction", | |
@@ -87,7 +57,7 @@ static napi_value TestDefineClass(napi_env env, | |||
| 87 | 57 | &property_descriptor, | |
| 88 | 58 | &result); | |
| 89 | 59 | ||
| 90 | - add_named_status(env, "cbIsNull", return_value); | ||
| 60 | + add_last_status(env, "cbIsNull", return_value); | ||
| 91 | 61 | ||
| 92 | 62 | napi_define_class(env, | |
| 93 | 63 | "TrackedFunction", | |
@@ -98,7 +68,7 @@ static napi_value TestDefineClass(napi_env env, | |||
| 98 | 68 | &property_descriptor, | |
| 99 | 69 | &result); | |
| 100 | 70 | ||
| 101 | - add_named_status(env, "cbDataIsNull", return_value); | ||
| 71 | + add_last_status(env, "cbDataIsNull", return_value); | ||
| 102 | 72 | ||
| 103 | 73 | napi_define_class(env, | |
| 104 | 74 | "TrackedFunction", | |
@@ -109,7 +79,7 @@ static napi_value TestDefineClass(napi_env env, | |||
| 109 | 79 | NULL, | |
| 110 | 80 | &result); | |
| 111 | 81 | ||
| 112 | - add_named_status(env, "propertiesIsNull", return_value); | ||
| 82 | + add_last_status(env, "propertiesIsNull", return_value); | ||
| 113 | 83 | ||
| 114 | 84 | ||
| 115 | 85 | napi_define_class(env, | |
@@ -121,7 +91,7 @@ static napi_value TestDefineClass(napi_env env, | |||
| 121 | 91 | &property_descriptor, | |
| 122 | 92 | NULL); | |
| 123 | 93 | ||
| 124 | - add_named_status(env, "resultIsNull", return_value); | ||
| 94 | + add_last_status(env, "resultIsNull", return_value); | ||
| 125 | 95 | ||
| 126 | 96 | return return_value; | |
| 127 | 97 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -3,6 +3,7 @@ | |||
| 3 | 3 | { | |
| 4 | 4 | "target_name": "test_object", | |
| 5 | 5 | "sources": [ | |
| 6 | + "../common.c", | ||
| 6 | 7 | "../entry_point.c", | |
| 7 | 8 | "test_object.c" | |
| 8 | 9 | ] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -229,26 +229,26 @@ assert.strictEqual(newObject.test_string, 'test string'); | |||
| 229 | 229 | // Verify that passing NULL to napi_set_property() results in the correct | |
| 230 | 230 | // error. | |
| 231 | 231 | assert.deepStrictEqual(test_object.TestSetProperty(), { | |
| 232 | - envIsNull: 'pass', | ||
| 233 | - objectIsNull: 'pass', | ||
| 234 | - keyIsNull: 'pass', | ||
| 235 | - valueIsNull: 'pass' | ||
| 232 | + envIsNull: 'Invalid argument', | ||
| 233 | + objectIsNull: 'Invalid argument', | ||
| 234 | + keyIsNull: 'Invalid argument', | ||
| 235 | + valueIsNull: 'Invalid argument' | ||
| 236 | 236 | }); | |
| 237 | 237 | ||
| 238 | 238 | // Verify that passing NULL to napi_has_property() results in the correct | |
| 239 | 239 | // error. | |
| 240 | 240 | assert.deepStrictEqual(test_object.TestHasProperty(), { | |
| 241 | - envIsNull: 'pass', | ||
| 242 | - objectIsNull: 'pass', | ||
| 243 | - keyIsNull: 'pass', | ||
| 244 | - resultIsNull: 'pass' | ||
| 241 | + envIsNull: 'Invalid argument', | ||
| 242 | + objectIsNull: 'Invalid argument', | ||
| 243 | + keyIsNull: 'Invalid argument', | ||
| 244 | + resultIsNull: 'Invalid argument' | ||
| 245 | 245 | }); | |
| 246 | 246 | ||
| 247 | 247 | // Verify that passing NULL to napi_get_property() results in the correct | |
| 248 | 248 | // error. | |
| 249 | 249 | assert.deepStrictEqual(test_object.TestGetProperty(), { | |
| 250 | - envIsNull: 'pass', | ||
| 251 | - objectIsNull: 'pass', | ||
| 252 | - keyIsNull: 'pass', | ||
| 253 | - resultIsNull: 'pass' | ||
| 250 | + envIsNull: 'Invalid argument', | ||
| 251 | + objectIsNull: 'Invalid argument', | ||
| 252 | + keyIsNull: 'Invalid argument', | ||
| 253 | + resultIsNull: 'Invalid argument' | ||
| 254 | 254 | }); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments