summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/class/checkreturn-for-of.js
blob: 2c06fd4ea07ac9ab9f9e4db8b45cae00664d62e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
load(libdir + "asserts.js");

var error = {};

var iter = {
  [Symbol.iterator]() { return this; },
  next() { return {done: false}; },
  return() { throw error; },
};

class C extends class {} {
  constructor() {
    super();

    for (var k of iter) {
      return 0;
    }
  }
}

function test() {
  for (var i = 0; i < 100; ++i) {
    assertThrowsValue(() => new C(), error);
  }
}

test();