From b031d724715357361603fd5cdfc31395cc17f2a0 Mon Sep 17 00:00:00 2001 From: ecuplxd <12050901053@ecupl.edu.cn> Date: Thu, 4 Jun 2020 21:59:27 +0800 Subject: [PATCH] fix: sugarss max empty lines fix error for inline comment --- lib/rules/max-empty-lines/__tests__/index.js | 44 ++++++++++++++++++++ lib/rules/max-empty-lines/index.js | 2 +- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/lib/rules/max-empty-lines/__tests__/index.js b/lib/rules/max-empty-lines/__tests__/index.js index 50efa8ee46..dafd1ed002 100644 --- a/lib/rules/max-empty-lines/__tests__/index.js +++ b/lib/rules/max-empty-lines/__tests__/index.js @@ -478,6 +478,50 @@ testRule({ ], }); +testRule({ + ruleName, + config: [2], + skipBasicChecks: true, + syntax: 'sugarss', + fix: true, + + accept: [ + { + code: '\n\n// one', + }, + { + code: '// one\n\n', + }, + { + code: '// one\n\n\n// two\n', + }, + ], + + reject: [ + { + code: '\n\n\n// one', + fixed: '\n\n// one', + message: messages.expected(2), + line: 3, + column: 1, + }, + { + code: '// one\n\n\n', + fixed: '// one\n\n', + message: messages.expected(2), + line: 4, + column: 1, + }, + { + code: '// one\n\n\n\n// two\n', + fixed: '// one\n\n\n// two\n', + message: messages.expected(2), + line: 4, + column: 1, + }, + ], +}); + testRule({ ruleName, config: [2, { ignore: 'comments' }], diff --git a/lib/rules/max-empty-lines/index.js b/lib/rules/max-empty-lines/index.js index cd0ffe9450..4f7985db1d 100644 --- a/lib/rules/max-empty-lines/index.js +++ b/lib/rules/max-empty-lines/index.js @@ -154,7 +154,7 @@ function rule(max, options, context) { function replaceEmptyLines(max, str, isSpecialCase = false) { const repeatTimes = isSpecialCase ? max : max + 1; - if (repeatTimes === 0) { + if (repeatTimes === 0 || typeof str !== 'string') { return ''; }