[devkit] [i18n] extract inspection description fix test

GitOrigin-RevId: c5a698ed424de218eb387c287d19fe7720685ed9
This commit is contained in:
Anna Kozlova
2021-09-28 21:10:47 +00:00
committed by intellij-monorepo-bot
parent d92c835832
commit 3434af89eb
@@ -1,6 +1,7 @@
// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.idea.devkit.inspections;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.LocalInspectionEP;
import com.intellij.lang.LanguageExtensionPoint;
import com.intellij.openapi.options.Configurable;
@@ -10,11 +11,13 @@ import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
import com.intellij.ui.components.JBList;
import com.intellij.util.PathUtil;
import org.jetbrains.idea.devkit.DevKitBundle;
import org.jetbrains.idea.devkit.DevkitJavaTestsUtil;
import java.io.File;
import java.nio.file.Paths;
@SuppressWarnings("InspectionDescriptionNotFoundInspection")
@TestDataPath("$CONTENT_ROOT/testData/inspections/pluginXmlI18n")
public class PluginXmlI18nInspectionTest extends JavaCodeInsightFixtureTestCase {
@@ -46,6 +49,37 @@ public class PluginXmlI18nInspectionTest extends JavaCodeInsightFixtureTestCase
myFixture.testHighlighting("PluginXmlI18nInspection.xml");
}
public void testInspectionFix() {
setupPlatformLibraries202();
myFixture.addClass("package foo.bar; public class Inspection1 extends com.intellij.codeInspection.LocalInspectionTool { }");
myFixture.addFileToProject("messages/FooBundle.properties", "");
myFixture.configureByText("plugin.xml", "<idea-plugin>\n" +
" <resource-bundle>messages.FooBundle</resource-bundle>" +
" <extensions defaultExtensionNs=\"com.intellij\">\n" +
" <localInspection hasStaticDescription=\"true\"\n" +
" shortName=\"bar\"\n" +
" displayName=\"Foo<caret> bar\"\n" +
" groupName=\"Group\"\n" +
" enabledByDefault=\"true\"\n" +
" implementationClass=\"foo.bar.Inspection1\"/>\n" +
" </extension>\n" +
"</idea-plugin>");
IntentionAction action =
myFixture.getAvailableIntention(DevKitBundle.message("inspections.plugin.xml.i18n.inspection.tag.family.name", "displayName"));
assertNotNull(action);
myFixture.launchAction(action);
myFixture.checkResult("<idea-plugin>\n" +
" <resource-bundle>messages.FooBundle</resource-bundle> <extensions defaultExtensionNs=\"com.intellij\">\n" +
" <localInspection hasStaticDescription=\"true\"\n" +
" shortName=\"bar\"\n" +
" groupName=\"Group\"\n" +
" enabledByDefault=\"true\"\n" +
" implementationClass=\"foo.bar.Inspection1\" key=\"inspection.bar.display.name\"/>\n" +
" </extension>\n" +
"</idea-plugin>");
}
private void setupPlatformLibraries202() {
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
File file = new File(platformApiJar);