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

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:e8cf882e4ee3
1 // This was the actual bug
2 assertRaises(StopIteration, function() {
3 Iterator.prototype.next();
4 Iterator.prototype.next();
5 });
6
7 // The error should have triggered here, but was masked by a latent bug
8 assertRaises(StopIteration, function() {
9 Iterator.prototype.next();
10 });
11
12 // Found by fuzzing
13 assertRaises(StopIteration, function() {
14 (new Iterator({})).__proto__.next();
15 });
16
17
18 function assertRaises(exc, callback) {
19 var caught = false;
20 try {
21 callback();
22 } catch (e) {
23 assertEq(e instanceof StopIteration, true);
24 caught = true;
25 }
26 assertEq(caught, true);
27 }

mercurial