js/src/jit-test/tests/basic/testErrorInFinalizerCalledWhileUnwinding.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:067e5269c40a
1 var finalizerRun = false;
2 var caught = false;
3
4 function foo(arr) {
5 finalizerRun = true;
6 return not_defined;
7 }
8
9 function gen() {
10 try {
11 yield 1;
12 } finally {
13 foo();
14 }
15 }
16
17 function test() {
18 var i_have_locals;
19 for (i in gen()) {
20 "this won't work"();
21 }
22 }
23
24 try {
25 test();
26 } catch(e) {
27 caught = true;
28 assertEq(''+e, "ReferenceError: not_defined is not defined");
29 }
30
31 assertEq(finalizerRun, true);
32 assertEq(caught, true);

mercurial