From a03470d1517c0f1f61493a7208e912b7d9d0c0f4 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 28 Feb 2018 17:22:49 +0300 Subject: [PATCH] Fix test data for JavaMethodUsedInKotlin.kt test after 173.3.4 update - Ignore empty lines in actual test data - Don't generate additional //INFO: in final file diff --- .../editor/quickDoc/JavaMethodUsedInKotlin.kt | 6 ++--- .../AbstractQuickDocProviderTest.java | 22 +++++++++++++------ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/idea/testData/editor/quickDoc/JavaMethodUsedInKotlin.kt b/idea/testData/editor/quickDoc/JavaMethodUsedInKotlin.kt index 045e75e7b2c..4d95c59736e 100644 --- a/idea/testData/editor/quickDoc/JavaMethodUsedInKotlin.kt +++ b/idea/testData/editor/quickDoc/JavaMethodUsedInKotlin.kt @@ -5,9 +5,9 @@ fun ktTest() { //INFO: Test
@Contract(pure = true) 
 //INFO: @NotNull 
 //INFO: public static Object[] foo(String param)
+//INFO: Java Method +//INFO: //INFO: Inferred annotations available:
//INFO: -//INFO: -//INFO: Java Method +//INFO: diff --git a/idea/tests/org/jetbrains/kotlin/idea/editor/quickDoc/AbstractQuickDocProviderTest.java b/idea/tests/org/jetbrains/kotlin/idea/editor/quickDoc/AbstractQuickDocProviderTest.java index fb39bf2319b..f5a3ae0a018 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/editor/quickDoc/AbstractQuickDocProviderTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/editor/quickDoc/AbstractQuickDocProviderTest.java @@ -30,6 +30,7 @@ import org.jetbrains.kotlin.test.InTextDirectivesUtils; import java.io.File; import java.util.List; +import java.util.stream.Collectors; public abstract class AbstractQuickDocProviderTest extends KotlinLightCodeInsightFixtureTestCase { public void doTest(@NotNull String path) throws Exception { @@ -68,25 +69,32 @@ public abstract class AbstractQuickDocProviderTest extends KotlinLightCodeInsigh } String expectedInfo = expectedInfoBuilder.toString(); + String cleanedInfo = info == null ? "" : StringUtil.join( + StringUtil.split(info, "\n", false) + .stream() + .map(s -> StringUtil.isEmptyOrSpaces(s) ? "\n" : s) + .collect(Collectors.toList()), + ""); + if (expectedInfo.endsWith("...\n")) { - if (!info.startsWith(StringUtil.trimEnd(expectedInfo, "...\n"))) { - wrapToFileComparisonFailure(info, path, textData); + if (!cleanedInfo.startsWith(StringUtil.trimEnd(expectedInfo, "...\n"))) { + wrapToFileComparisonFailure(cleanedInfo, path, textData); } } - else if (!expectedInfo.equals(info)) { - wrapToFileComparisonFailure(info, path, textData); + else if (!expectedInfo.equals(cleanedInfo)) { + wrapToFileComparisonFailure(cleanedInfo, path, textData); } } } public static void wrapToFileComparisonFailure(String info, String filePath, String fileData) { - List infoLines = StringUtil.split(info, "\n"); + List infoLines = StringUtil.split(info, "\n", false); StringBuilder infoBuilder = new StringBuilder(); for (String line : infoLines) { - infoBuilder.append("//INFO: ").append(line).append("\n"); + infoBuilder.append("//INFO: ").append(line); } - String correctedFileText = fileData.replaceAll("//\\s?INFO: .*\n?", "") + infoBuilder.toString(); + String correctedFileText = fileData.replaceAll("//\\s?INFO:\\s?.*\n?", "") + infoBuilder.toString(); throw new FileComparisonFailure("Unexpected info", fileData, correctedFileText, new File(filePath).getAbsolutePath()); }