js/src/jit-test/tests/parser/yield-without-operand.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:36423f439a16
1 // yield without an operand causes a warning. See bug 885463.
2
3 load(libdir + "asserts.js");
4
5 assertWarning(() => Function("yield"), SyntaxError,
6 "yield followed by EOF should cause a warning");
7 assertWarning(() => Function("yield;"), SyntaxError,
8 "yield followed by semicolon should cause a warning");
9 assertWarning(() => Function("yield\n print('ok');"), SyntaxError,
10 "yield followed by newline should cause a warning");
11
12 assertWarning(() => eval("(function () { yield; })"), SyntaxError,
13 "yield followed by semicolon in eval code should cause a warning");
14 assertWarning(() => eval("(function () { yield })"), SyntaxError,
15 "yield followed by } in eval code should cause a warning");
16
17 assertNoWarning(() => Function("yield 0;"),
18 "yield with an operand should be fine");
19 assertNoWarning(() => Function("yield 0"),
20 "yield with an operand should be fine, even without a semicolon");
21
22 print("\npassed - all those warnings are normal and there's no real way to suppress them");

mercurial