From 91c0d4dfea1579f3fe50ceead76d31cbc3eb912b Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 14 Feb 2017 10:35:27 -0800 Subject: [PATCH] test: refactor common.expectsError() * Report values in assertions. * Strict equality match if message is a string. * instanceof/typeof instead of deprecated util.isRegExp() --- test/common.js | 12 +++++++----- test/parallel/test-internal-errors.js | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test/common.js b/test/common.js index 5f7dc253736e8d..e044b771977a8a 100644 --- a/test/common.js +++ b/test/common.js @@ -622,11 +622,13 @@ exports.expectsError = function expectsError(code, type, message) { return function(error) { assert.strictEqual(error.code, code); if (type !== undefined) - assert(error instanceof type, 'error is not the expected type'); - if (message !== undefined) { - if (!util.isRegExp(message)) - message = new RegExp(String(message)); - assert(message.test(error.message), 'error.message does not match'); + assert(error instanceof type, + `${error} is not the expected type ${type}`); + if (message instanceof RegExp) { + assert(message.test(error.message), + `${error.message} does not match ${message}`); + } else if (typeof message === 'string') { + assert.strictEqual(error.message, message); } return true; }; diff --git a/test/parallel/test-internal-errors.js b/test/parallel/test-internal-errors.js index 6844ce539ee004..526e6befaf89e8 100644 --- a/test/parallel/test-internal-errors.js +++ b/test/parallel/test-internal-errors.js @@ -107,10 +107,10 @@ assert.throws(() => { assert.throws(() => { throw new errors.TypeError('TEST_ERROR_1', 'a'); }, common.expectsError('TEST_ERROR_1', RangeError)); -}, /^AssertionError: error is not the expected type/); +}, /^AssertionError: .+ is not the expected type \S/); assert.throws(() => { assert.throws(() => { throw new errors.TypeError('TEST_ERROR_1', 'a'); }, common.expectsError('TEST_ERROR_1', TypeError, /^Error for testing 2/)); -}, /^AssertionError: error.message does not match/); +}, /AssertionError: .+ does not match \S/);