diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Script-getAllColumnOffsets-06.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Script-getAllColumnOffsets-06.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-06.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-06.js new file mode 100644 index 000000000..20b49add8 --- /dev/null +++ b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-06.js @@ -0,0 +1,28 @@ +// getColumnOffsets correctly places function calls. + +var global = newGlobal(); +Debugger(global).onDebuggerStatement = function (frame) { + var script = frame.eval("f").return.script; + script.getAllColumnOffsets().forEach(function (offset) { + script.setBreakpoint(offset.offset, { + hit: function (frame) { + assertEq(offset.lineNumber, 1); + global.log += offset.columnNumber + " "; + } + }); + }); +}; + +global.log = ""; +global.eval("function ppppp() { return 1; }"); +// 1 2 3 4 +// 01234567890123456789012345678901234567890123456789 +global.eval("function f(){ 1 && ppppp(ppppp()) && new Error() } debugger;"); +global.f(); + +// 14 - Enter the function body +// 25 - Inner print() +// 19 - Outer print() +// 37 - new Error() +// 49 - Exit the function body +assertEq(global.log, "14 25 19 37 49 "); |