Skip to content

Commit

Permalink
Update call fixer logic
Browse files Browse the repository at this point in the history
  • Loading branch information
fisker committed May 4, 2020
1 parent 55c2a4c commit cbe08ba
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 4 deletions.
17 changes: 14 additions & 3 deletions rules/no-useless-undefined.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,20 @@ const create = context => {
),
[lastArgumentSelector]: listener(
(node, fixer) => {
const tokenAfter = context.getTokenAfter(node);
return (isCommaToken(tokenAfter) ? [node, tokenAfter] : [node])
.map(nodeOrToken => remove(nodeOrToken, fixer));
const argumentNodes = node.parent.arguments;
const lastArgument = argumentNodes[argumentNodes.length - 2];
let [start, end] = node.range;
if (lastArgument) {
start = lastArgument.range[1];
} else {
// If it's the only argument, and there is trailing comma, we need remove it.
const tokenAfter = context.getTokenAfter(node);
if (isCommaToken(tokenAfter)) {
end = tokenAfter.range[1];
}
}

return fixer.removeRange([start, end]);
}
)
};
Expand Down
27 changes: 26 additions & 1 deletion test/no-useless-undefined.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,39 @@ ruleTester.run('better-regex', rule, {
output: 'foo();',
errors
},
{
code: 'foo(undefined, undefined);',
output: 'foo(undefined);',
errors
},
{
code: 'foo(undefined,);',
output: 'foo();',
errors
},
{
code: 'foo(undefined, undefined,);',
output: 'foo(undefined,);',
errors
},
{
code: 'foo(bar, undefined);',
output: 'foo(bar);',
errors
},
{
code: 'foo(bar, undefined, undefined);',
output: 'foo(bar, undefined);',
errors
},
{
code: 'foo(bar, undefined,);',
output: 'foo(bar, );',
output: 'foo(bar,);',
errors
},
{
code: 'foo(bar, undefined, undefined,);',
output: 'foo(bar, undefined,);',
errors
},
{
Expand Down

0 comments on commit cbe08ba

Please sign in to comment.