summaryrefslogtreecommitdiff
path: root/test/parallel/test-vm-module-errors.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2019-04-07 18:32:03 +0200
committerRuben Bridgewater <ruben@bridgewater.de>2019-04-10 02:52:41 +0200
commit3d6533ea02d53a11f550769c70028d00b8d2d391 (patch)
tree62e2fc06ff8aaeb70fbafb1e899e45ab3236f6c0 /test/parallel/test-vm-module-errors.js
parenteb8a51a35c961fe36ec78ccb4a176e7091408ba1 (diff)
downloadandroid-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.js49
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(() => ({})));