diff options
author | DavidCai <davidcai1993@yahoo.com> | 2017-03-13 19:11:35 +0300 |
---|---|---|
committer | Italo A. Casas <me@italoacasas.com> | 2017-03-20 18:24:04 +0300 |
commit | 77c69f7acee32e8896247c15d88a351c971ed6f2 (patch) | |
tree | 4f49dd8e32f0adbb72a34f40e555db1c2be00313 /test | |
parent | 7e230727fcb35616415badf0f8e1c9729ba0f61d (diff) |
lib, test: add duplicate symbol checking in E()
Add duplicate symbol checking in E() to avoid potential confusing
result. Increase coverage of internal/errors.
PR-URL: https://github.com/nodejs/node/pull/11829
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-internal-errors.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/parallel/test-internal-errors.js b/test/parallel/test-internal-errors.js index 354209fbada..014a0a7a038 100644 --- a/test/parallel/test-internal-errors.js +++ b/test/parallel/test-internal-errors.js @@ -12,6 +12,7 @@ const err1 = new errors.Error('TEST_ERROR_1', 'test'); const err2 = new errors.TypeError('TEST_ERROR_1', 'test'); const err3 = new errors.RangeError('TEST_ERROR_1', 'test'); const err4 = new errors.Error('TEST_ERROR_2', 'abc', 'xyz'); +const err5 = new errors.Error('TEST_ERROR_1'); assert(err1 instanceof Error); assert.strictEqual(err1.name, 'Error[TEST_ERROR_1]'); @@ -33,6 +34,11 @@ assert.strictEqual(err4.name, 'Error[TEST_ERROR_2]'); assert.strictEqual(err4.message, 'abc xyz'); assert.strictEqual(err4.code, 'TEST_ERROR_2'); +assert(err5 instanceof Error); +assert.strictEqual(err5.name, 'Error[TEST_ERROR_1]'); +assert.strictEqual(err5.message, 'Error for testing purposes: %s'); +assert.strictEqual(err5.code, 'TEST_ERROR_1'); + assert.throws( () => new errors.Error('TEST_FOO_KEY'), /^AssertionError: An invalid error message key was used: TEST_FOO_KEY.$/); @@ -118,3 +124,9 @@ assert.throws(() => { type: TypeError, message: /^Error for testing 2/ })); }, /AssertionError: .+ does not match \S/); + +assert.doesNotThrow(() => errors.E('TEST_ERROR_USED_SYMBOL')); +assert.throws( + () => errors.E('TEST_ERROR_USED_SYMBOL'), + /^AssertionError: Error symbol: TEST_ERROR_USED_SYMBOL was already used\.$/ +); |