Index: test/mjsunit/debug-exceptions.js |
diff --git a/test/mjsunit/debug-exceptions.js b/test/mjsunit/debug-exceptions.js |
index 655e535c259fe6bdf4e5bdf07589fda6ebdcde4d..1a0e222d51a63178278a6c5579836e460cec509d 100644 |
--- a/test/mjsunit/debug-exceptions.js |
+++ b/test/mjsunit/debug-exceptions.js |
@@ -67,4 +67,22 @@ assertCaught(() => { |
}); |
+// Check that an internal exception in our yield* desugaring is not observable. |
+{ |
+ uncaught = null; |
+ |
+ let iter = { |
+ next() {return {value:42, done:false}}, |
+ throw() {return {done:true}} |
+ }; |
+ let iterable = {[Symbol.iterator]() {return iter}}; |
+ function* f() { yield* iterable } |
+ |
+ let g = f(); |
+ g.next(); |
+ assertEquals({value: undefined, done: true}, g.throw()); |
+ assertNull(uncaught); // No exception event was generated. |
+} |
+ |
+ |
assertFalse(error); |