summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Script-getOffsetMetadata.js
blob: 0f265ff0dc224448c8114bcf2318ada5bf049796 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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();
`);