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
This commit is contained in:
+3
-3
@@ -5,9 +5,9 @@ fun ktTest() {
|
||||
//INFO: <html><head> <style type="text/css"> #error { background-color: #eeeeee; margin-bottom: 10px; } p { margin: 5px 0; } </style></head><body><small><b><a href="psi_element://Test"><code>Test</code></a></b></small><PRE><i>@Contract(pure = true)</i>
|
||||
//INFO: <i>@<a href="psi_element://org.jetbrains.annotations.NotNull"><code>NotNull</code></a></i>
|
||||
//INFO: public static <a href="psi_element://java.lang.Object"><code>Object</code></a>[] <b>foo</b>(<a href="psi_element://java.lang.String"><code>String</code></a> param)</PRE>
|
||||
//INFO: Java Method
|
||||
//INFO:
|
||||
//INFO: <i>Inferred</i> annotations available:<br>
|
||||
//INFO: <ul>
|
||||
//INFO: <li><i>@org.jetbrains.annotations.Contract(pure = true)</i> <i>@<a href="psi_element://org.jetbrains.annotations.NotNull"><code>org.jetbrains.annotations.NotNull</code></a></i></li>
|
||||
//INFO: </ul>
|
||||
//INFO:
|
||||
//INFO: Java Method</body></html>
|
||||
//INFO: </ul></body></html>
|
||||
|
||||
+15
-7
@@ -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<String> infoLines = StringUtil.split(info, "\n");
|
||||
List<String> 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());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user