diff --git a/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/JUnit4Assertions.kt b/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/JUnit4Assertions.kt index 098c4fa29400..deb95e1a44ae 100644 --- a/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/JUnit4Assertions.kt +++ b/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/JUnit4Assertions.kt @@ -8,6 +8,11 @@ import org.junit.Assert import java.io.File object JUnit4Assertions : Assertions() { + override fun doesEqualToFile(expectedFile: File, actual: String, sanitizer: (String) -> String): Boolean { + val expectedPath = expectedFile.toPath() + return KotlinTestHelpers.doesEqualsToPath(expectedPath, actual, sanitizer).yes + } + override fun assertEqualsToFile(expectedFile: File, actual: String, sanitizer: (String) -> String, message: () -> String) { val expectedPath = expectedFile.toPath() KotlinTestHelpers.assertEqualsToPath(expectedPath, actual, sanitizer, message) diff --git a/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/KotlinTestHelpers.kt b/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/KotlinTestHelpers.kt index 92468a4d5a63..3acf7e57faf0 100644 --- a/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/KotlinTestHelpers.kt +++ b/plugins/kotlin/base/test/test/org/jetbrains/kotlin/idea/base/test/KotlinTestHelpers.kt @@ -30,7 +30,9 @@ object KotlinTestHelpers { assertEqualsToPath(expectedPath, actual, { it }) { "Expected file content differs from the actual result" } } - fun assertEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String, message: () -> String) { + data class DoesEqual(val yes: Boolean, val processedExpected: String, val processedActual: String) + + fun doesEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String): DoesEqual { if (!expectedPath.exists()) { expectedPath.writeText(actual) TestCase.fail("File didn't exist. New file was created (${expectedPath.absolutePathString()}).") @@ -46,8 +48,18 @@ object KotlinTestHelpers { val processedExpected = process(expectedPath.readText()) val processedActual = process(actual) - if (processedExpected != processedActual) { - throw FileComparisonFailedError(message(), processedExpected, processedActual, expectedPath.absolutePathString()) + return DoesEqual(processedExpected == processedActual, processedExpected, processedActual) + } + + fun assertEqualsToPath(expectedPath: Path, actual: String, sanitizer: (String) -> String, message: () -> String) { + val equalsToPath = doesEqualsToPath(expectedPath, actual, sanitizer) + if (!equalsToPath.yes) { + throw FileComparisonFailedError( + message(), + equalsToPath.processedExpected, + equalsToPath.processedActual, + expectedPath.absolutePathString() + ) } } }