diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringAvailability.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringAvailability.ts new file mode 100644 index 00000000000..0ebde2b46ad --- /dev/null +++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringAvailability.ts @@ -0,0 +1,30 @@ +/// + +//// const age = 22 +//// const name = "Eddy" +//// const /*z*/f/*y*/oo = /*x*/`/*w*/M/*v*/r/*u*/ /*t*/$/*s*/{ /*r*/n/*q*/ame } is $/*p*/{/*o*/ age } years old` + +goTo.select("z", "y"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("x", "w"); +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("v", "u"); +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("t", "s"); +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("r", "q"); +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("p", "o"); +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts index 8e1daf79c58..7f4255b6ef4 100644 --- a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts +++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToStringMultiExpr.ts @@ -2,7 +2,7 @@ //// const age = 22 //// const name = "Eddy" -//// const foo = \`\${ /*x*/n/*y*/ame } is \${ age } years old\` +//// const foo = `${ /*x*/n/*y*/ame } is ${ age } years old` goTo.select("x", "y"); edit.applyRefactor({ diff --git a/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateAvailability.ts b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateAvailability.ts new file mode 100644 index 00000000000..ab26de51270 --- /dev/null +++ b/tests/cases/fourslash/refactorConvertStringOrTemplateLiteral_ToTemplateAvailability.ts @@ -0,0 +1,30 @@ +/// + +//// const age = 22 +//// const name = "Eddy" +//// const /*z*/f/*y*/oo = /*x*/"/*w*/M/*v*/r/*u*/ " /*t*/+/*s*/ /*r*/n/*q*/ame + " is " + /*p*/a/*o*/ge + " years old" + +goTo.select("z", "y"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("x", "w"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("v", "u"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("t", "s"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("r", "q"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") + +goTo.select("p", "o"); +verify.not.refactorAvailable("Convert string concatenation or template literal", "Convert to string concatenation") +verify.refactorAvailable("Convert string concatenation or template literal", "Convert to template literal") +