Compare lookups after comparing build logs

This way tests are more informative when
compilation goes wrong.
This commit is contained in:
Alexey Tsvetkov
2017-06-23 17:10:59 +03:00
parent 82c977f2d2
commit 7e7fcd352c
2 changed files with 70 additions and 69 deletions
@@ -583,7 +583,15 @@ public class KotlinTestUtils {
assertEqualsToFile(expectedFile, actual, s -> s);
}
public static void assertEqualsToFile(@NotNull String message, @NotNull File expectedFile, @NotNull String actual) {
assertEqualsToFile(message, expectedFile, actual, s -> s);
}
public static void assertEqualsToFile(@NotNull File expectedFile, @NotNull String actual, @NotNull Function1<String, String> sanitizer) {
assertEqualsToFile("Actual data differs from file content", expectedFile, actual, sanitizer);
}
public static void assertEqualsToFile(@NotNull String message, @NotNull File expectedFile, @NotNull String actual, @NotNull Function1<String, String> sanitizer) {
try {
String actualText = JetTestUtilsKt.trimTrailingWhitespacesAndAddNewlineAtEOF(StringUtil.convertLineSeparators(actual.trim()));
@@ -596,7 +604,7 @@ public class KotlinTestUtils {
String expectedText = JetTestUtilsKt.trimTrailingWhitespacesAndAddNewlineAtEOF(StringUtil.convertLineSeparators(expected.trim()));
if (!Comparing.equal(sanitizer.invoke(expectedText), sanitizer.invoke(actualText))) {
throw new FileComparisonFailure("Actual data differs from file content: " + expectedFile.getName(),
throw new FileComparisonFailure(message + ": " + expectedFile.getName(),
expected, actual, expectedFile.getAbsolutePath());
}
}