From 6e5647bb67a9f74929198ac715dc7721c6791dce Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 21 Oct 2014 02:21:03 +0400 Subject: [PATCH] Append newline at EOF when creating file in JetTestUtils --- compiler/tests/org/jetbrains/jet/JetTestUtils.java | 4 ++-- compiler/tests/org/jetbrains/jet/jetTestUtils.kt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/JetTestUtils.java b/compiler/tests/org/jetbrains/jet/JetTestUtils.java index a5702d0c009..c37865cdfb1 100644 --- a/compiler/tests/org/jetbrains/jet/JetTestUtils.java +++ b/compiler/tests/org/jetbrains/jet/JetTestUtils.java @@ -439,7 +439,7 @@ public class JetTestUtils { public static void assertEqualsToFile(@NotNull File expectedFile, @NotNull String actual) { try { - String actualText = UtilPackage.removeTrailingWhitespacesFromEachLine(StringUtil.convertLineSeparators(actual.trim())); + String actualText = UtilPackage.trimTrailingWhitespacesAndAddNewlineAtEOF(StringUtil.convertLineSeparators(actual.trim())); if (!expectedFile.exists()) { FileUtil.writeToFile(expectedFile, actualText); @@ -447,7 +447,7 @@ public class JetTestUtils { } String expected = FileUtil.loadFile(expectedFile, CharsetToolkit.UTF8, true); - String expectedText = UtilPackage.removeTrailingWhitespacesFromEachLine(StringUtil.convertLineSeparators(expected.trim())); + String expectedText = UtilPackage.trimTrailingWhitespacesAndAddNewlineAtEOF(StringUtil.convertLineSeparators(expected.trim())); if (!Comparing.equal(expectedText, actualText)) { throw new FileComparisonFailure("Actual data differs from file content: " + expectedFile.getName(), diff --git a/compiler/tests/org/jetbrains/jet/jetTestUtils.kt b/compiler/tests/org/jetbrains/jet/jetTestUtils.kt index f9ac89a5ef8..9eb24b51c16 100644 --- a/compiler/tests/org/jetbrains/jet/jetTestUtils.kt +++ b/compiler/tests/org/jetbrains/jet/jetTestUtils.kt @@ -20,7 +20,10 @@ import com.intellij.testFramework.fixtures.CodeInsightTestFixture import com.intellij.openapi.util.io.FileUtil import java.io.File -public fun String.removeTrailingWhitespacesFromEachLine(): String = split('\n') map { it.trimTrailing() } makeString ("\n") +public fun String.trimTrailingWhitespacesAndAddNewlineAtEOF(): String = + this.split('\n').map { it.trimTrailing() }.joinToString(separator = "\n").let { + result -> if (result.endsWith("\n")) result else result + "\n" + } public fun CodeInsightTestFixture.configureWithExtraFile(path: String, extraNamePart: String = ".Data") { val noExtensionPath = FileUtil.getNameWithoutExtension(path)