diff options
author | Octavian Soldea <octavian.soldea@intel.com> | 2019-07-17 23:28:37 -0700 |
---|---|---|
committer | Gabriel Schulhof <gabriel.schulhof@intel.com> | 2019-07-26 15:09:04 -0700 |
commit | db1c4a7592a896053a8f791d7cc38a6de5c4a059 (patch) | |
tree | 08177d886f1a97e8db86ae232a133455aaeee0ab /test/js-native-api/test_object | |
parent | 70bb570bfb9e35e8a2295efe7277d35437235074 (diff) | |
download | android-node-v8-db1c4a7592a896053a8f791d7cc38a6de5c4a059.tar.gz android-node-v8-db1c4a7592a896053a8f791d7cc38a6de5c4a059.tar.bz2 android-node-v8-db1c4a7592a896053a8f791d7cc38a6de5c4a059.zip |
n-api: refactor a previous commit
This is a refactoring of https://github.com/nodejs/node/issues/27628
following https://github.com/nodejs/node/pull/28505.
This change factors out functions `add_last_status()` and
`add_returned_status()` so they may be reused in the tests for passing
information about the last error status and/or a returned `napi_status`
to JavaScript.
PR-URL: https://github.com/nodejs/node/pull/28848
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
Diffstat (limited to 'test/js-native-api/test_object')
-rw-r--r-- | test/js-native-api/test_object/binding.gyp | 1 | ||||
-rw-r--r-- | test/js-native-api/test_object/test.js | 24 | ||||
-rw-r--r-- | test/js-native-api/test_object/test_object.c | 213 |
3 files changed, 79 insertions, 159 deletions
diff --git a/test/js-native-api/test_object/binding.gyp b/test/js-native-api/test_object/binding.gyp index 94a4cd72fb..1cb35d974d 100644 --- a/test/js-native-api/test_object/binding.gyp +++ b/test/js-native-api/test_object/binding.gyp @@ -3,6 +3,7 @@ { "target_name": "test_object", "sources": [ + "../common.c", "../entry_point.c", "test_object.c" ] diff --git a/test/js-native-api/test_object/test.js b/test/js-native-api/test_object/test.js index b49cb04f32..33ab49bb6f 100644 --- a/test/js-native-api/test_object/test.js +++ b/test/js-native-api/test_object/test.js @@ -229,26 +229,26 @@ assert.strictEqual(newObject.test_string, 'test string'); // Verify that passing NULL to napi_set_property() results in the correct // error. assert.deepStrictEqual(test_object.TestSetProperty(), { - envIsNull: 'pass', - objectIsNull: 'pass', - keyIsNull: 'pass', - valueIsNull: 'pass' + envIsNull: 'Invalid argument', + objectIsNull: 'Invalid argument', + keyIsNull: 'Invalid argument', + valueIsNull: 'Invalid argument' }); // Verify that passing NULL to napi_has_property() results in the correct // error. assert.deepStrictEqual(test_object.TestHasProperty(), { - envIsNull: 'pass', - objectIsNull: 'pass', - keyIsNull: 'pass', - resultIsNull: 'pass' + envIsNull: 'Invalid argument', + objectIsNull: 'Invalid argument', + keyIsNull: 'Invalid argument', + resultIsNull: 'Invalid argument' }); // Verify that passing NULL to napi_get_property() results in the correct // error. assert.deepStrictEqual(test_object.TestGetProperty(), { - envIsNull: 'pass', - objectIsNull: 'pass', - keyIsNull: 'pass', - resultIsNull: 'pass' + envIsNull: 'Invalid argument', + objectIsNull: 'Invalid argument', + keyIsNull: 'Invalid argument', + resultIsNull: 'Invalid argument' }); diff --git a/test/js-native-api/test_object/test_object.c b/test/js-native-api/test_object/test_object.c index e3d2115600..db2d30c64a 100644 --- a/test/js-native-api/test_object/test_object.c +++ b/test/js-native-api/test_object/test_object.c @@ -341,8 +341,8 @@ static napi_value Unwrap(napi_env env, napi_callback_info info) { static napi_value TestSetProperty(napi_env env, napi_callback_info info) { - napi_status ret[4]; - napi_value object, key, value, prop_value; + napi_status status; + napi_value object, key, value; NAPI_CALL(env, napi_create_object(env, &object)); @@ -350,122 +350,68 @@ static napi_value TestSetProperty(napi_env env, NAPI_CALL(env, napi_create_object(env, &value)); - ret[0] = napi_set_property(NULL, object, key, value); - - ret[1] = napi_set_property(env, NULL, key, value); - - ret[2] = napi_set_property(env, object, NULL, value); - - ret[3] = napi_set_property(env, object, key, NULL); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[0] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_value)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "envIsNull", - prop_value)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[1] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_value)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "objectIsNull", - prop_value)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[2] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_value)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "keyIsNull", - prop_value)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[3] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_value)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "valueIsNull", - prop_value)); + status = napi_set_property(NULL, object, key, value); + + add_returned_status(env, + "envIsNull", + object, + "Invalid argument", + napi_invalid_arg, + status); + + napi_set_property(env, NULL, key, value); + + add_last_status(env, "objectIsNull", object); + + napi_set_property(env, object, NULL, value); + + add_last_status(env, "keyIsNull", object); + + napi_set_property(env, object, key, NULL); + + add_last_status(env, "valueIsNull", object); return object; } static napi_value TestHasProperty(napi_env env, napi_callback_info info) { - napi_status ret[4]; - napi_value object, key, prop_result; + napi_status status; + napi_value object, key; bool result; NAPI_CALL(env, napi_create_object(env, &object)); NAPI_CALL(env, napi_create_string_utf8(env, "", NAPI_AUTO_LENGTH, &key)); - ret[0] = napi_has_property(NULL, object, key, &result); - - ret[1] = napi_has_property(env, NULL, key, &result); - - ret[2] = napi_has_property(env, object, NULL, &result); - - ret[3] = napi_has_property(env, object, key, NULL); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[0] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "envIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[1] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "objectIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[2] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "keyIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[3] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "resultIsNull", - prop_result)); + status = napi_has_property(NULL, object, key, &result); + + add_returned_status(env, + "envIsNull", + object, + "Invalid argument", + napi_invalid_arg, + status); + + napi_has_property(env, NULL, key, &result); + + add_last_status(env, "objectIsNull", object); + + napi_has_property(env, object, NULL, &result); + + add_last_status(env, "keyIsNull", object); + + napi_has_property(env, object, key, NULL); + + add_last_status(env, "resultIsNull", object); return object; } static napi_value TestGetProperty(napi_env env, napi_callback_info info) { - napi_status ret[4]; - napi_value object, key, result, prop_result; + napi_status status; + napi_value object, key, result; NAPI_CALL(env, napi_create_object(env, &object)); @@ -473,53 +419,26 @@ static napi_value TestGetProperty(napi_env env, NAPI_CALL(env, napi_create_object(env, &result)); - ret[0] = napi_get_property(NULL, object, key, &result); - - ret[1] = napi_get_property(env, NULL, key, &result); - - ret[2] = napi_get_property(env, object, NULL, &result); - - ret[3] = napi_get_property(env, object, key, NULL); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[0] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "envIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[1] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "objectIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[2] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "keyIsNull", - prop_result)); - - NAPI_CALL(env, napi_create_string_utf8(env, - (ret[3] == napi_invalid_arg ? - "pass" : "fail"), - NAPI_AUTO_LENGTH, - &prop_result)); - NAPI_CALL(env, napi_set_named_property(env, - object, - "resultIsNull", - prop_result)); + status = napi_get_property(NULL, object, key, &result); + + add_returned_status(env, + "envIsNull", + object, + "Invalid argument", + napi_invalid_arg, + status); + + napi_get_property(env, NULL, key, &result); + + add_last_status(env, "objectIsNull", object); + + napi_get_property(env, object, NULL, &result); + + add_last_status(env, "keyIsNull", object); + + napi_get_property(env, object, key, NULL); + + add_last_status(env, "resultIsNull", object); return object; } |