Added ability to test quickfix with java dependencies
This commit is contained in:
committed by
Valentin Kipyatkov
parent
f40bb57d79
commit
251d87fd22
@@ -24,8 +24,11 @@ import com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler;
|
|||||||
import com.intellij.codeInspection.InspectionEP;
|
import com.intellij.codeInspection.InspectionEP;
|
||||||
import com.intellij.codeInspection.InspectionProfileEntry;
|
import com.intellij.codeInspection.InspectionProfileEntry;
|
||||||
import com.intellij.codeInspection.LocalInspectionEP;
|
import com.intellij.codeInspection.LocalInspectionEP;
|
||||||
|
import com.intellij.ide.highlighter.JavaFileType;
|
||||||
import com.intellij.openapi.command.CommandProcessor;
|
import com.intellij.openapi.command.CommandProcessor;
|
||||||
import com.intellij.openapi.extensions.Extensions;
|
import com.intellij.openapi.extensions.Extensions;
|
||||||
|
import com.intellij.openapi.fileTypes.FileType;
|
||||||
|
import com.intellij.openapi.fileTypes.PlainTextFileType;
|
||||||
import com.intellij.openapi.projectRoots.Sdk;
|
import com.intellij.openapi.projectRoots.Sdk;
|
||||||
import com.intellij.openapi.util.Pair;
|
import com.intellij.openapi.util.Pair;
|
||||||
import com.intellij.openapi.util.io.FileUtil;
|
import com.intellij.openapi.util.io.FileUtil;
|
||||||
@@ -73,6 +76,11 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
return texts;
|
return texts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private static String extraFileNamePrefix(@NotNull String mainFileName) {
|
||||||
|
return mainFileName.replace(".Main.kt", ".").replace(".Main.java", ".");
|
||||||
|
}
|
||||||
|
|
||||||
protected void doTestWithoutExtraFile(String beforeFileName) throws Exception {
|
protected void doTestWithoutExtraFile(String beforeFileName) throws Exception {
|
||||||
doTest(beforeFileName, false);
|
doTest(beforeFileName, false);
|
||||||
}
|
}
|
||||||
@@ -116,7 +124,7 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
@Override
|
@Override
|
||||||
protected void setUp() throws Exception {
|
protected void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
CodeInsightSettings.getInstance().EXCLUDED_PACKAGES = new String[]{"excludedPackage", "somePackage.ExcludedClass"};
|
CodeInsightSettings.getInstance().EXCLUDED_PACKAGES = new String[] {"excludedPackage", "somePackage.ExcludedClass"};
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -125,6 +133,18 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
super.tearDown();
|
super.tearDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected FileType guessFileType(TestFile file) {
|
||||||
|
if (file.name.contains("." + KotlinFileType.EXTENSION)) {
|
||||||
|
return KotlinFileType.INSTANCE;
|
||||||
|
}
|
||||||
|
else if (file.name.contains("." + JavaFileType.DEFAULT_EXTENSION)) {
|
||||||
|
return JavaFileType.INSTANCE;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return PlainTextFileType.INSTANCE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void doMultiFileTest(final String beforeFileName) throws Exception {
|
protected void doMultiFileTest(final String beforeFileName) throws Exception {
|
||||||
String multifileText = FileUtil.loadFile(new File(beforeFileName), true);
|
String multifileText = FileUtil.loadFile(new File(beforeFileName), true);
|
||||||
|
|
||||||
@@ -165,10 +185,10 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
subFiles.remove(beforeFile);
|
subFiles.remove(beforeFile);
|
||||||
|
|
||||||
for (TestFile file : subFiles) {
|
for (TestFile file : subFiles) {
|
||||||
configureByText(KotlinFileType.INSTANCE, file.content);
|
configureByText(guessFileType(file), file.content);
|
||||||
}
|
}
|
||||||
|
|
||||||
configureByText(KotlinFileType.INSTANCE, beforeFile.content);
|
configureByText(guessFileType(beforeFile), beforeFile.content);
|
||||||
|
|
||||||
CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
|
CommandProcessor.getInstance().executeCommand(getProject(), new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@@ -380,8 +400,9 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private static String extraFileNamePrefix(@NotNull String mainFileName) {
|
private VirtualFile findVirtualFile(@NotNull String filePath) {
|
||||||
return mainFileName.replace(".Main.kt", ".").replace(".Main.java", ".");
|
String absolutePath = getTestDataPath() + filePath;
|
||||||
|
return VfsTestUtil.findFileByCaseSensitivePath(absolutePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class TestFile {
|
private static class TestFile {
|
||||||
@@ -393,10 +414,4 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
|
|||||||
this.content = content;
|
this.content = content;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
|
||||||
private VirtualFile findVirtualFile(@NotNull String filePath) {
|
|
||||||
String absolutePath = getTestDataPath() + filePath;
|
|
||||||
return VfsTestUtil.findFileByCaseSensitivePath(absolutePath);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user