diff --git a/src/jshint.js b/src/jshint.js index 3533eb507b..c4b8a3960b 100644 --- a/src/jshint.js +++ b/src/jshint.js @@ -5216,7 +5216,7 @@ var JSHINT = (function() { if (foreachtok) { error("E045", foreachtok); } - nolinebreak(state.tokens.curr); + advance(";"); if (decl && decl.first && decl.first[0]) { if (decl.value === "const" && !decl.hasInitializer) { @@ -5234,7 +5234,7 @@ var JSHINT = (function() { if (state.tokens.next.id !== ";") { checkCondAssignment(expression(context, 0)); } - nolinebreak(state.tokens.curr); + advance(";"); if (state.tokens.next.id === ";") { error("E021", state.tokens.next, ")", ";"); diff --git a/tests/test262/expectations.txt b/tests/test262/expectations.txt index 55c3ff3082..d90d2ea097 100644 --- a/tests/test262/expectations.txt +++ b/tests/test262/expectations.txt @@ -123,28 +123,6 @@ test/language/asi/S7.9_A10_T10.js(default) test/language/asi/S7.9_A10_T12.js(default) test/language/asi/S7.9_A10_T7.js(default) test/language/asi/S7.9_A10_T9.js(default) -test/language/asi/S7.9_A6.1_T10.js(default) -test/language/asi/S7.9_A6.1_T10.js(strict mode) -test/language/asi/S7.9_A6.1_T11.js(default) -test/language/asi/S7.9_A6.1_T11.js(strict mode) -test/language/asi/S7.9_A6.1_T12.js(default) -test/language/asi/S7.9_A6.1_T12.js(strict mode) -test/language/asi/S7.9_A6.1_T13.js(default) -test/language/asi/S7.9_A6.1_T13.js(strict mode) -test/language/asi/S7.9_A6.1_T2.js(default) -test/language/asi/S7.9_A6.1_T2.js(strict mode) -test/language/asi/S7.9_A6.1_T3.js(default) -test/language/asi/S7.9_A6.1_T3.js(strict mode) -test/language/asi/S7.9_A6.1_T4.js(default) -test/language/asi/S7.9_A6.1_T4.js(strict mode) -test/language/asi/S7.9_A6.1_T5.js(default) -test/language/asi/S7.9_A6.1_T5.js(strict mode) -test/language/asi/S7.9_A6.1_T7.js(default) -test/language/asi/S7.9_A6.1_T7.js(strict mode) -test/language/asi/S7.9_A6.1_T8.js(default) -test/language/asi/S7.9_A6.1_T8.js(strict mode) -test/language/asi/S7.9_A6.1_T9.js(default) -test/language/asi/S7.9_A6.1_T9.js(strict mode) test/language/global-code/export.js(default) test/language/global-code/export.js(strict mode) test/language/global-code/import.js(default) @@ -263,7 +241,6 @@ test/language/statements/for-in/head-lhs-let.js(default) test/language/statements/for/decl-cls.js(default) test/language/statements/for/decl-cls.js(strict mode) test/language/statements/for/head-lhs-let.js(default) -test/language/statements/for/scope-body-var-none.js(default) test/language/statements/if/if-cls-else-cls.js(default) test/language/statements/if/if-cls-else-cls.js(strict mode) test/language/statements/if/if-cls-else-stmt.js(default) diff --git a/tests/unit/parser.js b/tests/unit/parser.js index 212d8ee160..034a186c6c 100644 --- a/tests/unit/parser.js +++ b/tests/unit/parser.js @@ -6182,6 +6182,22 @@ exports.ASI.followingBreak = function (test) { test.done(); }; +exports.ASI.cStyleFor = function (test) { + TestRun(test, "following first expression") + .test([ + "for (false", + ";;){}" + ]); + + TestRun(test, "following second expression") + .test([ + "for (false;", + ";){}" + ]); + + test.done(); +}; + exports["fat arrows support"] = function (test) { var code = [ "let empty = () => {};",