diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-04-07 18:32:03 +0200 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2019-04-10 02:52:41 +0200 |
commit | 3d6533ea02d53a11f550769c70028d00b8d2d391 (patch) | |
tree | 62e2fc06ff8aaeb70fbafb1e899e45ab3236f6c0 /test/parallel/test-vm-module-errors.js | |
parent | eb8a51a35c961fe36ec78ccb4a176e7091408ba1 (diff) | |
download | android-node-v8-3d6533ea02d53a11f550769c70028d00b8d2d391.tar.gz android-node-v8-3d6533ea02d53a11f550769c70028d00b8d2d391.tar.bz2 android-node-v8-3d6533ea02d53a11f550769c70028d00b8d2d391.zip |
test: simplify vm-module-errors test
Use `assert.rejects` to test error cases. This simplifies the test.
PR-URL: https://github.com/nodejs/node/pull/27123
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-vm-module-errors.js')
-rw-r--r-- | test/parallel/test-vm-module-errors.js | 49 |
1 files changed, 13 insertions, 36 deletions
diff --git a/test/parallel/test-vm-module-errors.js b/test/parallel/test-vm-module-errors.js index a343a542a1..c6f36c4483 100644 --- a/test/parallel/test-vm-module-errors.js +++ b/test/parallel/test-vm-module-errors.js @@ -8,26 +8,6 @@ const assert = require('assert'); const { SourceTextModule, createContext } = require('vm'); -async function expectsRejection(fn, settings) { - const validateError = common.expectsError(settings); - // Retain async context. - const storedError = new Error('Thrown from:'); - try { - await fn(); - } catch (err) { - try { - validateError(err); - } catch (validationError) { - console.error(validationError); - console.error('Original error:'); - console.error(err); - throw storedError; - } - return; - } - assert.fail('Missing expected exception'); -} - async function createEmptyLinkedModule() { const m = new SourceTextModule(''); await m.link(common.mustNotCall()); @@ -57,19 +37,19 @@ async function checkArgType() { for (const invalidLinker of [ 0, 1, undefined, null, true, 'str', {}, Symbol.iterator ]) { - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule(''); await m.link(invalidLinker); }, { code: 'ERR_INVALID_ARG_TYPE', - type: TypeError + name: 'TypeError' }); } } // Check methods/properties can only be used under a specific state. async function checkModuleState() { - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule(''); await m.link(common.mustNotCall()); assert.strictEqual(m.linkingStatus, 'linked'); @@ -78,7 +58,7 @@ async function checkModuleState() { code: 'ERR_VM_MODULE_ALREADY_LINKED' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule(''); m.link(common.mustNotCall()); assert.strictEqual(m.linkingStatus, 'linking'); @@ -94,7 +74,7 @@ async function checkModuleState() { code: 'ERR_VM_MODULE_NOT_LINKED' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule('import "foo";'); try { await m.link(common.mustCall(() => ({}))); @@ -102,7 +82,6 @@ async function checkModuleState() { assert.strictEqual(m.linkingStatus, 'errored'); m.instantiate(); } - assert.fail('Unreachable'); }, { code: 'ERR_VM_MODULE_NOT_LINKED' }); @@ -124,7 +103,7 @@ async function checkModuleState() { await m.evaluate(); } - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule(''); await m.evaluate(); }, { @@ -132,7 +111,7 @@ async function checkModuleState() { message: 'Module status must be one of instantiated, evaluated, and errored' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule(''); await m.evaluate(false); }, { @@ -141,7 +120,7 @@ async function checkModuleState() { 'Received type boolean' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = await createEmptyLinkedModule(); await m.evaluate(); }, { @@ -157,7 +136,7 @@ async function checkModuleState() { message: 'Module status must be errored' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = await createEmptyLinkedModule(); m.instantiate(); await m.evaluate(); @@ -175,7 +154,7 @@ async function checkModuleState() { message: 'Module status must not be uninstantiated or instantiating' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const m = await createEmptyLinkedModule(); m.namespace; }, { @@ -186,7 +165,7 @@ async function checkModuleState() { // Check link() fails when the returned module is not valid. async function checkLinking() { - await expectsRejection(async () => { + await assert.rejects(async () => { const m = new SourceTextModule('import "foo";'); try { await m.link(common.mustCall(() => ({}))); @@ -194,12 +173,11 @@ async function checkLinking() { assert.strictEqual(m.linkingStatus, 'errored'); throw err; } - assert.fail('Unreachable'); }, { code: 'ERR_VM_MODULE_NOT_MODULE' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const c = createContext({ a: 1 }); const foo = new SourceTextModule('', { context: c }); await foo.link(common.mustNotCall()); @@ -210,12 +188,11 @@ async function checkLinking() { assert.strictEqual(bar.linkingStatus, 'errored'); throw err; } - assert.fail('Unreachable'); }, { code: 'ERR_VM_MODULE_DIFFERENT_CONTEXT' }); - await expectsRejection(async () => { + await assert.rejects(async () => { const erroredModule = new SourceTextModule('import "foo";'); try { await erroredModule.link(common.mustCall(() => ({}))); |