// Stepping should always pause in a frame between two function calls.
let g = newGlobal({newCompartment: true});
g.evaluate(` class X {
constructor() { this._p = 0; }
m() { returnthis; }
get p() { returnthis._p; }
set p(value) { this._p = value; }
}
let x = new X;
function f() { return 1; } function inc(x) { return x + 1; }
`);
let dbg = Debugger(g);
// `code` is a snippet of JS that performs two JS calls. function test(code) {
let hits = 0;
let log = "";
dbg.onEnterFrame = frame => { if (hits++ === 0)
frame.onStep = () => { log += "s"; }; else
log += "E";
};
g.eval(code);
assertEq(log.includes("EE"), false, "should have received onStep between onEnterFrame events");
assertEq(log.match(/^s+Es+Es*$/) !== null, true, "should get two calls, with steps before, between, and possibly after");
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.