mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 21:01:48 +07:00
86 lines
4.0 KiB
Java
86 lines
4.0 KiB
Java
// 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.i18n;
|
|
|
|
import com.intellij.codeInsight.intention.IntentionAction;
|
|
import com.intellij.grazie.spellcheck.GrazieSpellCheckingInspection;
|
|
import com.intellij.openapi.project.IntelliJProjectUtil;
|
|
import com.intellij.testFramework.TestDataPath;
|
|
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
|
|
|
|
@TestDataPath("$CONTENT_ROOT/testData/inspections/pluginXmlCapitalization/")
|
|
public class PluginXmlCapitalizationInspectionTest extends LightJavaCodeInsightFixtureTestCase {
|
|
|
|
@Override
|
|
protected String getBasePath() {
|
|
return DevkitI18nTestUtil.TESTDATA_PATH + "inspections/pluginXmlCapitalization";
|
|
}
|
|
|
|
@Override
|
|
protected void setUp() throws Exception {
|
|
super.setUp();
|
|
myFixture.enableInspections(new PluginXmlCapitalizationInspection());
|
|
}
|
|
|
|
public void testPluginNameDomElementFix() {
|
|
myFixture.testHighlighting("pluginXmlPluginNameDomElementFix.xml");
|
|
IntentionAction capitalizeIntention = myFixture.findSingleIntention("Properly capitalize");
|
|
myFixture.checkPreviewAndLaunchAction(capitalizeIntention);
|
|
myFixture.checkResultByFile("pluginXmlPluginNameDomElementFix_after.xml");
|
|
}
|
|
|
|
public void testSeparatorTextDomElementFix() {
|
|
myFixture.testHighlighting("pluginXmlSeparatorTextDomElementFix.xml");
|
|
IntentionAction capitalizeIntention = myFixture.findSingleIntention("Properly capitalize");
|
|
myFixture.checkPreviewAndLaunchAction(capitalizeIntention);
|
|
myFixture.checkResultByFile("pluginXmlSeparatorTextDomElementFix_after.xml");
|
|
}
|
|
|
|
public void testActionDescriptionPropertyFix() {
|
|
myFixture.testHighlighting("pluginXmlActionDescriptionPropertyFix.xml",
|
|
"ActionDescriptionFixBundle.properties");
|
|
IntentionAction capitalizeIntention = myFixture.findSingleIntention("Properly capitalize 'lower case description'");
|
|
|
|
String customPreviewText = myFixture.getIntentionPreviewText(capitalizeIntention);
|
|
assertEquals("action.BundleActionWrongCasing.description=Lower case description", customPreviewText);
|
|
|
|
myFixture.launchAction(capitalizeIntention);
|
|
myFixture.checkResultByFile("ActionDescriptionFixBundle.properties",
|
|
"ActionDescriptionFixBundle_after.properties", true);
|
|
}
|
|
|
|
public void testActionPluginName() {
|
|
myFixture.testHighlighting("pluginXmlCapitalization_ActionPluginName.xml",
|
|
"MyBundle.properties", "MyAction.java", "AnotherBundle.properties");
|
|
}
|
|
|
|
public void testActionCorePluginId() {
|
|
myFixture.testHighlighting("pluginXmlCapitalization_CorePluginId.xml",
|
|
"messages/ActionsBundle.properties");
|
|
}
|
|
|
|
public void testActionNoPluginIdInIdeaProject() {
|
|
IntelliJProjectUtil.markAsIntelliJPlatformProject(getProject(), true);
|
|
|
|
try {
|
|
myFixture.testHighlighting("pluginXmlCapitalization_NoPluginIdInIdeaProject.xml",
|
|
"messages/ActionsBundle.properties");
|
|
}
|
|
finally {
|
|
IntelliJProjectUtil.markAsIntelliJPlatformProject(getProject(), false);
|
|
}
|
|
}
|
|
|
|
public void testExtensionPoint() {
|
|
myFixture.addClass("package com.intellij.util.xmlb.annotations; public @interface Attribute { String value() default \"\";}");
|
|
myFixture.addClass("package com.intellij.util.xmlb.annotations; public @interface Tag { String value() default \"\";}");
|
|
|
|
myFixture.addClass("package org.jetbrains.annotations; public @interface NonNls {}");
|
|
myFixture.addClass("package org.jetbrains.annotations; public @interface Nls {" +
|
|
" enum Capitalization {NotSpecified,Title,Sentence}" +
|
|
" Capitalization capitalization() default Capitalization.NotSpecified;" +
|
|
"}");
|
|
myFixture.enableInspections(new GrazieSpellCheckingInspection());
|
|
myFixture.testHighlighting("pluginXmlCapitalization_extensionPoint.xml", "MyExtensionPoint.java");
|
|
}
|
|
}
|