From 9e01a608b22acb7f92974ae422ffdf0641a88b64 Mon Sep 17 00:00:00 2001 From: Mark Punzalan Date: Sat, 1 May 2021 05:32:05 +0000 Subject: [PATCH] FIR IDE: Add ability in test infra to have a "before" file different in FIR vs FE1.0, and made file naming convention more consistent. --- .../quickfix/AbstractHighLevelQuickFixTest.kt | 17 ++++++++++++++--- ...ntToPropertyWithNoExplicitType.fir.kt.after} | 0 ...omment.kt.fir.after => comment.fir.kt.after} | 0 ...fter => functionExpressionBody.fir.kt.after} | 0 ...pressionBodyWithNoExplicitType.fir.kt.after} | 0 ...reak.kt.fir.after => lineBreak.fir.kt.after} | 0 6 files changed, 14 insertions(+), 3 deletions(-) rename idea/testData/quickfix/replaceWithSafeCall/{assignmentToPropertyWithNoExplicitType.kt.fir.after => assignmentToPropertyWithNoExplicitType.fir.kt.after} (100%) rename idea/testData/quickfix/replaceWithSafeCall/{comment.kt.fir.after => comment.fir.kt.after} (100%) rename idea/testData/quickfix/replaceWithSafeCall/{functionExpressionBody.kt.fir.after => functionExpressionBody.fir.kt.after} (100%) rename idea/testData/quickfix/replaceWithSafeCall/{functionExpressionBodyWithNoExplicitType.kt.fir.after => functionExpressionBodyWithNoExplicitType.fir.kt.after} (100%) rename idea/testData/quickfix/replaceWithSafeCall/{lineBreak.kt.fir.after => lineBreak.fir.kt.after} (100%) diff --git a/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/AbstractHighLevelQuickFixTest.kt b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/AbstractHighLevelQuickFixTest.kt index 7c6868e846e..6d24d7ead67 100644 --- a/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/AbstractHighLevelQuickFixTest.kt +++ b/idea/idea-fir/tests/org/jetbrains/kotlin/idea/quickfix/AbstractHighLevelQuickFixTest.kt @@ -14,18 +14,29 @@ import java.nio.file.Paths abstract class AbstractHighLevelQuickFixTest : AbstractQuickFixTest() { override fun doTest(beforeFileName: String) { + val firBeforeFileName = getFirBeforeFileName(beforeFileName) IgnoreTests.runTestIfNotDisabledByFileDirective( - Paths.get(beforeFileName), + Paths.get(firBeforeFileName), disableTestDirective = IgnoreTests.DIRECTIVES.IGNORE_FIR_MULTILINE_COMMENT, directivePosition = IgnoreTests.DirectivePosition.LAST_LINE_IN_FILE, additionalFilesExtensions = arrayOf("after") ) { - super.doTest(beforeFileName) + super.doTest(firBeforeFileName) + } + } + + private fun getFirBeforeFileName(beforeFileName: String): String { + val firBeforeFilename = beforeFileName.replace(".kt", ".fir.kt") + val firBeforeFile = File(firBeforeFilename) + return if (firBeforeFile.exists()) { + firBeforeFile.canonicalPath + } else { + beforeFileName } } override fun getAfterFileName(beforeFileName: String): String { - val firAfterFile = File(testPath(beforeFileName + ".fir.after")) + val firAfterFile = File(testPath(beforeFileName.replace(".kt", ".fir.kt.after"))) return if (firAfterFile.exists()) { firAfterFile.name } else { diff --git a/idea/testData/quickfix/replaceWithSafeCall/assignmentToPropertyWithNoExplicitType.kt.fir.after b/idea/testData/quickfix/replaceWithSafeCall/assignmentToPropertyWithNoExplicitType.fir.kt.after similarity index 100% rename from idea/testData/quickfix/replaceWithSafeCall/assignmentToPropertyWithNoExplicitType.kt.fir.after rename to idea/testData/quickfix/replaceWithSafeCall/assignmentToPropertyWithNoExplicitType.fir.kt.after diff --git a/idea/testData/quickfix/replaceWithSafeCall/comment.kt.fir.after b/idea/testData/quickfix/replaceWithSafeCall/comment.fir.kt.after similarity index 100% rename from idea/testData/quickfix/replaceWithSafeCall/comment.kt.fir.after rename to idea/testData/quickfix/replaceWithSafeCall/comment.fir.kt.after diff --git a/idea/testData/quickfix/replaceWithSafeCall/functionExpressionBody.kt.fir.after b/idea/testData/quickfix/replaceWithSafeCall/functionExpressionBody.fir.kt.after similarity index 100% rename from idea/testData/quickfix/replaceWithSafeCall/functionExpressionBody.kt.fir.after rename to idea/testData/quickfix/replaceWithSafeCall/functionExpressionBody.fir.kt.after diff --git a/idea/testData/quickfix/replaceWithSafeCall/functionExpressionBodyWithNoExplicitType.kt.fir.after b/idea/testData/quickfix/replaceWithSafeCall/functionExpressionBodyWithNoExplicitType.fir.kt.after similarity index 100% rename from idea/testData/quickfix/replaceWithSafeCall/functionExpressionBodyWithNoExplicitType.kt.fir.after rename to idea/testData/quickfix/replaceWithSafeCall/functionExpressionBodyWithNoExplicitType.fir.kt.after diff --git a/idea/testData/quickfix/replaceWithSafeCall/lineBreak.kt.fir.after b/idea/testData/quickfix/replaceWithSafeCall/lineBreak.fir.kt.after similarity index 100% rename from idea/testData/quickfix/replaceWithSafeCall/lineBreak.kt.fir.after rename to idea/testData/quickfix/replaceWithSafeCall/lineBreak.fir.kt.after