summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/resumption-06.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/resumption-06.js')
-rw-r--r--js/src/jit-test/tests/debug/resumption-06.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/resumption-06.js b/js/src/jit-test/tests/debug/resumption-06.js
new file mode 100644
index 000000000..61e63f8ac
--- /dev/null
+++ b/js/src/jit-test/tests/debug/resumption-06.js
@@ -0,0 +1,21 @@
+// |jit-test| error: already executing generator
+// Forced return from a star generator frame.
+
+load(libdir + 'asserts.js')
+load(libdir + 'iteration.js')
+
+var g = newGlobal();
+g.debuggeeGlobal = this;
+g.eval("var dbg = new Debugger(debuggeeGlobal);" +
+ "dbg.onDebuggerStatement = function (frame) { return { return: frame.eval(\"({ done: true, value: '!' })\").return }; };");
+
+function* gen() {
+ yield '1';
+ debugger; // Force return here. The value is ignored.
+ yield '2';
+}
+var iter = gen();
+assertIteratorNext(iter, '1');
+assertIteratorDone(iter, '!');
+iter.next();
+assertEq(0, 1);