Invalid flags in a RegExp literal should be an early SyntaxError
[WebKit-https.git] / JSTests / stress / generator-is-not-constructible.js
1 function shouldThrow(func, errorMessage) {
2     var errorThrown = false;
3     var error = null;
4     try {
5         func();
6     } catch (e) {
7         errorThrown = true;
8         error = e;
9     }
10     if (!errorThrown)
11         throw new Error('not thrown');
12     if (String(error) !== errorMessage)
13         throw new Error(`bad error: ${String(error)}`);
14 }
15
16 function *gen()
17 {
18 }
19
20 shouldThrow(() => {
21     new gen();
22 }, `TypeError: function is not a constructor (evaluating 'new gen()')`);
23
24 class A {
25     static *staticGen()
26     {
27     }
28
29     *gen()
30     {
31     }
32 };
33
34 shouldThrow(() => {
35     let a = new A();
36     new a.gen();
37 }, `TypeError: function is not a constructor (evaluating 'new a.gen()')`);
38
39 shouldThrow(() => {
40     new A.staticGen();
41 }, `TypeError: function is not a constructor (evaluating 'new A.staticGen()')`);