From e1dc52f06ea6b355c9748eecce849d54e6bfe7aa Mon Sep 17 00:00:00 2001 From: BigAru Date: Fri, 9 Nov 2018 09:51:51 +0100 Subject: [PATCH] add more testcases --- ...ctionOrFunctionExpression_ToAnon_FnArgument.ts | 15 +++++++++++++++ ...tionOrFunctionExpression_ToAnon_MapArgument.ts | 13 +++++++++++++ ...wFunctionOrFunctionExpression_ToAnon_Typed.ts} | 4 ++-- ...tionOrFunctionExpression_ToArrow_FnArgument.ts | 15 +++++++++++++++ ...onOrFunctionExpression_ToArrow_MapArgument.ts} | 8 ++++---- ...wFunctionOrFunctionExpression_ToArrow_Typed.ts | 13 +++++++++++++ ...wFunctionOrFunctionExpression_ToNamed_Typed.ts | 13 +++++++++++++ ...unctionExpression_ToNamed_keywordSelection.ts} | 6 +++--- 8 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_FnArgument.ts create mode 100644 tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_MapArgument.ts rename tests/cases/fourslash/{refactorConvertArrowFunctionOrFunctionExpression_ToAnon_RetType.ts => refactorConvertArrowFunctionOrFunctionExpression_ToAnon_Typed.ts} (66%) create mode 100644 tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_FnArgument.ts rename tests/cases/fourslash/{refactorConvertArrowFunctionOrFunctionExpression_ToArrow_RetType.ts => refactorConvertArrowFunctionOrFunctionExpression_ToArrow_MapArgument.ts} (62%) create mode 100644 tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_Typed.ts create mode 100644 tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_Typed.ts rename tests/cases/fourslash/{refactorConvertArrowFunctionOrFunctionExpression_ToNamed_RetType.ts => refactorConvertArrowFunctionOrFunctionExpression_ToNamed_keywordSelection.ts} (69%) diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_FnArgument.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_FnArgument.ts new file mode 100644 index 00000000000..28ad1354991 --- /dev/null +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_FnArgument.ts @@ -0,0 +1,15 @@ +/// + +//// function doSomething(a){} +//// doSomething(/*x*/(/*y*/) => 1 + 1); + +goTo.select("x", "y"); +edit.applyRefactor({ + refactorName: "Convert arrow function or function expression", + actionName: "Convert to anonymous function", + actionDescription: "Convert to anonymous function", + newContent: `function doSomething(a){} +doSomething(function() { + return 1 + 1; +});`, +}); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_MapArgument.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_MapArgument.ts new file mode 100644 index 00000000000..d1919cf5d7c --- /dev/null +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_MapArgument.ts @@ -0,0 +1,13 @@ +/// + +//// [9,8,7].map(/*x*/n/*y*/ => n + 418); + +goTo.select("x", "y"); +edit.applyRefactor({ + refactorName: "Convert arrow function or function expression", + actionName: "Convert to anonymous function", + actionDescription: "Convert to anonymous function", + newContent: `[9,8,7].map(function(n) { + return n + 418; +});`, +}); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_RetType.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_Typed.ts similarity index 66% rename from tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_RetType.ts rename to tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_Typed.ts index d8f6a591d17..0fbea66be0e 100644 --- a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_RetType.ts +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToAnon_Typed.ts @@ -1,13 +1,13 @@ /// -//// const foo = /*x*/(/*y*/): number => a + 1; +//// const increment = /*x*/(/*y*/a: number): number => a + 1; goTo.select("x", "y"); edit.applyRefactor({ refactorName: "Convert arrow function or function expression", actionName: "Convert to anonymous function", actionDescription: "Convert to anonymous function", - newContent: `const foo = function(): number { + newContent: `const increment = function(a: number): number { return a + 1; };`, }); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_FnArgument.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_FnArgument.ts new file mode 100644 index 00000000000..3dc442e4e5d --- /dev/null +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_FnArgument.ts @@ -0,0 +1,15 @@ +/// + +//// function foo(lambda){} +//// foo(function /*x*/is/*y*/Even(n) { +//// return n % 2 === 0; +//// }); + +goTo.select("x", "y"); +edit.applyRefactor({ + refactorName: "Convert arrow function or function expression", + actionName: "Convert to arrow function", + actionDescription: "Convert to arrow function", + newContent: `function foo(lambda){} +foo((n) => n % 2 === 0);`, +}); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_RetType.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_MapArgument.ts similarity index 62% rename from tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_RetType.ts rename to tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_MapArgument.ts index ce814984236..4e1c0b2f9f5 100644 --- a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_RetType.ts +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_MapArgument.ts @@ -1,13 +1,13 @@ /// -//// const foo = /*x*/f/*y*/unction(): string { -//// return "foobar"; -//// }; +//// [4,5,6,7].map(function /*x*/is/*y*/Even(n) { +//// return n % 2 === 0; +//// }); 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 = (): string => "foobar";`, + newContent: `[4,5,6,7].map((n) => n % 2 === 0);`, }); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_Typed.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_Typed.ts new file mode 100644 index 00000000000..01d30d1f080 --- /dev/null +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToArrow_Typed.ts @@ -0,0 +1,13 @@ +/// + +//// const concat = /*x*/f/*y*/unction(a: string, b: string): string { +//// return a + b; +//// }; + +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 concat = (a: string, b: string): string => a + b;`, +}); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_Typed.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_Typed.ts new file mode 100644 index 00000000000..6a67c390bd4 --- /dev/null +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_Typed.ts @@ -0,0 +1,13 @@ +/// + +//// let isFoo = /*x*/(/*y*/n: number): boolean => n === 42; + +goTo.select("x", "y"); +edit.applyRefactor({ + refactorName: "Convert arrow function or function expression", + actionName: "Convert to named function", + actionDescription: "Convert to named function", + newContent: `function isFoo(n: number): boolean { + return n === 42; +}`, +}); diff --git a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_RetType.ts b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_keywordSelection.ts similarity index 69% rename from tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_RetType.ts rename to tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_keywordSelection.ts index 9fffa041499..2e2f1b2b14d 100644 --- a/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_RetType.ts +++ b/tests/cases/fourslash/refactorConvertArrowFunctionOrFunctionExpression_ToNamed_keywordSelection.ts @@ -1,13 +1,13 @@ /// -//// let foo = /*x*/(/*y*/): number => 42; +//// /*x*/let/*y*/ foo = a => 1 + a; goTo.select("x", "y"); edit.applyRefactor({ refactorName: "Convert arrow function or function expression", actionName: "Convert to named function", actionDescription: "Convert to named function", - newContent: `function foo(): number { - return 42; + newContent: `function foo(a) { + return 1 + a; }`, });