From b574e3bd4fc7d7ee95787b68e53e8f51e86f6729 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 19 Jun 2014 17:08:06 +0400 Subject: [PATCH] Refactoring: move function trimIndent --- .../tests/org/jetbrains/jet/jetTestUtils.kt | 28 ++++++++++++++++++ .../test/AbstractJavaToKotlinConverterTest.kt | 29 +------------------ 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/jetTestUtils.kt b/compiler/tests/org/jetbrains/jet/jetTestUtils.kt index 9acc5e7de04..f9ac89a5ef8 100644 --- a/compiler/tests/org/jetbrains/jet/jetTestUtils.kt +++ b/compiler/tests/org/jetbrains/jet/jetTestUtils.kt @@ -35,3 +35,31 @@ public fun CodeInsightTestFixture.configureWithExtraFile(path: String, extraName configureByFile(path) } } + +public fun String.trimIndent(): String { + val lines = split('\n') + + val firstNonEmpty = lines.firstOrNull { !it.trim().isEmpty() } + if (firstNonEmpty == null) { + return this + } + + val trimmedPrefix = firstNonEmpty.takeWhile { ch -> ch.isWhitespace() } + if (trimmedPrefix.isEmpty()) { + return this + } + + return lines.map { line -> + if (line.trim().isEmpty()) { + "" + } + else { + if (!line.startsWith(trimmedPrefix)) { + throw IllegalArgumentException( + """Invalid line "$line", ${trimmedPrefix.size} whitespace character are expected""") + } + + line.substring(trimmedPrefix.length) + } + }.joinToString(separator = "\n") +} diff --git a/j2k/tests/test/org/jetbrains/jet/j2k/test/AbstractJavaToKotlinConverterTest.kt b/j2k/tests/test/org/jetbrains/jet/j2k/test/AbstractJavaToKotlinConverterTest.kt index fee8ec96f9b..a5517f649db 100644 --- a/j2k/tests/test/org/jetbrains/jet/j2k/test/AbstractJavaToKotlinConverterTest.kt +++ b/j2k/tests/test/org/jetbrains/jet/j2k/test/AbstractJavaToKotlinConverterTest.kt @@ -33,6 +33,7 @@ import org.jetbrains.jet.JetTestUtils import com.intellij.openapi.project.Project import com.intellij.openapi.command.WriteCommandAction import com.intellij.openapi.application.ApplicationManager +import org.jetbrains.jet.test.util.trimIndent import org.jetbrains.jet.j2k.FilesConversionScope abstract class AbstractJavaToKotlinConverterTest() : LightIdeaTestCase() { @@ -162,32 +163,4 @@ abstract class AbstractJavaToKotlinConverterTest() : LightIdeaTestCase() { val lastNewLine = lastIndexOf('\n') return if (lastNewLine == -1) "" else substring(0, lastNewLine) } - - private fun String.trimIndent(): String { - val lines = split('\n') - - val firstNonEmpty = lines.firstOrNull { !it.trim().isEmpty() } - if (firstNonEmpty == null) { - return this - } - - val trimmedPrefix = firstNonEmpty.takeWhile { ch -> ch.isWhitespace() } - if (trimmedPrefix.isEmpty()) { - return this - } - - return lines.map { line -> - if (line.trim().isEmpty()) { - "" - } - else { - if (!line.startsWith(trimmedPrefix)) { - throw IllegalArgumentException( - """Invalid line "$line", ${trimmedPrefix.size} whitespace character are expected""") - } - - line.substring(trimmedPrefix.length) - } - }.makeString(separator = "\n") - } } \ No newline at end of file