Skip to content

Commit

Permalink
add testcase and apply feedback from pr
Browse files Browse the repository at this point in the history
  • Loading branch information
bigaru committed Oct 31, 2018
1 parent 649b53c commit 5951318
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 6 deletions.
Expand Up @@ -172,7 +172,7 @@ namespace ts.refactor.convertArrowFunctionOrFunctionExpression {
const head = statements[0];
let body: ConciseBody;

if (func.body.statements.length === 1 && (isReturnStatement(head) || isExpressionStatement(head))) {
if (func.body.statements.length === 1 && ((isReturnStatement(head) && !!head.expression) || isExpressionStatement(head))) {
body = head.expression!;
suppressLeadingAndTrailingTrivia(body);
copyComments(head, body, file, SyntaxKind.MultiLineCommentTrivia, /* hasTrailingNewLine */ false);
Expand Down
Expand Up @@ -25,4 +25,4 @@ verify.not.refactorAvailable("Convert arrow function or function expression", "C
goTo.select("r", "q");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to named function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to anonymous function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
Expand Up @@ -31,4 +31,4 @@ verify.refactorAvailable("Convert arrow function or function expression", "Conve
goTo.select("p", "o");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to named function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to anonymous function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
Expand Up @@ -30,4 +30,4 @@ verify.not.refactorAvailable("Convert arrow function or function expression", "C
goTo.select("p", "o");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to named function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to anonymous function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
Expand Up @@ -27,4 +27,4 @@ verify.not.refactorAvailable("Convert arrow function or function expression", "C
goTo.select("r", "q");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to named function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to anonymous function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
Expand Up @@ -20,4 +20,4 @@ verify.not.refactorAvailable("Convert arrow function or function expression", "C
goTo.select("t", "s");
verify.refactorAvailable("Convert arrow function or function expression", "Convert to named function");
verify.refactorAvailable("Convert arrow function or function expression", "Convert to anonymous function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
verify.not.refactorAvailable("Convert arrow function or function expression", "Convert to arrow function");
@@ -0,0 +1,15 @@
/// <reference path='fourslash.ts' />

//// const foo = /*x*/f/*y*/unction() {
//// return;
//// };

goTo.select("x", "y");
edit.applyRefactor({
refactorName: "Convert arrow function or function expression",
actionName: "Convert to arrow function",
actionDescription: "Convert to arrow function",
newContent: `const foo = () => {
return;
};`,
});

0 comments on commit 5951318

Please sign in to comment.