blob: 6be66ee0c17e0bfda3e15e9c41a191be5e1c2719 [file] [log] [blame]
var caught = false;
try {
new Function(")");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected expression, got ')'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("...;");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected rest argument name, got ';'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("...a;");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected closing parenthesis, got ';'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("...a);");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected '=>' after argument list, got ';'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("...a) @");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected '=>' after argument list, got '@'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("(if)");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected expression, got keyword 'if'") == -1, false);
caught = true;
}
assertEq(caught, true);
caught = false;
try {
new Function("(");
} catch (e) {
assertEq(e instanceof SyntaxError, true);
assertEq(e.message.startsWith("expected expression, got end of script") == -1, false);
caught = true;
}
assertEq(caught, true);