Skip to content

Commit

Permalink
test: fix scriptParsed event expectations
Browse files Browse the repository at this point in the history
As per Node.js docs, vm.Script instance is not bound to any context.

However, this test was expecting otherwise and depended on
implementation details which are going to change.

Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1013581

PR-URL: #21079
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
  • Loading branch information
RReverser authored and targos committed Jul 26, 2018
1 parent ef45ada commit 104953c
Showing 1 changed file with 7 additions and 27 deletions.
34 changes: 7 additions & 27 deletions test/sequential/test-inspector-scriptparsed-context.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,17 @@ const script = `
'use strict';
const assert = require('assert');
const vm = require('vm');
const { kParsingContext } = process.binding('contextify');
global.outer = true;
global.inner = false;
const context = vm.createContext({
outer: false,
inner: true
});
const script = new vm.Script("outer");
debugger;
const scriptMain = new vm.Script("outer");
debugger;
const scriptContext = new vm.Script("inner", {
[kParsingContext]: context
});
debugger;
assert.strictEqual(scriptMain.runInThisContext(), true);
assert.strictEqual(scriptMain.runInContext(context), false);
assert.strictEqual(scriptContext.runInThisContext(), false);
assert.strictEqual(scriptContext.runInContext(context), true);
assert.strictEqual(script.runInThisContext(), true);
assert.strictEqual(script.runInContext(context), false);
debugger;
vm.runInContext('inner', context);
Expand Down Expand Up @@ -64,35 +54,25 @@ async function runTests() {
await session.waitForBreakOnLine(0, '[eval]');

await session.send({ 'method': 'Runtime.enable' });
const topContext = await getContext(session);
await getContext(session);
await session.send({ 'method': 'Debugger.resume' });
const childContext = await getContext(session);
await session.waitForBreakOnLine(13, '[eval]');

console.error('[test]', 'Script associated with current context by default');
await session.send({ 'method': 'Debugger.resume' });
await checkScriptContext(session, topContext);
await session.waitForBreakOnLine(16, '[eval]');

console.error('[test]', 'Script associated with selected context');
await session.send({ 'method': 'Debugger.resume' });
await checkScriptContext(session, childContext);
await session.waitForBreakOnLine(21, '[eval]');

console.error('[test]', 'Script is unbound');
await session.send({ 'method': 'Debugger.resume' });
await session.waitForBreakOnLine(27, '[eval]');
await session.waitForBreakOnLine(17, '[eval]');

console.error('[test]', 'vm.runInContext associates script with context');
await session.send({ 'method': 'Debugger.resume' });
await checkScriptContext(session, childContext);
await session.waitForBreakOnLine(30, '[eval]');
await session.waitForBreakOnLine(20, '[eval]');

console.error('[test]', 'vm.runInNewContext associates script with context');
await session.send({ 'method': 'Debugger.resume' });
const thirdContext = await getContext(session);
await checkScriptContext(session, thirdContext);
await session.waitForBreakOnLine(33, '[eval]');
await session.waitForBreakOnLine(23, '[eval]');

console.error('[test]', 'vm.runInNewContext can contain debugger statements');
await session.send({ 'method': 'Debugger.resume' });
Expand Down

0 comments on commit 104953c

Please sign in to comment.