test: test vm.runInNewContext() filename option
The 'filename as a string' case was already being tested. This commit also exercises the 'filename as an option' case. PR-URL: https://github.com/nodejs/node/pull/27056 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gus Caplan <me@gus.host>
This commit is contained in:
parent
2c49e8b537
commit
f13733d12d
@ -72,21 +72,21 @@ global.gc();
|
|||||||
fn();
|
fn();
|
||||||
// Should not crash
|
// Should not crash
|
||||||
|
|
||||||
{
|
const filename = 'test_file.vm';
|
||||||
// Verify that providing a custom filename as a string argument works.
|
for (const arg of [filename, { filename }]) {
|
||||||
|
// Verify that providing a custom filename works.
|
||||||
const code = 'throw new Error("foo");';
|
const code = 'throw new Error("foo");';
|
||||||
const file = 'test_file.vm';
|
|
||||||
|
|
||||||
assert.throws(() => {
|
assert.throws(() => {
|
||||||
vm.runInNewContext(code, {}, file);
|
vm.runInNewContext(code, {}, arg);
|
||||||
}, (err) => {
|
}, (err) => {
|
||||||
const lines = err.stack.split('\n');
|
const lines = err.stack.split('\n');
|
||||||
|
|
||||||
assert.strictEqual(lines[0].trim(), `${file}:1`);
|
assert.strictEqual(lines[0].trim(), `${filename}:1`);
|
||||||
assert.strictEqual(lines[1].trim(), code);
|
assert.strictEqual(lines[1].trim(), code);
|
||||||
// Skip lines[2] and lines[3]. They're just a ^ and blank line.
|
// Skip lines[2] and lines[3]. They're just a ^ and blank line.
|
||||||
assert.strictEqual(lines[4].trim(), 'Error: foo');
|
assert.strictEqual(lines[4].trim(), 'Error: foo');
|
||||||
assert.strictEqual(lines[5].trim(), `at ${file}:1:7`);
|
assert.strictEqual(lines[5].trim(), `at ${filename}:1:7`);
|
||||||
// The rest of the stack is uninteresting.
|
// The rest of the stack is uninteresting.
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user