js/src/jit-test/tests/debug/Frame-older-01.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/js/src/jit-test/tests/debug/Frame-older-01.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,20 @@
     1.4 +// |jit-test| debug
     1.5 +// Basic call chain.
     1.6 +
     1.7 +var g = newGlobal();
     1.8 +var result = null;
     1.9 +var dbg = new Debugger(g);
    1.10 +dbg.onDebuggerStatement = function (frame) {
    1.11 +    var a = [];
    1.12 +    assertEq(frame === frame.older, false);
    1.13 +    for (; frame; frame = frame.older)
    1.14 +        a.push(frame.type === 'call' ? frame.callee.name : frame.type);
    1.15 +    a.reverse();
    1.16 +    result = a.join(", ");
    1.17 +};
    1.18 +
    1.19 +g.eval("function first() { return second(); }");
    1.20 +g.eval("function second() { return eval('third()'); }");
    1.21 +g.eval("function third() { debugger; }");
    1.22 +g.evaluate("first();");
    1.23 +assertEq(result, "global, first, second, eval, third");

mercurial