diff --git a/plugins/devkit/devkit-core/src/inspections/InspectionDescriptionInfo.java b/plugins/devkit/devkit-core/src/inspections/InspectionDescriptionInfo.java index 769045ecef3b..b4c7eba65f5d 100644 --- a/plugins/devkit/devkit-core/src/inspections/InspectionDescriptionInfo.java +++ b/plugins/devkit/devkit-core/src/inspections/InspectionDescriptionInfo.java @@ -145,7 +145,9 @@ public final class InspectionDescriptionInfo { String nameWithSuffix = filename + ".html"; return DescriptionCheckerUtil.allDescriptionDirs(module, DescriptionType.INSPECTION) - .map(directory -> directory.findFile(nameWithSuffix)).nonNull().findFirst().orElse(null); + .map(directory -> directory.findFile(nameWithSuffix)) + .map(directory -> directory != null && directory.getName().equals(nameWithSuffix) ? directory : null) + .nonNull().findFirst().orElse(null); } public boolean isValid() { diff --git a/plugins/devkit/devkit-java-tests/testData/navigation/descriptionType/caseSensitive/MywithDescriptionInspection.java b/plugins/devkit/devkit-java-tests/testData/navigation/descriptionType/caseSensitive/MywithDescriptionInspection.java new file mode 100644 index 000000000000..0a26190e4529 --- /dev/null +++ b/plugins/devkit/devkit-java-tests/testData/navigation/descriptionType/caseSensitive/MywithDescriptionInspection.java @@ -0,0 +1,3 @@ +import com.intellij.codeInspection.LocalInspectionTool; + +class MywithDescriptionInspection extends LocalInspectionTool {} \ No newline at end of file diff --git a/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/navigation/DescriptionTypeRelatedItemLineMarkerProviderTest.java b/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/navigation/DescriptionTypeRelatedItemLineMarkerProviderTest.java index c6b79fe71805..2c1344718105 100644 --- a/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/navigation/DescriptionTypeRelatedItemLineMarkerProviderTest.java +++ b/plugins/devkit/devkit-java-tests/testSrc/org/jetbrains/idea/devkit/navigation/DescriptionTypeRelatedItemLineMarkerProviderTest.java @@ -1,4 +1,4 @@ -// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package org.jetbrains.idea.devkit.navigation; import com.intellij.codeInsight.daemon.GutterMark; @@ -32,20 +32,27 @@ public class DescriptionTypeRelatedItemLineMarkerProviderTest extends Descriptio doTestInspectionDescription("MyWithDescriptionFromFieldReferenceInspection.java", "MyWithDescriptionFromFieldReferenceInspection.html"); } + public void testInspectionDescriptionNameShouldBeEqualToClassNameNotIgnoringCase() { + myFixture.copyDirectoryToProject("inspectionDescriptions", "inspectionDescriptions"); + List gutters = myFixture.findAllGutters("caseSensitive/MywithDescriptionInspection.java"); + assertEmpty(gutters); + } + public void testIntentionDescription() { myFixture.copyDirectoryToProject("intentionDescriptions", "intentionDescriptions"); - List gutters = ContainerUtil.sorted(myFixture.findAllGutters("MyIntentionActionWithDescription.java"),Comparator.comparing(GutterMark::getTooltipText)); + List gutters = ContainerUtil.sorted(myFixture.findAllGutters("MyIntentionActionWithDescription.java"), + Comparator.comparing(GutterMark::getTooltipText)); assertThat(gutters.size()).isEqualTo(2); DevKitGutterTargetsChecker.checkGutterTargets(gutters.get(1), "Description", DevKitIcons.Gutter.DescriptionFile, "description.html"); DevKitGutterTargetsChecker.checkGutterTargets(gutters.get(0), "Before/After Templates", DevKitIcons.Gutter.Diff, "after.java.template", "before.java.template"); } - + public void testIntentionDescriptionFolderNameShouldBeEqualToClassNameNotIgnoringCase() { myFixture.copyDirectoryToProject("intentionDescriptions", "intentionDescriptions"); List gutters = myFixture.findAllGutters("caseSensitive/MyIntentionActionwithDescription.java"); - assertThat(gutters.size()).isEqualTo(0); + assertEmpty(gutters); } } \ No newline at end of file