diff --git a/docs/rules/curly.md b/docs/rules/curly.md index ab52484a6b5..474d8457226 100644 --- a/docs/rules/curly.md +++ b/docs/rules/curly.md @@ -183,6 +183,11 @@ while (true) { for (var i = 0; foo; i++) { doSomething(); } + +if (foo) { + // some comment + bar(); +} ``` Examples of **correct** code for the `"multi-or-nest"` option: diff --git a/lib/rules/curly.js b/lib/rules/curly.js index ba4dac34ba7..208f27d55e4 100644 --- a/lib/rules/curly.js +++ b/lib/rules/curly.js @@ -290,7 +290,7 @@ module.exports = { } } else if (multiOrNest) { if (hasBlock && body.body.length === 1 && isOneLiner(body.body[0])) { - expected = false; + expected = !!(body.body[0].leadingComments && body.body[0].leadingComments.length); } else if (!isOneLiner(body)) { expected = true; } diff --git a/tests/lib/rules/curly.js b/tests/lib/rules/curly.js index b6305dc053c..261022d7533 100644 --- a/tests/lib/rules/curly.js +++ b/tests/lib/rules/curly.js @@ -126,6 +126,14 @@ ruleTester.run("curly", rule, { code: "if (foo) \n quz = true;", options: ["multi-or-nest"] }, + { + code: "if (foo) { \n // line of comment \n quz = true; \n }", + options: ["multi-or-nest"] + }, + { + code: "// line of comment \n if (foo) \n quz = true; \n", + options: ["multi-or-nest"] + }, { code: "while (true) \n doSomething();", options: ["multi-or-nest"]