diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt index 33f42371e46..46985824b47 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt @@ -474,7 +474,7 @@ public open class KotlinIntroduceLambdaParameterHandler( is KtClass -> targetParent.getBody() else -> null } ?: throw AssertionError("Body element is not found: ${targetParent.getElementTextWithContext()}") - val extractionData = ExtractionData(expression.getContainingKtFile(), + val extractionData = ExtractionData(targetParent.getContainingKtFile(), expression.toRange(), targetParent, duplicateContainer, diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt new file mode 100644 index 00000000000..8d3f78f7b2c --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt @@ -0,0 +1,3 @@ +fun foo(param: Int): String { + return "abc${param}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts new file mode 100644 index 00000000000..21617cc617d --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt.conflicts @@ -0,0 +1 @@ +Cannot perform refactoring without an expression \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt new file mode 100644 index 00000000000..a7ef59f2d42 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt @@ -0,0 +1,3 @@ +fun foo(param: Int): String { + return "abc$param" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts new file mode 100644 index 00000000000..21617cc617d --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt.conflicts @@ -0,0 +1 @@ +Cannot perform refactoring without an expression \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt new file mode 100644 index 00000000000..3cc3e6f3471 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt @@ -0,0 +1,3 @@ +fun foo(a: Int): String { + return "abc$a\ndef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts new file mode 100644 index 00000000000..21617cc617d --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt.conflicts @@ -0,0 +1 @@ +Cannot perform refactoring without an expression \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt new file mode 100644 index 00000000000..1ec4ee42caf --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt @@ -0,0 +1,6 @@ +fun foo(param: Int): String { + val x = "xyfalsez" + val y = "xyFalsez" + val z = false + return "abfalsedef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after new file mode 100644 index 00000000000..305e0a66dab --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt.after @@ -0,0 +1,6 @@ +fun foo(param: Int, b: () -> Boolean = { false }): String { + val x = "xy${b()}z" + val y = "xyFalsez" + val z = false + return "ab${b()}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt new file mode 100644 index 00000000000..826c73d618f --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt @@ -0,0 +1,7 @@ +fun foo(param: Int): String { + val x = "a1234_" + val y = "-4123a" + val z = "+1243a" + val u = 123 + return "ab123def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after new file mode 100644 index 00000000000..6460c3d9959 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt.after @@ -0,0 +1,7 @@ +fun foo(param: Int, i: () -> Int = { 123 }): String { + val x = "a${i()}4_" + val y = "-4${i()}a" + val z = "+1243a" + val u = 123 + return "ab${i()}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt new file mode 100644 index 00000000000..7d6dde97219 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt @@ -0,0 +1,6 @@ +fun foo(param: Int): String { + val x = "atrue123" + val x = "aTRUE123" + val z = true + return "abtruedef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after new file mode 100644 index 00000000000..aec69058d2a --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt.after @@ -0,0 +1,6 @@ +fun foo(param: Int, b: () -> Boolean = { true }): String { + val x = "a${b()}123" + val x = "aTRUE123" + val z = true + return "ab${b()}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt new file mode 100644 index 00000000000..8b10cb97d4c --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "abc$a" + val y = "abc${a}" + val z = "abc{$a}def" + return "abc$a" + "def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after new file mode 100644 index 00000000000..e525dcd4ec0 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, s: (Int) -> String = { a -> "abc$a" }): String { + val x = s(a) + val y = s(a) + val z = "abc{$a}def" + return s(a) + "def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt new file mode 100644 index 00000000000..2a19834a5bc --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "-${a + 1}" + val y = "x${a + 1}y" + val z = "x${a - 1}y" + return "abc${a + 1}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after new file mode 100644 index 00000000000..2d3bd605044 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, i: (Int) -> Int = { a -> a + 1 }): String { + val x = "-${i(a)}" + val y = "x${i(a)}y" + val z = "x${a - 1}y" + return "abc${i(a)}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt new file mode 100644 index 00000000000..b3e5ea58080 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "-$a" + val y = "x${a}y" + val z = "x$ay" + return "abc${a}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after new file mode 100644 index 00000000000..e8ff6060072 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, i: (Int) -> Int = { a -> a }): String { + val x = "-${i(a)}" + val y = "x${i(a)}y" + val z = "x$ay" + return "abc${i(a)}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt new file mode 100644 index 00000000000..e059fcf9732 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt @@ -0,0 +1,5 @@ +fun foo(a: Int): String { + val x = "+cd$a:${a + 1}efg" + val y = "+cd$a${a + 1}efg" + return "abcd$a:${a + 1}ef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after new file mode 100644 index 00000000000..0d792ce5701 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt.after @@ -0,0 +1,5 @@ +fun foo(a: Int, s: (Int) -> String = { a -> "cd$a:${a + 1}ef" }): String { + val x = "+${s(a)}g" + val y = "+cd$a${a + 1}efg" + return "ab${s(a)}" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt new file mode 100644 index 00000000000..e81ce108d0d --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt @@ -0,0 +1,5 @@ +fun foo(a: Int): String { + val x = "_c$a:${a + 1}d_" + val y = "_$a:${a + 1}d_" + return "abc$a:${a + 1}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after new file mode 100644 index 00000000000..b592fe873c6 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt.after @@ -0,0 +1,5 @@ +fun foo(a: Int, s: (Int) -> String = { a -> "c$a:${a + 1}d" }): String { + val x = "_${s(a)}_" + val y = "_$a:${a + 1}d_" + return "ab${s(a)}ef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt new file mode 100644 index 00000000000..f77d65ff3a2 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt @@ -0,0 +1,5 @@ +fun foo(a: Int): String { + val x = "_ab$a:${a + 1}cd__" + val y = "_a$a:${a + 1}cd__" + return "ab$a:${a + 1}cdef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after new file mode 100644 index 00000000000..bab31c51fec --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt.after @@ -0,0 +1,5 @@ +fun foo(a: Int, s: (Int) -> String = { a -> "ab$a:${a + 1}cd" }): String { + val x = "_${s(a)}__" + val y = "_a$a:${a + 1}cd__" + return "${s(a)}ef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt new file mode 100644 index 00000000000..d4f1d34ed57 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt @@ -0,0 +1,9 @@ +fun foo(a: Int): String { + val x = """_c$a + :${a + 1}d_""" + val y = "_$a:${a + 1}d_" + val z = """_c$a:${a + 1}d_""" + val u = "_c$a\n:${a + 1}d_" + return """abc$a + :${a + 1}def""" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after new file mode 100644 index 00000000000..94a910e4aa9 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt.after @@ -0,0 +1,10 @@ +fun foo(a: Int, s: (Int) -> String = { a -> + """c$a + :${a + 1}d""" +}): String { + val x = """_${s(a)}_""" + val y = "_$a:${a + 1}d_" + val z = """_c$a:${a + 1}d_""" + val u = "_c$a\n:${a + 1}d_" + return """ab${s(a)}ef""" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt new file mode 100644 index 00000000000..9dc8211a168 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "xabc$a" + val y = "${a}abcx" + val z = "xacb$a" + return "abcdef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after new file mode 100644 index 00000000000..d316ac5818e --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, s: () -> String = { "abc" }): String { + val x = "x${s()}$a" + val y = "${a}${s()}x" + val z = "xacb$a" + return "${s()}def" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt new file mode 100644 index 00000000000..091f98c39f1 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "xcd$a" + val y = "${a}cdx" + val z = "xcf$a" + return "abcdef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after new file mode 100644 index 00000000000..550f95a91c4 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, s: () -> String = { "cd" }): String { + val x = "x${s()}$a" + val y = "${a}${s()}x" + val z = "xcf$a" + return "ab${s()}ef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt new file mode 100644 index 00000000000..53d3c4eff51 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt @@ -0,0 +1,6 @@ +fun foo(a: Int): String { + val x = "xdef$a" + val y = "${a}defx" + val z = "xddf$a" + return "abcdef" +} \ No newline at end of file diff --git a/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after new file mode 100644 index 00000000000..98e63fc5c25 --- /dev/null +++ b/idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt.after @@ -0,0 +1,6 @@ +fun foo(a: Int, s: () -> String = { "def" }): String { + val x = "x${s()}$a" + val y = "${a}${s()}x" + val z = "xddf$a" + return "abc${s()}" +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java index 9da7cb86b74..98450553af3 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/refactoring/introduce/ExtractionTestGenerated.java @@ -3462,6 +3462,111 @@ public class ExtractionTestGenerated extends AbstractExtractionTest { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/lambdaParamWithDefaultValue.kt"); doIntroduceLambdaParameterTest(fileName); } + + @TestMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates") + @TestDataPath("$PROJECT_ROOT") + @RunWith(JUnit3RunnerWithInners.class) + public static class StringTemplates extends AbstractExtractionTest { + public void testAllFilesPresentInStringTemplates() throws Exception { + KotlinTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/refactoring/introduceLambdaParameter/stringTemplates"), Pattern.compile("^(.+)\\.kt$"), true); + } + + @TestMetadata("brokenEntryWithBlockExpr.kt") + public void testBrokenEntryWithBlockExpr() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithBlockExpr.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("brokenEntryWithExpr.kt") + public void testBrokenEntryWithExpr() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEntryWithExpr.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("brokenEscapeEntry.kt") + public void testBrokenEscapeEntry() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/brokenEscapeEntry.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("extractFalse.kt") + public void testExtractFalse() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractFalse.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("extractIntegerLiteral.kt") + public void testExtractIntegerLiteral() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractIntegerLiteral.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("extractTrue.kt") + public void testExtractTrue() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/extractTrue.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("fullContent.kt") + public void testFullContent() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullContent.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("fullEntryWithBlockExpr.kt") + public void testFullEntryWithBlockExpr() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithBlockExpr.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("fullEntryWithSimpleName.kt") + public void testFullEntryWithSimpleName() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/fullEntryWithSimpleName.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("multipleEntriesWithPrefix.kt") + public void testMultipleEntriesWithPrefix() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithPrefix.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("multipleEntriesWithSubstring.kt") + public void testMultipleEntriesWithSubstring() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSubstring.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("multipleEntriesWithSuffix.kt") + public void testMultipleEntriesWithSuffix() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/multipleEntriesWithSuffix.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("rawTemplateWithSubstring.kt") + public void testRawTemplateWithSubstring() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/rawTemplateWithSubstring.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("singleEntryPrefix.kt") + public void testSingleEntryPrefix() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntryPrefix.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("singleEntrySubstring.kt") + public void testSingleEntrySubstring() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySubstring.kt"); + doIntroduceLambdaParameterTest(fileName); + } + + @TestMetadata("singleEntrySuffix.kt") + public void testSingleEntrySuffix() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/refactoring/introduceLambdaParameter/stringTemplates/singleEntrySuffix.kt"); + doIntroduceLambdaParameterTest(fileName); + } + } } @TestMetadata("idea/testData/refactoring/introduceJavaParameter")