From 188af9547facaec62a2f7b3b2bdcbf3f16bdd05f Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Sun, 1 Apr 2018 10:15:37 +0200 Subject: [PATCH] test: check all properties in common.expectsError This makes sure all properties that are meant to be checked will actually be tested for. PR-URL: https://github.com/nodejs/node/pull/19722 Reviewed-By: Weijia Wang Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat --- test/common/index.js | 23 ++++++++++------------- test/parallel/test-assert-fail.js | 5 +---- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/test/common/index.js b/test/common/index.js index 54b146814a453a..2c573a86510aed 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -681,7 +681,6 @@ exports.expectsError = function expectsError(fn, settings, exact) { fn = undefined; } function innerFn(error) { - assert.strictEqual(error.code, settings.code); if ('type' in settings) { const type = settings.type; if (type !== Error && !Error.isPrototypeOf(type)) { @@ -704,18 +703,16 @@ exports.expectsError = function expectsError(fn, settings, exact) { `${error.message} does not match ${message}`); } } - if ('name' in settings) { - assert.strictEqual(error.name, settings.name); - } - if (error.constructor.name === 'AssertionError') { - ['generatedMessage', 'actual', 'expected', 'operator'].forEach((key) => { - if (key in settings) { - const actual = error[key]; - const expected = settings[key]; - assert.strictEqual(actual, expected, - `${key}: expected ${expected}, not ${actual}`); - } - }); + + // Check all error properties. + const keys = Object.keys(settings); + for (const key of keys) { + if (key === 'message' || key === 'type') + continue; + const actual = error[key]; + const expected = settings[key]; + assert.strictEqual(actual, expected, + `${key}: expected ${expected}, not ${actual}`); } return true; } diff --git a/test/parallel/test-assert-fail.js b/test/parallel/test-assert-fail.js index bb8db335790785..e96ee12cb4fd55 100644 --- a/test/parallel/test-assert-fail.js +++ b/test/parallel/test-assert-fail.js @@ -70,10 +70,7 @@ common.expectsError(() => { assert.fail(typeof 1, 'object', new TypeError('another custom message')); }, { type: TypeError, - message: 'another custom message', - operator: undefined, - actual: 'number', - expected: 'object' + message: 'another custom message' }); // No third arg (but a fourth arg)