diff --git a/tests/cases/fourslash/refactorConvertToNamedParameters25.ts b/tests/cases/fourslash/refactorConvertToNamedParameters25.ts
new file mode 100644
index 00000000000..1b51102f80e
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertToNamedParameters25.ts
@@ -0,0 +1,15 @@
+///
+
+////function /*a*/foo/*b*/(a: number, b: number) { /** missing */
+//// return a + b;
+////}
+
+goTo.select("a", "b");
+edit.applyRefactor({
+ refactorName: "Convert to named parameters",
+ actionName: "Convert to named parameters",
+ actionDescription: "Convert to named parameters",
+ newContent: `function foo({ a, b }: { a: number; b: number; }) { /** missing */
+ return a + b;
+}`
+});
\ No newline at end of file
diff --git a/tests/cases/fourslash/refactorConvertToNamedParameters26.ts b/tests/cases/fourslash/refactorConvertToNamedParameters26.ts
new file mode 100644
index 00000000000..20238ac81de
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertToNamedParameters26.ts
@@ -0,0 +1,23 @@
+///
+
+////foo(1, 2); /**a*/
+/////**b*/ function /*a*/foo/*b*/(/**this1*/ this /**this2*/: /**void1*/ void /**void2*/, /**c*/ a /**d*/: /**e*/ number /**f*/, /**g*/ b /**h*/: /**i*/ number /**j*/ = /**k*/ 1 /**l*/) {
+//// // m
+//// /**n*/ return a + b; // o
+//// // p
+////} // q
+/////**r*/ foo(1);
+
+goTo.select("a", "b");
+edit.applyRefactor({
+ refactorName: "Convert to named parameters",
+ actionName: "Convert to named parameters",
+ actionDescription: "Convert to named parameters",
+ newContent: `foo({ a: 1, b: 2 }); /**a*/
+/**b*/ function foo(/**this1*/ this /**this2*/: /**void1*/ void /**void2*/, { a, b = /**k*/ 1 /**l*/ }: { /**c*/ a /**d*/: /**e*/ number /**f*/; /**g*/ b /**h*/?: /**i*/ number /**j*/; }) {
+ // m
+ /**n*/ return a + b; // o
+ // p
+} // q
+/**r*/ foo({ a: 1 });`
+});
\ No newline at end of file
diff --git a/tests/cases/fourslash/refactorConvertToNamedParameters27.ts b/tests/cases/fourslash/refactorConvertToNamedParameters27.ts
new file mode 100644
index 00000000000..5bcda77fe0b
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertToNamedParameters27.ts
@@ -0,0 +1,17 @@
+///
+
+////function /*a*/foo/*b*/(a: number, b: number, ...rest: number[]) {
+//// return a + b;
+////}
+////foo(/**a*/ 1 /**b*/, /**c*/ 2 /**d*/, /**e*/ 3 /**f*/, /**g*/ 4 /**h*/);
+
+goTo.select("a", "b");
+edit.applyRefactor({
+ refactorName: "Convert to named parameters",
+ actionName: "Convert to named parameters",
+ actionDescription: "Convert to named parameters",
+ newContent: `function foo({ a, b, rest = [] }: { a: number; b: number; rest?: number[]; }) {
+ return a + b;
+}
+foo({ a: /**a*/ 1 /**b*/, b: /**c*/ 2 /**d*/, rest: [/**e*/ 3 /**f*/, /**g*/ 4 /**h*/] });`
+});
\ No newline at end of file
diff --git a/tests/cases/fourslash/refactorConvertToNamedParameters28.ts b/tests/cases/fourslash/refactorConvertToNamedParameters28.ts
new file mode 100644
index 00000000000..8218ac65d80
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertToNamedParameters28.ts
@@ -0,0 +1,12 @@
+///
+
+////function /*a*/foo/*b*/(// comment
+//// /** other comment */ a: number, b: number) { }
+
+goTo.select("a", "b");
+edit.applyRefactor({
+ refactorName: "Convert to named parameters",
+ actionName: "Convert to named parameters",
+ actionDescription: "Convert to named parameters",
+ newContent: `function foo(// comment { a, b }: { /** other comment */ a: number; b: number; }) { }`
+});
\ No newline at end of file
diff --git a/tests/cases/fourslash/refactorConvertToNamedParameters29.ts b/tests/cases/fourslash/refactorConvertToNamedParameters29.ts
new file mode 100644
index 00000000000..02582785944
--- /dev/null
+++ b/tests/cases/fourslash/refactorConvertToNamedParameters29.ts
@@ -0,0 +1,13 @@
+///
+
+////function /*a*/foo/*b*/(// comment
+//// a: number, b: number) { }
+
+goTo.select("a", "b");
+edit.applyRefactor({
+ refactorName: "Convert to named parameters",
+ actionName: "Convert to named parameters",
+ actionDescription: "Convert to named parameters",
+ newContent: `function foo(// comment
+ { a, b }: { a: number; b: number }) { }`
+});
\ No newline at end of file