52 lines
1.3 KiB
JavaScript
52 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
/*
|
|
* Check that is possible to step into both the inner and outer function
|
|
* calls.
|
|
*/
|
|
|
|
add_task(
|
|
threadFrontTest(async ({ commands, threadFront }) => {
|
|
dumpn("Evaluating test code and waiting for first debugger statement");
|
|
|
|
commands.scriptCommand.execute(`(function () {
|
|
async function f() {
|
|
const p = Promise.resolve(43);
|
|
await p;
|
|
return p;
|
|
}
|
|
|
|
function call_f() {
|
|
Promise.resolve(42).then(forty_two => {
|
|
return forty_two;
|
|
});
|
|
|
|
f().then(v => {
|
|
return v;
|
|
});
|
|
}
|
|
debugger;
|
|
call_f();
|
|
})()`);
|
|
|
|
const packet = await waitForEvent(threadFront, "paused");
|
|
const location = {
|
|
sourceId: packet.frame.where.actor,
|
|
line: 4,
|
|
column: 10,
|
|
};
|
|
|
|
await threadFront.setBreakpoint(location, {});
|
|
|
|
const packet2 = await resumeAndWaitForPause(threadFront);
|
|
Assert.equal(packet2.frame.where.line, 4, "landed at await");
|
|
|
|
const packet3 = await stepIn(threadFront);
|
|
Assert.equal(packet3.frame.where.line, 5, "step to the next line");
|
|
|
|
await threadFront.resume();
|
|
})
|
|
);
|