32 lines
1007 B
JavaScript
32 lines
1007 B
JavaScript
description(
|
|
"This test checks that automatic semicolon insertion for parsing and reparsing agree. In a debug build, this test will fail with an assertion failure if they do not."
|
|
);
|
|
|
|
// According to the ECMA spec, these should all be syntax errors. However, the
|
|
// pre-existing behaviour of JavaScriptCore has always been to accept them. If
|
|
// JavaScriptCore is changed so that these are syntax errors in the future, then
|
|
// this test can simply be changed to reflect that.
|
|
|
|
// It is important that the closing braces be on the same line as the commas, so
|
|
// that a newline doesn't act as a terminator when lexing inbetween.
|
|
|
|
function commaTest() { a = 1 }
|
|
|
|
shouldBeUndefined("commaTest()");
|
|
|
|
function varCommaTest() { var a = 1 }
|
|
|
|
shouldBeUndefined("varCommaTest()");
|
|
|
|
function constCommaTest() { const a = 1 }
|
|
|
|
shouldBeUndefined("constCommaTest()");
|
|
|
|
function commaParenTest() { (1) }
|
|
|
|
shouldBeUndefined("commaParenTest()");
|
|
|
|
function commaParenThrowTest() { (x) }
|
|
|
|
shouldThrow("commaParenThrowTest()");
|