nodejs/deps/v8/test/inspector/regress/regress-crbug-1195927.js

55 lines
1.5 KiB
JavaScript
Raw Permalink Normal View History

// Copyright 2021 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
const {session, contextGroup, Protocol} =
InspectorTest.start('Regression test for crbug.com/1195927');
const source = `
function foo(x) {
x = x + 1;
return x;
}
`;
const newSource = `
function foo(x) {
x = x + 2;
return x;
}
`;
InspectorTest.runAsyncTestSuite([
async function test() {
session.setupScriptMap();
await Protocol.Runtime.enable();
await Protocol.Debugger.enable();
contextGroup.addScript(source, 0, 0, 'foo.js');
const { params: { scriptId } } = await Protocol.Debugger.onceScriptParsed();
let {result} = await Protocol.Debugger.setBreakpoint({location: {
scriptId,
lineNumber: 2,
}});
InspectorTest.log('Debugger.setBreakpoint result:');
InspectorTest.logMessage(result);
const callPromise = Protocol.Runtime.evaluate({expression: 'foo(42)'});
let {params: {callFrames}} = await Protocol.Debugger.oncePaused();
InspectorTest.log('Debugger.paused call frames:');
session.logCallFrames(callFrames);
({result} = await Protocol.Debugger.setScriptSource({
scriptId,
scriptSource: newSource
}));
InspectorTest.log('Debugger.setScriptSource result:');
InspectorTest.logMessage(result);
([, {result}] = await Promise.all([Protocol.Debugger.resume(), callPromise]));
InspectorTest.log('foo(42) result:');
InspectorTest.logMessage(result);
}
]);