diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/debug/Script-getOffsetMetadata.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Script-getOffsetMetadata.js b/js/src/jit-test/tests/debug/Script-getOffsetMetadata.js new file mode 100644 index 0000000000..0f265ff0dc --- /dev/null +++ b/js/src/jit-test/tests/debug/Script-getOffsetMetadata.js @@ -0,0 +1,36 @@ +var global = newGlobal({newCompartment: true}); +var dbg = Debugger(global); +dbg.onDebuggerStatement = function(frame) { + const bps = frame.script.getPossibleBreakpoints(); + + const stepBps = []; + frame.onStep = function() { + assertOffset(this); + }; + + assertOffset(frame); + + function assertOffset(frame) { + const meta = frame.script.getOffsetMetadata(frame.offset); + + if (meta.isBreakpoint) { + assertEq(frame.offset, bps[0].offset); + const expectedData = bps.shift(); + + assertEq(meta.lineNumber, expectedData.lineNumber); + assertEq(meta.columnNumber, expectedData.columnNumber); + assertEq(meta.isStepStart, expectedData.isStepStart); + } else { + assertEq(meta.isStepStart, false); + } + }; +}; + +global.eval(` + function a() { return "str"; } + debugger; + + console.log("42" + a()); + a(); + a() + a(); +`); |