summaryrefslogtreecommitdiff
path: root/test/js-native-api/test_object
diff options
context:
space:
mode:
authorOctavian Soldea <octavian.soldea@intel.com>2019-07-17 23:28:37 -0700
committerGabriel Schulhof <gabriel.schulhof@intel.com>2019-07-26 15:09:04 -0700
commitdb1c4a7592a896053a8f791d7cc38a6de5c4a059 (patch)
tree08177d886f1a97e8db86ae232a133455aaeee0ab /test/js-native-api/test_object
parent70bb570bfb9e35e8a2295efe7277d35437235074 (diff)
downloadandroid-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.gyp1
-rw-r--r--test/js-native-api/test_object/test.js24
-rw-r--r--test/js-native-api/test_object/test_object.c213
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;
}