From 11a4a71e09e073fa4df52ccccaef0b4a5268eb67 Mon Sep 17 00:00:00 2001 From: Alexey Merkulov Date: Wed, 14 Nov 2018 18:13:40 +0300 Subject: [PATCH] IDEA-CR-39880: Refactoring: extracted duplicated code --- .../ExpectedHighlightingData.java | 58 +++++++++---------- 1 file changed, 27 insertions(+), 31 deletions(-) diff --git a/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java b/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java index 8d93413c9d7f..96bed5225cc5 100644 --- a/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java +++ b/platform/testFramework/src/com/intellij/testFramework/ExpectedHighlightingData.java @@ -437,26 +437,14 @@ public class ExpectedHighlightingData { } public void checkResult(Collection infos, String text, @Nullable String filePath) { - String fileName = myFile == null ? "" : myFile.getName() + ": "; StringBuilder failMessage = new StringBuilder(); - for (HighlightInfo info : reverseCollection(infos)) { - if (!expectedInfosContainsInfo(info) && !myIgnoreExtraHighlighting) { - int startOffset = info.startOffset; - int endOffset = info.endOffset; - String s = text.substring(startOffset, endOffset); - String desc = info.getDescription(); - - if (failMessage.length() > 0) { - failMessage.append('\n'); + if (!myIgnoreExtraHighlighting) { + for (HighlightInfo info : reverseCollection(infos)) { + if (!expectedInfosContainsInfo(info)) { + reportProblem(failMessage, text, info, "extra "); + failMessage.append(" [").append(info.type).append(']'); } - failMessage.append(fileName).append("extra ") - .append(rangeString(text, startOffset, endOffset)) - .append(": '").append(s).append('\''); - if (desc != null) { - failMessage.append(" (").append(desc).append(')'); - } - failMessage.append(" [").append(info.type).append(']'); } } @@ -465,20 +453,7 @@ public class ExpectedHighlightingData { Set expInfos = highlightingSet.infos; for (HighlightInfo expectedInfo : expInfos) { if (!infosContainsExpectedInfo(infos, expectedInfo) && highlightingSet.enabled) { - int startOffset = expectedInfo.startOffset; - int endOffset = expectedInfo.endOffset; - String s = text.substring(startOffset, endOffset); - String desc = expectedInfo.getDescription(); - - if (failMessage.length() > 0) { - failMessage.append('\n'); - } - failMessage.append(fileName).append("missing ") - .append(rangeString(text, startOffset, endOffset)) - .append(": '").append(s).append('\''); - if (desc != null) { - failMessage.append(" (").append(desc).append(")"); - } + reportProblem(failMessage, text, expectedInfo, "missing "); } } } @@ -496,6 +471,27 @@ public class ExpectedHighlightingData { } } + private void reportProblem(@NotNull StringBuilder failMessage, + @NotNull String text, + @NotNull HighlightInfo info, + @NotNull String messageType) { + String fileName = myFile == null ? "" : myFile.getName() + ": "; + int startOffset = info.startOffset; + int endOffset = info.endOffset; + String s = text.substring(startOffset, endOffset); + String desc = info.getDescription(); + + if (failMessage.length() > 0) { + failMessage.append('\n'); + } + failMessage.append(fileName).append(messageType) + .append(rangeString(text, startOffset, endOffset)) + .append(": '").append(s).append('\''); + if (desc != null) { + failMessage.append(" (").append(desc).append(')'); + } + } + private static List reverseCollection(Collection infos) { return ContainerUtil.reverse(infos instanceof List ? (List)infos : new ArrayList<>(infos)); }