diff --git a/tests/cases/fourslash/unusedParameterInLambda1.ts b/tests/cases/fourslash/unusedParameterInLambda1.ts
index ace79adae46..88a0e8c9272 100644
--- a/tests/cases/fourslash/unusedParameterInLambda1.ts
+++ b/tests/cases/fourslash/unusedParameterInLambda1.ts
@@ -3,11 +3,12 @@
// @noUnusedLocals: true
// @noUnusedParameters: true
//// function f1() {
-//// [|return (x:number) => {}|]
+//// [|return /*~a*/(/*~b*/x/*~c*/:/*~d*/number/*~e*/)/*~f*/ => /*~g*/{/*~h*/}/*~i*/|]
//// }
+// In a perfect world, /*~f*/ and /*~h*/ would probably be retained.
verify.codeFix({
description: "Remove declaration for: 'x'",
index: 0,
- newRangeContent: "return () => {}",
+ newRangeContent: "return /*~a*/() => /*~g*/ { }/*~i*/",
});
diff --git a/tests/cases/fourslash/unusedParameterInLambda2.ts b/tests/cases/fourslash/unusedParameterInLambda2.ts
new file mode 100644
index 00000000000..cc46288fe3c
--- /dev/null
+++ b/tests/cases/fourslash/unusedParameterInLambda2.ts
@@ -0,0 +1,14 @@
+///
+
+// @noUnusedLocals: true
+// @noUnusedParameters: true
+//// function f1() {
+//// [|return /*~a*/x/*~b*/ /*~c*/=>/*~d*/ {/*~e*/}/*~f*/|]
+//// }
+
+// In a perfect world, /*~c*/ and /*~e*/ would probably be retained.
+verify.codeFix({
+ description: "Remove declaration for: 'x'",
+ index: 0,
+ newRangeContent: "return /*~a*/() => /*~d*/ { }/*~f*/",
+});
diff --git a/tests/cases/fourslash/unusedParameterInLambda3.ts b/tests/cases/fourslash/unusedParameterInLambda3.ts
new file mode 100644
index 00000000000..e5f1930eb9d
--- /dev/null
+++ b/tests/cases/fourslash/unusedParameterInLambda3.ts
@@ -0,0 +1,14 @@
+///
+
+// @noUnusedLocals: true
+// @noUnusedParameters: true
+//// function f1() {
+//// [|return /*~a*/(/*~b*/x/*~c*/,/*~d*/y/*~e*/)/*~f*/ => /*~g*/x/*~h*/|]
+//// }
+
+// In a perfect world, /*~c*/ would probably be retained, rather than /*~e*/.
+verify.codeFix({
+ description: "Remove declaration for: 'y'",
+ index: 0,
+ newRangeContent: "return /*~a*/(/*~b*/x/*~e*/)/*~f*/ => /*~g*/x/*~h*/",
+});
diff --git a/tests/cases/fourslash/unusedParameterInLambda4.ts b/tests/cases/fourslash/unusedParameterInLambda4.ts
new file mode 100644
index 00000000000..c2273ebaad0
--- /dev/null
+++ b/tests/cases/fourslash/unusedParameterInLambda4.ts
@@ -0,0 +1,13 @@
+///
+
+// @noUnusedLocals: true
+// @noUnusedParameters: true
+//// function f1() {
+//// [|return /*~a*/(/*~b*/x/*~c*/,/*~d*/y/*~e*/)/*~f*/ => /*~g*/y/*~h*/|]
+//// }
+
+verify.codeFix({
+ description: "Remove declaration for: 'x'",
+ index: 0,
+ newRangeContent: "return /*~a*/(/*~d*/y/*~e*/)/*~f*/ => /*~g*/y/*~h*/",
+});