From a1fa3b8c525e9b4f3a2ac84f33398486b0ffcb35 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 3 Jul 2024 16:38:47 +0200 Subject: [PATCH] test for IJPL-28717 Todo line lose coloring GitOrigin-RevId: 3bfd42b1ec593b955cfb4244edebe17b60185601 --- ...nHighlightVisitorRespondToChangesTest.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/DaemonHighlightVisitorRespondToChangesTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/DaemonHighlightVisitorRespondToChangesTest.java index 666124d22ade..fd7f4190c91d 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/DaemonHighlightVisitorRespondToChangesTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/impl/DaemonHighlightVisitorRespondToChangesTest.java @@ -318,7 +318,7 @@ public class DaemonHighlightVisitorRespondToChangesTest extends DaemonAnalyzerTe } List infos = DaemonCodeAnalyzerImpl.getHighlights(getEditor().getDocument(), HighlightSeverity.WARNING, getProject()); - MyInterruptingVisitor.assertHighlighted(infos); + MyInterruptingVisitor.assertExistMy(infos); assertEquals("[S, C]", log.toString()); INTERRUPT.set(false); @@ -333,7 +333,7 @@ public class DaemonHighlightVisitorRespondToChangesTest extends DaemonAnalyzerTe myDaemonCodeAnalyzer.setUpdateByTimerEnabled(true); } infos = DaemonCodeAnalyzerImpl.getHighlights(getEditor().getDocument(), HighlightSeverity.WARNING, getProject()); - MyInterruptingVisitor.assertHighlighted(infos); + MyInterruptingVisitor.assertExistMy(infos); assertEquals("[S, F]", log.toString()); } @@ -373,7 +373,7 @@ public class DaemonHighlightVisitorRespondToChangesTest extends DaemonAnalyzerTe return new MyInterruptingVisitor(); } - private static void assertHighlighted(List infos) { + private static void assertExistMy(List infos) { assertTrue("HighlightInfo is missing. All available infos are: "+infos, ContainerUtil.exists(infos, info -> info.getDescription().equals("MY3: CMT"))); } } @@ -542,4 +542,22 @@ public class DaemonHighlightVisitorRespondToChangesTest extends DaemonAnalyzerTe throw new RuntimeException(e); } } + + public void testTodoRehighlightsItselfEvenOnSmallChanges() { + @Language("JAVA") + String text = """ + class X { + // TODO + } + """; + configureByText(JavaFileType.INSTANCE, text); + + assertOneElement(ContainerUtil.filter(doHighlighting(HighlightSeverity.INFORMATION), h -> h.type.equals(HighlightInfoType.TODO))); + + backspace(); + assertEmpty(ContainerUtil.filter(doHighlighting(HighlightSeverity.INFORMATION), h -> h.type.equals(HighlightInfoType.TODO))); + + type('O'); + assertOneElement(ContainerUtil.filter(doHighlighting(HighlightSeverity.INFORMATION), h -> h.type.equals(HighlightInfoType.TODO))); + } }