test: add unhandled rejection guard

Add an unhandled rejection function in
addons-napi/test_promise/test.js. Also, add a
rejection handler to catch the unhandled rejection
after introducing the guard and test the reason
code.

PR-URL: https://github.com/nodejs/node/pull/17275
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
babygoat 2017-11-23 19:44:20 +08:00 committed by Ruben Bridgewater
parent dc925400d7
commit ef49f55e93
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762

View File

@ -7,6 +7,8 @@ const common = require('../../common');
const assert = require('assert');
const test_promise = require(`./build/${common.buildType}/test_promise`);
common.crashOnUnhandledRejection();
// A resolution
{
const expected_result = 42;
@ -44,7 +46,14 @@ const test_promise = require(`./build/${common.buildType}/test_promise`);
}
assert.strictEqual(test_promise.isPromise(test_promise.createPromise()), true);
assert.strictEqual(test_promise.isPromise(Promise.reject(-1)), true);
const rejectPromise = Promise.reject(-1);
const expected_reason = -1;
assert.strictEqual(test_promise.isPromise(rejectPromise), true);
rejectPromise.catch((reason) => {
assert.strictEqual(reason, expected_reason);
});
assert.strictEqual(test_promise.isPromise(2.4), false);
assert.strictEqual(test_promise.isPromise('I promise!'), false);
assert.strictEqual(test_promise.isPromise(undefined), false);