From 0fa80a1ff01c7609f86464273a1ffb165fb5d160 Mon Sep 17 00:00:00 2001 From: Ilia Permiashkin Date: Fri, 26 Sep 2025 12:21:16 +0000 Subject: [PATCH] [grazie] Print global rule id in tests Merge-request: IJ-MR-176781 Merged-by: Ilia Permiashkin GitOrigin-RevId: d403c6e47bd5acefe1bbbf94c85add7792c1bbe2 --- .../intellij/grazie/text/TreeRuleChecker.java | 23 +++++++++++-------- .../grazie/ide/language/JavaSupportTest.kt | 3 --- .../ide/language/PropertiesSupportTest.kt | 2 +- .../grazie/suppression/SuppressionTests.kt | 6 ++--- .../testData/ide/language/java/Comments.java | 2 +- .../test/testData/ide/language/java/Docs.java | 4 ++-- .../ide/language/java/MarkdownCode.java | 2 +- .../test/testData/ide/language/java/PDF.java | 2 +- .../src/test/testData/ide/language/js/Docs.js | 2 +- .../testData/ide/language/markdown/Example.md | 2 +- .../testData/ide/language/plain/Example.txt | 2 +- .../testData/ide/language/xml/Example.html | 2 +- .../testData/ide/language/yaml/Example.yaml | 2 +- .../kotlin/idea/tests/testData/grazie/Docs.kt | 2 +- python/testData/grazie/Docs.py | 2 +- 15 files changed, 29 insertions(+), 29 deletions(-) diff --git a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TreeRuleChecker.java b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TreeRuleChecker.java index 2831833fe262..3bdc2237563a 100644 --- a/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TreeRuleChecker.java +++ b/plugins/grazie/src/main/kotlin/com/intellij/grazie/text/TreeRuleChecker.java @@ -19,6 +19,7 @@ import ai.grazie.rules.tree.Parameter; import ai.grazie.rules.tree.Tree; import ai.grazie.rules.tree.Tree.ParameterValues; import com.intellij.codeInspection.LocalQuickFix; +import com.intellij.codeInspection.util.InspectionMessage; import com.intellij.grazie.GrazieBundle; import com.intellij.grazie.GrazieConfig; import com.intellij.grazie.ide.inspection.auto.AutoFix; @@ -34,6 +35,8 @@ import com.intellij.grazie.text.TextContent.TextDomain; import com.intellij.grazie.utils.HighlightingUtil; import com.intellij.grazie.utils.Text; import com.intellij.grazie.utils.TextStyleDomain; +import com.intellij.grazie.utils.TextUtilsKt; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Attachment; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProcessCanceledException; @@ -511,16 +514,9 @@ public final class TreeRuleChecker { } private static boolean shouldSuppressByPlace(ai.grazie.rules.Rule rule, TextContent text) { - TextDomain domain = text.getDomain(); - PsiFile file = text.getContainingFile(); - TextStyle placeStyle = - CommitMessage.isCommitMessage(file) ? TextStyle.Commit : - domain == TextDomain.DOCUMENTATION ? TextStyle.CodeDocumentation : - domain == TextDomain.COMMENTS ? TextStyle.CodeComment : - "ChatInput".equals(file.getLanguage().getID()) ? TextStyle.AIPrompt : - null; - - return placeStyle != null && placeStyle.disabledRules().contains(rule.globalId()); + TextStyleDomain domain = getTextDomain(text); + if (domain == TextStyleDomain.Other) return false; + return domain.getTextStyle().disabledRules().contains(rule.globalId()); } private static boolean touchesUnknownFragments(TextContent text, ai.grazie.rules.tree.TextRange range, ai.grazie.rules.Rule rule) { @@ -557,6 +553,13 @@ public final class TreeRuleChecker { this.customFixes = customFixes; } + @Override + @SuppressWarnings("HardCodedStringLiteral") + public @InspectionMessage @NotNull String getDescriptionTemplate(boolean isOnTheFly) { + if (ApplicationManager.getApplication().isUnitTestMode()) return match.rule().globalId(); + return super.getDescriptionTemplate(isOnTheFly); + } + @Override public @NotNull List getCustomFixes() { return ContainerUtil.concat(customFixes, ContainerUtil.mapNotNull(match.actions(), sug -> { diff --git a/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/JavaSupportTest.kt b/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/JavaSupportTest.kt index 2d5226734884..97d5361f2df8 100644 --- a/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/JavaSupportTest.kt +++ b/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/JavaSupportTest.kt @@ -165,9 +165,6 @@ class JavaSupportTest : GrazieTestBase() { } fun `test no highlighting after fixing an error within the same range`() { - GrazieConfig.update { - it.withDomainEnabledRules(TextStyleDomain.CodeDocumentation, setOf("LanguageTool.EN.FILE_EXTENSIONS_CASE")) - } runHighlightTestForFile("ide/language/java/PDF.java") myFixture.launchAction(myFixture.findSingleIntention("PDF")) myFixture.checkHighlighting() diff --git a/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/PropertiesSupportTest.kt b/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/PropertiesSupportTest.kt index 0781ae9d87f0..9e3b313abfab 100644 --- a/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/PropertiesSupportTest.kt +++ b/plugins/grazie/src/test/kotlin/com/intellij/grazie/ide/language/PropertiesSupportTest.kt @@ -34,7 +34,7 @@ class PropertiesSupportTest : GrazieTestBase() { ru.text.err2=А все ли ошибка найдены? ru.text.err3=Это случилось 31 ноября 2014 г. ru.text.err4=За весь вечер она не проронила и слово. - ru.text.err5=Собрание состоится в конференц зале. + ru.text.err5=Собрание состоится в конференц зале. ru.text.err6=Он он здесь ошибка в тексте. ru.with.newline=Не удалось авторизоваться.\nПопробуйте ещё раз. diff --git a/plugins/grazie/src/test/kotlin/com/intellij/grazie/suppression/SuppressionTests.kt b/plugins/grazie/src/test/kotlin/com/intellij/grazie/suppression/SuppressionTests.kt index b2777b1d819d..940bd5606bf0 100644 --- a/plugins/grazie/src/test/kotlin/com/intellij/grazie/suppression/SuppressionTests.kt +++ b/plugins/grazie/src/test/kotlin/com/intellij/grazie/suppression/SuppressionTests.kt @@ -23,7 +23,7 @@ class SuppressionTests: GrazieTestBase() { fun `test suppressing grammar inspection doesn't affect style issues`() { myFixture.configureByText("A.java", """ class A { - // Show is cancelled because of an cat + // Show is cancelled because of an cat @SuppressWarnings("GrazieInspection") public static void main() {} } @@ -34,7 +34,7 @@ class SuppressionTests: GrazieTestBase() { fun `test suppress style action generates necessary inspection id`() { myFixture.configureByText("Class.java", """ public class Class { - // Show is cancelled + // Show is cancelled public static void main() {} } """.trimIndent()) @@ -75,7 +75,7 @@ class SuppressionTests: GrazieTestBase() { myFixture.disableInspections(GrazieInspection.Grammar()) myFixture.configureByText("Class.java", """ public class Class { - // Show is cancelled because of an cat + // Show is cancelled because of an cat public static void main() {} } """.trimIndent()) diff --git a/plugins/grazie/src/test/testData/ide/language/java/Comments.java b/plugins/grazie/src/test/testData/ide/language/java/Comments.java index df69f6728615..3cd146525276 100644 --- a/plugins/grazie/src/test/testData/ide/language/java/Comments.java +++ b/plugins/grazie/src/test/testData/ide/language/java/Comments.java @@ -45,7 +45,7 @@ class ForMultiLanguageSupport { // We don't use the PHP php_strip_whitespace() function - // If Content-Type is set to text/html, or is unset -> html + // If Content-Type is set to text/html, or is unset -> html /* for(;;) diff --git a/plugins/grazie/src/test/testData/ide/language/java/Docs.java b/plugins/grazie/src/test/testData/ide/language/java/Docs.java index d2668854d3cc..37798b7657b2 100644 --- a/plugins/grazie/src/test/testData/ide/language/java/Docs.java +++ b/plugins/grazie/src/test/testData/ide/language/java/Docs.java @@ -28,7 +28,7 @@ class ExampleClassWithNoTypos { /** * Adds a [member] to this group. * - * @param cancellable Whether the progress can be cancelled. + * @param cancellable Whether the progress can be cancelled. * @param member member to add * @return the new size of the group. And another sentence. */ @@ -93,7 +93,7 @@ class ExampleClassWithTypos { * А все ли ошибка найдены? * Это случилось 31 ноября 2014 г. * За весь вечер она не проронила и слово. - * Собрание состоится в конференц зале. + * Собрание состоится в конференц зале. * Он он ошибка. */ // noinspection SqlDialectInspection das daert geschätzt fünf Mannstunden! А еще в коробке лежало пять карандаша diff --git a/plugins/grazie/src/test/testData/ide/language/java/MarkdownCode.java b/plugins/grazie/src/test/testData/ide/language/java/MarkdownCode.java index e528855d8e25..2a558de3c39d 100644 --- a/plugins/grazie/src/test/testData/ide/language/java/MarkdownCode.java +++ b/plugins/grazie/src/test/testData/ide/language/java/MarkdownCode.java @@ -1,4 +1,4 @@ -/// Some javadoc. Maybe with some grammr and, punctuation, mistaks. +/// Some javadoc. Maybe with some grammr and, punctuation, mistaks. /// /// ``` /// void main(String[] args){ diff --git a/plugins/grazie/src/test/testData/ide/language/java/PDF.java b/plugins/grazie/src/test/testData/ide/language/java/PDF.java index 3be9b2a08f80..d7c19e7d8907 100644 --- a/plugins/grazie/src/test/testData/ide/language/java/PDF.java +++ b/plugins/grazie/src/test/testData/ide/language/java/PDF.java @@ -1,5 +1,5 @@ /** - * In library pdf did not fix the problem I faced + * In library pdf did not fix the problem I faced */ public class PDF { } \ No newline at end of file diff --git a/plugins/grazie/src/test/testData/ide/language/js/Docs.js b/plugins/grazie/src/test/testData/ide/language/js/Docs.js index 2cc78cfead70..85259aba483a 100644 --- a/plugins/grazie/src/test/testData/ide/language/js/Docs.js +++ b/plugins/grazie/src/test/testData/ide/language/js/Docs.js @@ -56,7 +56,7 @@ class ExampleClassWithTypos { * А все ли ошибка найдены? * Это случилось 31 ноября 2014 г. * За весь вечер она не проронила и слово. - * Собрание состоится в конференц зале. + * Собрание состоится в конференц зале. * Он он ошибка. */ class ForMultiLanguageSupport { diff --git a/plugins/grazie/src/test/testData/ide/language/markdown/Example.md b/plugins/grazie/src/test/testData/ide/language/markdown/Example.md index a2193492fcb4..3f8050e8a69b 100644 --- a/plugins/grazie/src/test/testData/ide/language/markdown/Example.md +++ b/plugins/grazie/src/test/testData/ide/language/markdown/Example.md @@ -50,7 +50,7 @@ foo(a, все ли ошибка найдены? Это случилось 31 ноября 2014 г. За весь вечер она не проронила и слово. -Собрание состоится в конференц зале. +Собрание состоится в конференц зале. Он он ошибка. Я предлагаю в своём приложении создавать что-нибудь. diff --git a/plugins/grazie/src/test/testData/ide/language/plain/Example.txt b/plugins/grazie/src/test/testData/ide/language/plain/Example.txt index 44eaa5ac2af0..51e40790450e 100644 --- a/plugins/grazie/src/test/testData/ide/language/plain/Example.txt +++ b/plugins/grazie/src/test/testData/ide/language/plain/Example.txt @@ -2,7 +2,7 @@ А все ли ошибка найдены? Это случилось 31 ноября 2014 г. За весь вечер она не проронила и слово. -Собрание состоится в конференц зале. +Собрание состоится в конференц зале. Он он ошибка. Ignoring code-like constructs: diff --git a/plugins/grazie/src/test/testData/ide/language/xml/Example.html b/plugins/grazie/src/test/testData/ide/language/xml/Example.html index 4d0a08ff0a44..5a4e21d5d24f 100644 --- a/plugins/grazie/src/test/testData/ide/language/xml/Example.html +++ b/plugins/grazie/src/test/testData/ide/language/xml/Example.html @@ -31,7 +31,7 @@ actually return values. А все ли ошибка найдены? Это случилось 31 ноября 2014 г. За весь вечер она не проронила и слово. - Собрание состоится в конференц зале. + Собрание состоится в конференц зале. Он он ошибка. Я предлагаю в своём приложении создавать что-нибудь. diff --git a/plugins/grazie/src/test/testData/ide/language/yaml/Example.yaml b/plugins/grazie/src/test/testData/ide/language/yaml/Example.yaml index 73cd75ef21d6..35e9be8babef 100644 --- a/plugins/grazie/src/test/testData/ide/language/yaml/Example.yaml +++ b/plugins/grazie/src/test/testData/ide/language/yaml/Example.yaml @@ -32,7 +32,7 @@ bill-to: &id001 А все ли ошибка найдены? Это случилось 31 ноября 2014 г. За весь вечер она не проронила и слово. - Собрание состоится в конференц зале. + Собрание состоится в конференц зале. БОЛЬШИЕ БУКВЫ. Актуальный плагин. На конференции работали советы по секциям: химия, история. diff --git a/plugins/kotlin/idea/tests/testData/grazie/Docs.kt b/plugins/kotlin/idea/tests/testData/grazie/Docs.kt index 31045c098466..a795199a9348 100644 --- a/plugins/kotlin/idea/tests/testData/grazie/Docs.kt +++ b/plugins/kotlin/idea/tests/testData/grazie/Docs.kt @@ -56,7 +56,7 @@ class ExampleClassWithTypos(val name: String) { * А все ли ошибка найдены? * Это случилось 31 ноября 2014 г. * За весь вечер она не проронила и слово. - * Собрание состоится в конференц зале. + * Собрание состоится в конференц зале. * Он он ошибка. */ class ForMultiLanguageSupport { diff --git a/python/testData/grazie/Docs.py b/python/testData/grazie/Docs.py index 28e24dae9bba..183b0665be4d 100644 --- a/python/testData/grazie/Docs.py +++ b/python/testData/grazie/Docs.py @@ -67,7 +67,7 @@ class ForMultiLanguageSupport: А все ли ошибка найдены? Это случилось 31 ноября 2014 г. За весь вечер она не проронила и слово. - Собрание состоится в конференц зале. + Собрание состоится в конференц зале. Он он ошибка. """