From fb4926781926510f0e7e1885f6c6ff07865f96e6 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Tue, 10 Oct 2017 00:16:14 +0300 Subject: [PATCH] New J2K: Cleanup J2K single file test and make it extensible --- ...ractJavaToKotlinConverterSingleFileTest.kt | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt b/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt index d56d7a61373..4c6ae7f1372 100644 --- a/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt +++ b/j2k/tests/org/jetbrains/kotlin/j2k/AbstractJavaToKotlinConverterSingleFileTest.kt @@ -47,20 +47,14 @@ abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJavaToKotli Pair("file", fileContents) } - fun parseBoolean(text: String): Boolean = when (text) { - "true" -> true - "false" -> false - else -> throw IllegalArgumentException("Unknown option value: $text") - } - - var settings = ConverterSettings.defaultSettings.copy() + val settings = ConverterSettings.defaultSettings.copy() val directives = KotlinTestUtils.parseDirectives(javaCode) for ((name, value) in directives) { when (name) { - "forceNotNullTypes" -> settings.forceNotNullTypes = parseBoolean(value) - "specifyLocalVariableTypeByDefault" -> settings.specifyLocalVariableTypeByDefault = parseBoolean(value) - "specifyFieldTypeByDefault" -> settings.specifyFieldTypeByDefault = parseBoolean(value) - "openByDefault" -> settings.openByDefault = parseBoolean(value) + "forceNotNullTypes" -> settings.forceNotNullTypes = value.toBoolean() + "specifyLocalVariableTypeByDefault" -> settings.specifyLocalVariableTypeByDefault = value.toBoolean() + "specifyFieldTypeByDefault" -> settings.specifyFieldTypeByDefault = value.toBoolean() + "openByDefault" -> settings.openByDefault = value.toBoolean() else -> throw IllegalArgumentException("Unknown option: $name") } } @@ -105,7 +99,7 @@ abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJavaToKotli reformattedText } - private fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String { + protected open fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String { val file = createJavaFile(text) val converter = JavaToKotlinConverter(project, settings, IdeaJavaToKotlinServices) return converter.filesToKotlin(listOf(file), J2kPostProcessor(formatCode = true)).results.single() @@ -151,11 +145,11 @@ abstract class AbstractJavaToKotlinConverterSingleFileTest : AbstractJavaToKotli private fun String.removeLastLine() = substringBeforeLast('\n', "") - private fun createJavaFile(text: String): PsiJavaFile { + protected fun createJavaFile(text: String): PsiJavaFile { return myFixture.configureByText("converterTestFile.java", text) as PsiJavaFile } - private fun createKotlinFile(text: String): KtFile { + protected fun createKotlinFile(text: String): KtFile { return myFixture.configureByText("converterTestFile.kt", text) as KtFile } }