summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Frame-eval-06.js
blob: 811ea8a92611740c96c18bb798a121eda67b8c4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// frame.eval throws if frame is a generator frame that isn't currently on the stack

load(libdir + "asserts.js");

var g = newGlobal({newCompartment: true});
g.eval("function* gen(a) { debugger; yield a; }");
g.eval("function test() { debugger; }");
var dbg = new Debugger(g);
var genframe;
var hits = 0;
dbg.onDebuggerStatement = function (frame) {
    if (frame.callee.name == 'gen')
        genframe = frame;
    else
        assertThrowsInstanceOf(function () { genframe.eval("a"); }, Error);
    hits++;
};
g.eval("var it = gen(42); assertEq(it.next().value, 42); test();");
assertEq(hits, 2);