defaults-invalid-syntax.js (928B)
1 load(libdir + "asserts.js"); 2 3 assertThrowsInstanceOf(function () { 4 eval("function f(...rest=23) {}"); 5 }, SyntaxError); 6 assertThrowsInstanceOf(function () { 7 eval("function f(a=yield 24) {}"); 8 }, SyntaxError); 9 assertThrowsInstanceOf(function () { 10 eval("function f(a={a : 19 + (yield 24).prop}) {}"); 11 }, SyntaxError); 12 assertThrowsInstanceOf(function () { 13 eval("function f(a=1,a=1) {}"); 14 }, SyntaxError); 15 assertThrowsInstanceOf(function () { 16 eval("function f(a,a=1) {}"); 17 }, SyntaxError); 18 assertThrowsInstanceOf(function () { 19 eval("function f(a=1,a) {}"); 20 }, SyntaxError); 21 assertThrowsInstanceOf(function () { 22 eval("function f(a,a,b=1) {}"); 23 }, SyntaxError); 24 assertThrowsInstanceOf(function () { 25 eval("function f(a,b=1,a=1) {}"); 26 }, SyntaxError); 27 assertThrowsInstanceOf(function () { 28 eval("function f(a=1,b=1,a=1) {}"); 29 }, SyntaxError); 30 function silly_but_okay(a=(function* () { yield 97; })) {}