| Index: test/inspector/debugger/continue-to-location-target-call-frames.js
|
| diff --git a/test/inspector/debugger/continue-to-location-target-call-frames.js b/test/inspector/debugger/continue-to-location-target-call-frames.js
|
| index 6f5d8b5f00ed0b464357e09f34d68b9339694ec7..300aaaa8f992d8677197a8ba57aa5e42cf2513c3 100644
|
| --- a/test/inspector/debugger/continue-to-location-target-call-frames.js
|
| +++ b/test/inspector/debugger/continue-to-location-target-call-frames.js
|
| @@ -30,6 +30,32 @@ function topLevel() {
|
|
|
| //# sourceURL=test.js`, 7, 26);
|
|
|
| +InspectorTest.addScript(`
|
| +function foo() {
|
| + return 42;
|
| +}
|
| +
|
| +function testInDeeperFrame() {
|
| + debugger;
|
| + setTimeout(foo, 0);
|
| + callFunction(false, foo);
|
| + callFunction(true, foo);
|
| + [1].map(x => x * 2).map(foo);
|
| + callFunction(true, () => {
|
| + var a = 1;
|
| + console.log(a);
|
| + });
|
| +}
|
| +
|
| +async function callFunction(usePromise, cb) {
|
| + if (usePromise) {
|
| + Promise.resolve().then(cb);
|
| + } else {
|
| + setTimeout(cb, 0);
|
| + }
|
| +}
|
| +//# sourceURL=test-deeper-frame.js`)
|
| +
|
| InspectorTest.setupScriptMap();
|
| InspectorTest.runAsyncTestSuite([
|
| async function testAwaitAny() {
|
| @@ -127,6 +153,19 @@ InspectorTest.runAsyncTestSuite([
|
| await pausedAndDumpStack();
|
| await Protocol.Debugger.resume();
|
| Protocol.Debugger.disable();
|
| + },
|
| +
|
| + async function testRunAllDeeper() {
|
| + Protocol.Debugger.enable();
|
| + Protocol.Debugger.setAsyncCallStackDepth({ maxDepth: 128 });
|
| + const toFoo = {lineNumber: 2, columnNumber: 2};
|
| + await testInDeeperFrame({lineNumber: 7, columnNumber: 2}, toFoo);
|
| + await testInDeeperFrame({lineNumber: 8, columnNumber: 2}, toFoo);
|
| + await testInDeeperFrame({lineNumber: 9, columnNumber: 2}, toFoo);
|
| + await testInDeeperFrame({lineNumber: 10, columnNumber: 22}, toFoo);
|
| + await testInDeeperFrame({lineNumber: 11, columnNumber: 2}, {lineNumber: 12, columnNumber: 4});
|
| + await Protocol.Debugger.resume();
|
| + Protocol.Debugger.disable();
|
| }
|
| ]);
|
|
|
| @@ -137,3 +176,20 @@ async function pausedAndDumpStack() {
|
| InspectorTest.log('');
|
| return message;
|
| }
|
| +
|
| +async function testInDeeperFrame(from, to) {
|
| + Protocol.Runtime.evaluate({expression: 'testInDeeperFrame()//# sourceURL=expr.js'});
|
| + let message = await Protocol.Debugger.oncePaused();
|
| + let location = message.params.callFrames[0].location;
|
| + location.lineNumber = from.lineNumber;
|
| + location.columnNumber = from.columnNumber;
|
| + InspectorTest.log('Run test from: ' + JSON.stringify(from));
|
| + await InspectorTest.logSourceLocation(location);
|
| + Protocol.Debugger.continueToLocation({location, targetCallFrames: 'any'});
|
| + await pausedAndDumpStack();
|
| + location.lineNumber = to.lineNumber;
|
| + location.columnNumber = to.columnNumber;
|
| + Protocol.Debugger.continueToLocation({location, targetCallFrames: 'deeper'});
|
| + await pausedAndDumpStack();
|
| + await Protocol.Debugger.resume();
|
| +}
|
|
|