| function testSyntax(script) { |
| if (error instanceof SyntaxError) |
| throw new Error("Bad error: " + String(error)); |
| function testSyntaxError(script, message) { |
| throw new Error("Expected syntax error not thrown"); |
| if (String(error) !== message) |
| throw new Error("Bad error: " + String(error)); |
| testSyntaxError(`void class extends async()=>{} {}`, `SyntaxError: Unexpected token '=>'`); |
| testSyntaxError(`void class extends (async()=>{}) {}`, `TypeError: The value of the superclass's prototype property is not an object.`); |