From 5e07574a91861fdcab6888b4c6829868030c3a39 Mon Sep 17 00:00:00 2001 From: Chiawen Chen Date: Sat, 4 Apr 2020 03:37:41 +0800 Subject: [PATCH] Update: Improve report location for space-before-function-paren (#13128) --- lib/rules/space-before-function-paren.js | 7 +++-- .../lib/rules/space-before-function-paren.js | 30 +++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/rules/space-before-function-paren.js b/lib/rules/space-before-function-paren.js index af609c2e7c7..1021a110cfd 100644 --- a/lib/rules/space-before-function-paren.js +++ b/lib/rules/space-before-function-paren.js @@ -127,7 +127,10 @@ module.exports = { if (hasSpacing && functionConfig === "never") { context.report({ node, - loc: leftToken.loc.end, + loc: { + start: leftToken.loc.end, + end: rightToken.loc.start + }, messageId: "unexpectedSpace", fix(fixer) { const comments = sourceCode.getCommentsBefore(rightToken); @@ -145,7 +148,7 @@ module.exports = { } else if (!hasSpacing && functionConfig === "always") { context.report({ node, - loc: leftToken.loc.end, + loc: rightToken.loc, messageId: "missingSpace", fix: fixer => fixer.insertTextAfter(leftToken, " ") }); diff --git a/tests/lib/rules/space-before-function-paren.js b/tests/lib/rules/space-before-function-paren.js index bc192393979..09187fad6d9 100644 --- a/tests/lib/rules/space-before-function-paren.js +++ b/tests/lib/rules/space-before-function-paren.js @@ -136,7 +136,8 @@ ruleTester.run("space-before-function-paren", rule, { type: "FunctionDeclaration", messageId: "missingSpace", line: 1, - column: 13 + column: 13, + endColumn: 14 } ] }, @@ -148,7 +149,8 @@ ruleTester.run("space-before-function-paren", rule, { type: "FunctionDeclaration", messageId: "missingSpace", line: 1, - column: 13 + column: 18, + endColumn: 19 } ] }, @@ -230,7 +232,8 @@ ruleTester.run("space-before-function-paren", rule, { type: "FunctionDeclaration", messageId: "unexpectedSpace", line: 1, - column: 13 + column: 13, + endColumn: 14 } ] }, @@ -273,6 +276,20 @@ ruleTester.run("space-before-function-paren", rule, { } ] }, + { + code: "function foo () {}", + output: "function foo() {}", + options: ["never"], + errors: [ + { + type: "FunctionDeclaration", + messageId: "unexpectedSpace", + line: 1, + column: 13, + endColumn: 15 + } + ] + }, { code: "function foo//\n() {}", output: null, @@ -282,7 +299,9 @@ ruleTester.run("space-before-function-paren", rule, { type: "FunctionDeclaration", messageId: "unexpectedSpace", line: 1, - column: 13 + column: 13, + endLine: 2, + endColumn: 1 } ] }, @@ -321,7 +340,8 @@ ruleTester.run("space-before-function-paren", rule, { type: "FunctionExpression", messageId: "unexpectedSpace", line: 1, - column: 19 + column: 19, + endColumn: 20 } ] },