Invalid flags in a RegExp literal should be an early SyntaxError
[WebKit-https.git] / JSTests / stress / function-constructor-name.js
1 function shouldBe(actual, expected) {
2     if (actual !== expected)
3         throw new Error('bad value: ' + actual);
4 }
5
6 var GeneratorFunction = function*(){}.constructor;
7 var AsyncFunction = async function(){}.constructor;
8 var AsyncGeneratorFunction = async function*(){}.constructor;
9
10 var f = Function(`return 42`);
11 shouldBe(typeof anonymous, `undefined`);
12 shouldBe(f.toString(),
13 `function anonymous() {
14 return 42
15 }`);
16
17 var gf = GeneratorFunction(`return 42`);
18 shouldBe(typeof anonymous, `undefined`);
19 shouldBe(gf.toString(),
20 `function* anonymous() {
21 return 42
22 }`);
23
24 var af = AsyncFunction(`return 42`);
25 shouldBe(typeof anonymous, `undefined`);
26 shouldBe(af.toString(),
27 `async function anonymous() {
28 return 42
29 }`);
30
31 var agf = AsyncGeneratorFunction(`return 42`);
32 shouldBe(typeof anonymous, `undefined`);
33 shouldBe(agf.toString(),
34 `async function* anonymous() {
35 return 42
36 }`);