diff --git a/lib/rules/no-multi-spaces.js b/lib/rules/no-multi-spaces.js index 73e514335c4..84f1b501896 100644 --- a/lib/rules/no-multi-spaces.js +++ b/lib/rules/no-multi-spaces.js @@ -76,8 +76,11 @@ module.exports = { } const rightToken = tokensAndComments[leftIndex + 1]; - // Ignore tokens that have less than 2 spaces between them or are on different lines - if (leftToken.range[1] + 2 > rightToken.range[0] || leftToken.loc.end.line < rightToken.loc.start.line) { + // Ignore tokens that don't have 2 spaces between them or are on different lines + if ( + !sourceCode.text.slice(leftToken.range[1], rightToken.range[0]).includes(" ") || + leftToken.loc.end.line < rightToken.loc.start.line + ) { return; } diff --git a/tests/lib/rules/no-multi-spaces.js b/tests/lib/rules/no-multi-spaces.js index d3dcf61f588..ea726fbddfe 100644 --- a/tests/lib/rules/no-multi-spaces.js +++ b/tests/lib/rules/no-multi-spaces.js @@ -101,7 +101,9 @@ ruleTester.run("no-multi-spaces", rule, { "foo\n \f bar", // https://github.com/eslint/eslint/issues/9001 - "a".repeat(2e5) + "a".repeat(2e5), + + "foo\t\t+bar" ], invalid: [