v8/test/inspector/debugger/restart-frame/restart-top-frame-local-variables.js
Simon Zünd 29c4cf0e3c [inspector] Move restart-frame test helpers into protocol-test.js
R=bmeurer@chromium.org

Bug: chromium:1303521
Change-Id: Iff7247fda94037ff4f9d37f334d386eb4e63ce62
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3595819
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Simon Zünd <szuend@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#80038}
2022-04-20 08:02:34 +00:00

53 lines
1.8 KiB
JavaScript

// Copyright 2022 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, Protocol} =
InspectorTest.start('Checks that after restarting the top frame, local variables are reset');
session.setupScriptMap();
const source = `
function foo() {
var x = 'some var';
const y = 'some const';
let z = 'some let';
debugger;
}
foo();
//# sourceURL=testRestartFrame.js`;
(async () => {
await Protocol.Debugger.enable();
const { callFrames } = await InspectorTest.evaluateAndWaitForPause(source);
let { callFrameId } = callFrames[0];
InspectorTest.log('Evaluating x:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'x' }));
InspectorTest.log('Evaluating y:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'y' }));
InspectorTest.log('Evaluating z:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'z' }));
const callFramesAfter = await InspectorTest.restartFrameAndWaitForPause(callFrames, 0);
({ callFrameId } = callFramesAfter[0]);
InspectorTest.log('Evaluating x:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'x' }));
InspectorTest.log('Evaluating y:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'y' }));
InspectorTest.log('Evaluating z:');
InspectorTest.logMessage(await Protocol.Debugger.evaluateOnCallFrame({ callFrameId, expression: 'z' }));
Protocol.Debugger.resume(); // Resuming hits the 'debugger' stmt again.
await Protocol.Debugger.oncePaused();
await Protocol.Debugger.resume();
InspectorTest.completeTest();
})();