Skip to content

Commit

Permalink
make fixer fix one more case
Browse files Browse the repository at this point in the history
  • Loading branch information
golopot committed Sep 1, 2019
1 parent c025438 commit 0245d24
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
16 changes: 8 additions & 8 deletions lib/rules/jsx-no-useless-fragment.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,18 @@ function isJSXText(node) {
}

/**
* @param {ASTNode} node
* @returns {boolean}
* @param {string} text
*/
function isJSXTextOrJSXCurly(node) {
return isJSXText(node) || node.type === 'JSXExpressionContainer';
function isOnlyWhitespace(text) {
return text.trim().length === 0;
}

/**
* @param {string} text
* @param {ASTNode} node
* @returns {boolean}
*/
function isOnlyWhitespace(text) {
return text.trim().length === 0;
function isNonspaceJSXTextOrJSXCurly(node) {
return (isJSXText(node) && !isOnlyWhitespace(node.raw)) || node.type === 'JSXExpressionContainer';
}

/**
Expand Down Expand Up @@ -138,7 +138,7 @@ module.exports = {
}

// const a = <>cat {meow}</>
if (node.children.some(isJSXTextOrJSXCurly)) {
if (node.children.some(isNonspaceJSXTextOrJSXCurly)) {
return false;
}
}
Expand Down
15 changes: 15 additions & 0 deletions tests/lib/rules/jsx-no-useless-fragment.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,18 @@ ruleTester.run('jsx-no-uselses-fragment', rule, {
errors: [{messageId: 'NeedsMoreChidren'}],
parser: parsers.BABEL_ESLINT
},
{
code: `
<>
<div/>
</>
`,
output: `
<div/>
`,
errors: [{messageId: 'NeedsMoreChidren'}],
parser: parsers.BABEL_ESLINT
},
{
code: '<Fragment />',
errors: [{messageId: 'NeedsMoreChidren'}]
Expand All @@ -106,6 +118,9 @@ ruleTester.run('jsx-no-uselses-fragment', rule, {
<Foo />
</React.Fragment>
`,
output: `
<Foo />
`,
errors: [{messageId: 'NeedsMoreChidren'}]
},
{
Expand Down

0 comments on commit 0245d24

Please sign in to comment.