FIR IDE: introduce diagnostics tests bases on FIR diagnostics tests
This commit is contained in:
+34
-3
@@ -25,6 +25,7 @@ import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -110,17 +111,47 @@ public class PluginTestCaseBase {
|
||||
switch (kind) {
|
||||
case MOCK_JDK:
|
||||
return mockJdk();
|
||||
case MODIFIED_MOCK_JDK:
|
||||
return jdkByVersion("MODIFIED MOCK", KtTestUtil.findMockJdkRtModified());
|
||||
case FULL_JDK_6:
|
||||
return jdkByVersion("6", KtTestUtil.getJdk6Home());
|
||||
case FULL_JDK_9:
|
||||
String jre9 = KtTestUtil.getJdk9Home().getPath();
|
||||
VfsRootAccess.allowRootAccess(jre9);
|
||||
return getSdk(jre9, "Full JDK 9");
|
||||
return jdkByVersion("9", KtTestUtil.getJdk9Home());
|
||||
case FULL_JDK:
|
||||
return fullJdk();
|
||||
case FULL_JDK_15:
|
||||
return jdkByVersion("15", KtTestUtil.getJdk15Home());
|
||||
default:
|
||||
throw new UnsupportedOperationException(kind.toString());
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static LanguageLevel getLanguageLevel(@NotNull TestJdkKind kind) {
|
||||
switch (kind) {
|
||||
case MOCK_JDK:
|
||||
return LanguageLevel.JDK_1_8;
|
||||
case MODIFIED_MOCK_JDK:
|
||||
return LanguageLevel.JDK_11;
|
||||
case FULL_JDK_6:
|
||||
return LanguageLevel.JDK_1_6;
|
||||
case FULL_JDK_9:
|
||||
return LanguageLevel.JDK_1_9;
|
||||
case FULL_JDK:
|
||||
return LanguageLevel.JDK_1_8;
|
||||
case FULL_JDK_15:
|
||||
return LanguageLevel.JDK_15_PREVIEW;
|
||||
default:
|
||||
throw new UnsupportedOperationException(kind.toString());
|
||||
}
|
||||
}
|
||||
|
||||
private static Sdk jdkByVersion(String version, File jdkDir) {
|
||||
String path = jdkDir.getPath();
|
||||
VfsRootAccess.allowRootAccess(path);
|
||||
return getSdk(path, "Full JDK " + version);
|
||||
}
|
||||
|
||||
public static boolean isAllFilesPresentTest(@NotNull String testName) {
|
||||
return StringUtil.startsWithIgnoreCase(testName, "allFilesPresentIn");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user