diff --git a/lib/rules/jsx-one-expression-per-line.js b/lib/rules/jsx-one-expression-per-line.js index b9bacdacee..d733a03d79 100644 --- a/lib/rules/jsx-one-expression-per-line.js +++ b/lib/rules/jsx-one-expression-per-line.js @@ -94,8 +94,8 @@ module.exports = { return; } - countNewLinesBeforeContent = (child.raw.match(/^ *\n/g) || []).length; - countNewLinesAfterContent = (child.raw.match(/\n *$/g) || []).length; + countNewLinesBeforeContent = (child.raw.match(/^\s*\n/g) || []).length; + countNewLinesAfterContent = (child.raw.match(/\n\s*$/g) || []).length; } const startLine = child.loc.start.line + countNewLinesBeforeContent; diff --git a/tests/lib/rules/jsx-one-expression-per-line.js b/tests/lib/rules/jsx-one-expression-per-line.js index 9e653e8542..c77833f1f3 100644 --- a/tests/lib/rules/jsx-one-expression-per-line.js +++ b/tests/lib/rules/jsx-one-expression-per-line.js @@ -28,6 +28,42 @@ const ruleTester = new RuleTester({parserOptions}); ruleTester.run('jsx-one-expression-per-line', rule, { valid: [{ code: '' + }, { + code: ` +\t\t +\t\t\tFail +\t\t + ` + }, { + code: ` +\t\t + Fail +\t\t + ` + }, { + code: ` + + Fail +\t\t + ` + }, { + code: ` +\t\t + OK + + ` + }, { + code: ` + +\t\t\tOK + + ` + }, { + code: ` + + OK + + ` }, { code: '' }, {