mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Minor duplicate code cleanup in DevKit tests
This commit is contained in:
+1
-21
@@ -16,13 +16,8 @@
|
||||
package org.jetbrains.idea.devkit.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.codeInspection.LocalInspectionEP;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
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.DevkitJavaTestsUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -30,21 +25,12 @@ import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
@TestDataPath("$CONTENT_ROOT/testData/navigation/descriptionType")
|
||||
public class DescriptionTypeRelatedItemLineMarkerProviderTest extends JavaCodeInsightFixtureTestCase {
|
||||
|
||||
public class DescriptionTypeRelatedItemLineMarkerProviderTest extends DescriptionTypeRelatedItemLineMarkerProviderTestBase {
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return DevkitJavaTestsUtil.TESTDATA_PATH + "navigation/descriptionType";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String pathForClass = PathUtil.getJarPathForClass(LocalInspectionEP.class);
|
||||
moduleBuilder.addLibrary("lang-api", pathForClass);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
public void testInspectionDescription() {
|
||||
doTestInspectionDescription("MyWithDescriptionInspection.java", "MyWithDescription.html");
|
||||
}
|
||||
@@ -53,12 +39,6 @@ public class DescriptionTypeRelatedItemLineMarkerProviderTest extends JavaCodeIn
|
||||
doTestInspectionDescription("MyWithDescriptionFromFieldReferenceInspection.java", "MyWithDescriptionFromFieldReferenceInspection.html");
|
||||
}
|
||||
|
||||
private void doTestInspectionDescription(String inspectionFile, String descriptionFile) {
|
||||
myFixture.copyDirectoryToProject("inspectionDescriptions", "inspectionDescriptions");
|
||||
GutterMark gutter = myFixture.findGutter(inspectionFile);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, "Description", AllIcons.FileTypes.Html, descriptionFile);
|
||||
}
|
||||
|
||||
public void testIntentionDescription() {
|
||||
myFixture.copyDirectoryToProject("intentionDescriptions", "intentionDescriptions");
|
||||
|
||||
|
||||
+1
-46
@@ -15,66 +15,21 @@
|
||||
*/
|
||||
package org.jetbrains.idea.devkit.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
|
||||
import com.intellij.ui.ColorUtil;
|
||||
import com.intellij.ui.components.JBList;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.idea.devkit.DevkitJavaTestsUtil;
|
||||
|
||||
@TestDataPath("$CONTENT_ROOT/testData/navigation/extensionDeclaration")
|
||||
public class ExtensionDeclarationRelatedItemLineMarkerProviderTest extends JavaCodeInsightFixtureTestCase {
|
||||
|
||||
public class ExtensionDeclarationRelatedItemLineMarkerProviderTest extends ExtensionDeclarationRelatedItemLineMarkerProviderTestBase {
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return DevkitJavaTestsUtil.TESTDATA_PATH + "navigation/extensionDeclaration";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String extensionsJar = PathUtil.getJarPathForClass(ExtensionPointName.class);
|
||||
moduleBuilder.addLibrary("extensions", extensionsJar);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
|
||||
public void testInvalidExtension() {
|
||||
doTestInvalidExtension("MyInvalidExtension.java");
|
||||
}
|
||||
|
||||
private void doTestInvalidExtension(String file) {
|
||||
myFixture.configureByFile("plugin.xml");
|
||||
assertNull(myFixture.findGutter(file));
|
||||
}
|
||||
|
||||
|
||||
public void testExtension() {
|
||||
doTestExtension("MyExtension.java", "<myEp implementation=\"MyExtension\"/>");
|
||||
}
|
||||
|
||||
private void doTestExtension(String file, String xmlDeclarationText) {
|
||||
PsiFile pluginXmlFile = myFixture.configureByFile("plugin.xml");
|
||||
String pluginXmlPath = pluginXmlFile.getVirtualFile().getPath();
|
||||
|
||||
Module module = ModuleUtilCore.findModuleForPsiElement(pluginXmlFile);
|
||||
assertNotNull(module);
|
||||
|
||||
String color = ColorUtil.toHex(UIUtil.getInactiveTextColor());
|
||||
int expectedTagPosition = pluginXmlFile.getText().indexOf(xmlDeclarationText);
|
||||
String expectedTooltip = "<html><body> <a href=\"#navigation/" + pluginXmlPath
|
||||
+ ":" + expectedTagPosition + "\">myEp</a> declaration in plugin.xml " +
|
||||
"<font color=" + color + ">[" + module.getName() + "]</font><br></body></html>";
|
||||
|
||||
GutterMark gutter = myFixture.findGutter(file);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, expectedTooltip, AllIcons.Nodes.Plugin, "myEp");
|
||||
}
|
||||
}
|
||||
|
||||
+2
-25
@@ -1,41 +1,18 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. 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.kotlin.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.codeInspection.LocalInspectionEP;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
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.kotlin.DevkitKtTestsUtil;
|
||||
import org.jetbrains.idea.devkit.navigation.DevKitGutterTargetsChecker;
|
||||
import org.jetbrains.idea.devkit.navigation.DescriptionTypeRelatedItemLineMarkerProviderTestBase;
|
||||
|
||||
//TODO fix copy-paste
|
||||
@TestDataPath("$CONTENT_ROOT/testData/navigation/descriptionType")
|
||||
public class KtDescriptionTypeRelatedItemLineMarkerProviderTest extends JavaCodeInsightFixtureTestCase {
|
||||
|
||||
public class KtDescriptionTypeRelatedItemLineMarkerProviderTest extends DescriptionTypeRelatedItemLineMarkerProviderTestBase {
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return DevkitKtTestsUtil.TESTDATA_PATH + "navigation/descriptionType";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String pathForClass = PathUtil.getJarPathForClass(LocalInspectionEP.class);
|
||||
moduleBuilder.addLibrary("lang-api", pathForClass);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
public void testKtInspectionDescription() {
|
||||
doTestInspectionDescription("MyKtWithDescriptionInspection.kt", "MyKtWithDescription.html");
|
||||
}
|
||||
|
||||
private void doTestInspectionDescription(String inspectionFile, String descriptionFile) {
|
||||
myFixture.copyDirectoryToProject("inspectionDescriptions", "inspectionDescriptions");
|
||||
GutterMark gutter = myFixture.findGutter(inspectionFile);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, "Description", AllIcons.FileTypes.Html, descriptionFile);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-46
@@ -1,66 +1,22 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. 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.kotlin.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
|
||||
import com.intellij.ui.ColorUtil;
|
||||
import com.intellij.ui.components.JBList;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.idea.devkit.kotlin.DevkitKtTestsUtil;
|
||||
import org.jetbrains.idea.devkit.navigation.DevKitGutterTargetsChecker;
|
||||
import org.jetbrains.idea.devkit.navigation.ExtensionDeclarationRelatedItemLineMarkerProviderTestBase;
|
||||
|
||||
//TODO fix copy-paste
|
||||
@TestDataPath("$CONTENT_ROOT/testData/navigation/extensionDeclaration")
|
||||
public class KtExtensionDeclarationRelatedItemLineMarkerProviderTest extends JavaCodeInsightFixtureTestCase {
|
||||
|
||||
public class KtExtensionDeclarationRelatedItemLineMarkerProviderTest extends ExtensionDeclarationRelatedItemLineMarkerProviderTestBase {
|
||||
@Override
|
||||
protected String getBasePath() {
|
||||
return DevkitKtTestsUtil.TESTDATA_PATH + "navigation/extensionDeclaration";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String extensionsJar = PathUtil.getJarPathForClass(ExtensionPointName.class);
|
||||
moduleBuilder.addLibrary("extensions", extensionsJar);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
public void testInvalidKtExtension() {
|
||||
doTestInvalidExtension("MyInvalidKtExtension.kt");
|
||||
}
|
||||
|
||||
private void doTestInvalidExtension(String file) {
|
||||
myFixture.configureByFile("plugin.xml");
|
||||
assertNull(myFixture.findGutter(file));
|
||||
}
|
||||
|
||||
public void testKtExtension() {
|
||||
doTestExtension("MyKtExtension.kt", "<myEp implementation=\"MyKtExtension\"/>");
|
||||
}
|
||||
|
||||
private void doTestExtension(String file, String xmlDeclarationText) {
|
||||
PsiFile pluginXmlFile = myFixture.configureByFile("plugin.xml");
|
||||
String pluginXmlPath = pluginXmlFile.getVirtualFile().getPath();
|
||||
|
||||
Module module = ModuleUtilCore.findModuleForPsiElement(pluginXmlFile);
|
||||
assertNotNull(module);
|
||||
|
||||
String color = ColorUtil.toHex(UIUtil.getInactiveTextColor());
|
||||
int expectedTagPosition = pluginXmlFile.getText().indexOf(xmlDeclarationText);
|
||||
String expectedTooltip = "<html><body> <a href=\"#navigation/" + pluginXmlPath
|
||||
+ ":" + expectedTagPosition + "\">myEp</a> declaration in plugin.xml " +
|
||||
"<font color=" + color + ">[" + module.getName() + "]</font><br></body></html>";
|
||||
|
||||
GutterMark gutter = myFixture.findGutter(file);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, expectedTooltip, AllIcons.Nodes.Plugin, "myEp");
|
||||
}
|
||||
}
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. 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.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.codeInspection.LocalInspectionEP;
|
||||
import com.intellij.icons.AllIcons;
|
||||
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.annotations.NotNull;
|
||||
|
||||
public abstract class DescriptionTypeRelatedItemLineMarkerProviderTestBase extends JavaCodeInsightFixtureTestCase {
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String pathForClass = PathUtil.getJarPathForClass(LocalInspectionEP.class);
|
||||
moduleBuilder.addLibrary("lang-api", pathForClass);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
protected void doTestInspectionDescription(@NotNull String inspectionFile, @NotNull String descriptionFile) {
|
||||
myFixture.copyDirectoryToProject("inspectionDescriptions", "inspectionDescriptions");
|
||||
GutterMark gutter = myFixture.findGutter(inspectionFile);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, "Description", AllIcons.FileTypes.Html, descriptionFile);
|
||||
}
|
||||
}
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. 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.navigation;
|
||||
|
||||
import com.intellij.codeInsight.daemon.GutterMark;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.testFramework.builders.JavaModuleFixtureBuilder;
|
||||
import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase;
|
||||
import com.intellij.ui.ColorUtil;
|
||||
import com.intellij.ui.components.JBList;
|
||||
import com.intellij.util.PathUtil;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public abstract class ExtensionDeclarationRelatedItemLineMarkerProviderTestBase extends JavaCodeInsightFixtureTestCase {
|
||||
@Override
|
||||
protected void tuneFixture(JavaModuleFixtureBuilder moduleBuilder) {
|
||||
String extensionsJar = PathUtil.getJarPathForClass(ExtensionPointName.class);
|
||||
moduleBuilder.addLibrary("extensions", extensionsJar);
|
||||
String platformApiJar = PathUtil.getJarPathForClass(JBList.class);
|
||||
moduleBuilder.addLibrary("platform-api", platformApiJar);
|
||||
}
|
||||
|
||||
protected void doTestExtension(@NotNull String file, @NotNull String xmlDeclarationText) {
|
||||
PsiFile pluginXmlFile = myFixture.configureByFile("plugin.xml");
|
||||
String pluginXmlPath = pluginXmlFile.getVirtualFile().getPath();
|
||||
|
||||
Module module = ModuleUtilCore.findModuleForPsiElement(pluginXmlFile);
|
||||
assertNotNull(module);
|
||||
|
||||
String color = ColorUtil.toHex(UIUtil.getInactiveTextColor());
|
||||
int expectedTagPosition = pluginXmlFile.getText().indexOf(xmlDeclarationText);
|
||||
String expectedTooltip = "<html><body> <a href=\"#navigation/" + pluginXmlPath
|
||||
+ ":" + expectedTagPosition + "\">myEp</a> declaration in plugin.xml " +
|
||||
"<font color=" + color + ">[" + module.getName() + "]</font><br></body></html>";
|
||||
|
||||
GutterMark gutter = myFixture.findGutter(file);
|
||||
DevKitGutterTargetsChecker.checkGutterTargets(gutter, expectedTooltip, AllIcons.Nodes.Plugin, "myEp");
|
||||
}
|
||||
|
||||
protected void doTestInvalidExtension(@NotNull String file) {
|
||||
myFixture.configureByFile("plugin.xml");
|
||||
assertNull(myFixture.findGutter(file));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user