diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/onEnterFrame-generator-06.js')
-rw-r--r-- | js/src/jit-test/tests/debug/onEnterFrame-generator-06.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/onEnterFrame-generator-06.js b/js/src/jit-test/tests/debug/onEnterFrame-generator-06.js new file mode 100644 index 0000000000..a19fdf7787 --- /dev/null +++ b/js/src/jit-test/tests/debug/onEnterFrame-generator-06.js @@ -0,0 +1,24 @@ +// Bug 1561935. Test interaction between debug traps for step mode and +// DebugAfterYield. + +let g = newGlobal({newCompartment: true}); +g.eval('function* f() { yield 1; yield 2; }'); +let dbg = Debugger(g); +let genObj = null; +let hits = 0; +dbg.onEnterFrame = frame => { + // The first time onEnterFrame fires, there is no generator object, so + // there's nothing to test. The generator object doesn't exist until + // JSOP_GENERATOR is reached, right before the initial yield. + if (genObj === null) { + // Trigger step mode. + frame.onStep = function() {}; + } else { + dbg.removeDebuggee(g); + dbg.addDebuggee(g); + hits++; + } +}; +genObj = g.f(); +for (let x of genObj) {} +assertEq(hits, 3); |