don't modify shared project roots in some java light tests

This commit is contained in:
peter
2018-07-23 15:08:10 +02:00
parent 098a2ec4b2
commit d0504c9ee6
5 changed files with 78 additions and 44 deletions
@@ -15,14 +15,26 @@
*/
package com.intellij.java.codeInsight;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.LightProjectDescriptor;
import org.jetbrains.annotations.NotNull;
public class ExternalJavadocUrls7Test extends ExternalJavadocUrlsTest {
private static final ProjectDescriptor DESCRIPTOR = new ProjectDescriptor(LanguageLevel.JDK_1_7) {
@Override
public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ContentEntry contentEntry) {
super.configureModule(module, model, contentEntry);
setMockJavadocUrl(model);
}
};
@NotNull
@Override
protected LightProjectDescriptor getProjectDescriptor() {
return JAVA_1_7;
return DESCRIPTOR;
}
@Override
@@ -16,20 +16,45 @@
package com.intellij.java.codeInsight;
import com.intellij.lang.java.JavaDocumentationProvider;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.projectRoots.Sdk;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.JavaModuleExternalPaths;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.testFramework.PsiTestUtil;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import java.util.List;
public class ExternalJavadocUrlsTest extends LightCodeInsightFixtureTestCase {
private static final ProjectDescriptor DESCRIPTOR = new ProjectDescriptor(LanguageLevel.HIGHEST) {
@Override
public Sdk getSdk() {
return IdeaTestUtil.getMockJdk17();
}
@Override
public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ContentEntry contentEntry) {
super.configureModule(module, model, contentEntry);
setMockJavadocUrl(model);
}
};
@NotNull
@Override
protected void setUp() throws Exception {
super.setUp();
PsiTestUtil.setJavadocUrls(myModule, "http://doc" );
protected LightProjectDescriptor getProjectDescriptor() {
return DESCRIPTOR;
}
protected static void setMockJavadocUrl(@NotNull ModifiableRootModel model) {
model.getModuleExtension(JavaModuleExternalPaths.class).setJavadocUrls(new String[]{"http://doc"});
}
public void testVarargs() {
@@ -16,15 +16,16 @@
package com.intellij.java.codeInsight.completion;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.completion.LightCompletionTestCase;
import com.intellij.codeInsight.completion.LightFixtureCompletionTestCase;
import com.intellij.openapi.fileTypes.MockLanguageFileType;
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiFileFactory;
import org.jetbrains.annotations.NotNull;
/**
* @author Maxim.Mossienko
*/
public class CustomFileTypeCompletionTest extends LightCompletionTestCase {
public class CustomFileTypeCompletionTest extends LightFixtureCompletionTestCase {
private static final String BASE_PATH = "/codeInsight/completion/customFileType/";
@NotNull
@@ -43,36 +44,31 @@ public class CustomFileTypeCompletionTest extends LightCompletionTestCase {
public void testWordCompletion() {
configureByFile(BASE_PATH + "WordCompletion.cs");
testByCount(2, "while", "whiwhiwhi");
myFixture.assertPreferredCompletionItems(0, "while", "whiwhiwhi");
}
public void testErlang() {
configureByFile(BASE_PATH + "Erlang.erl");
testByCount(2, "case", "catch");
myFixture.assertPreferredCompletionItems(0, "case", "catch");
}
public void testComment() {
configureByFile(BASE_PATH + "foo.cs");
testByCount(0, new String[] { null });
assertEmpty(myFixture.getLookupElements());
}
public void testEmptyFile() {
configureFromFileText("a.cs", "<caret>");
myFixture.configureByText("a.cs", "<caret>");
complete();
testByCount(1, "abstract", "x");
assertTrue(myFixture.getLookupElementStrings().contains("abstract"));
assertFalse(myFixture.getLookupElementStrings().contains("x"));
}
public void testPlainTextSubstitution() {
FileTypeManagerEx.getInstanceEx().registerFileType(MockLanguageFileType.INSTANCE, "xxx");
try {
configureFromFileText("a.xxx", "aaa a<caret>");
complete();
checkResultByText("aaa aaa<caret>");
}
finally {
FileTypeManagerEx.getInstanceEx().unregisterFileType(MockLanguageFileType.INSTANCE);
}
PsiFile file = PsiFileFactory.getInstance(getProject()).createFileFromText("a.xxx", MockLanguageFileType.INSTANCE, "aaa a<caret>", 0, true);
myFixture.configureFromExistingVirtualFile(file.getViewProvider().getVirtualFile());
complete();
myFixture.checkResult("aaa aaa<caret>");
}
}
@@ -19,7 +19,11 @@ import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.InspectionsBundle;
import com.intellij.codeInspection.miscGenerics.RawTypeCanBeGenericInspection;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.diagnostic.DefaultLogger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ContentEntry;
import com.intellij.openapi.roots.ModifiableRootModel;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.refactoring.BaseRefactoringProcessor;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.LightProjectDescriptor;
@@ -29,7 +33,13 @@ import org.jetbrains.annotations.NotNull;
import java.util.List;
public class RawTypeCanBeGenericTest extends LightCodeInsightFixtureTestCase {
private RawTypeCanBeGenericInspection myInspection = new RawTypeCanBeGenericInspection();
private static final ProjectDescriptor JDK_8_WITH_LEVEL_6 = new ProjectDescriptor(LanguageLevel.JDK_1_6) {
@Override
public void configureModule(@NotNull Module module, @NotNull ModifiableRootModel model, @NotNull ContentEntry contentEntry) {
super.configureModule(module, model, contentEntry);
model.setSdk(IdeaTestUtil.getMockJdk18());
}
};
@Override
protected String getBasePath() {
@@ -39,19 +49,7 @@ public class RawTypeCanBeGenericTest extends LightCodeInsightFixtureTestCase {
@Override
protected void setUp() throws Exception {
super.setUp();
ModuleRootModificationUtil.setModuleSdk(myModule, IdeaTestUtil.getMockJdk18());
myFixture.enableInspections(myInspection);
}
@Override
protected void tearDown() throws Exception {
try {
myFixture.disableInspections(myInspection);
}
finally {
myInspection = null;
super.tearDown();
}
myFixture.enableInspections(new RawTypeCanBeGenericInspection());
}
public void testField() {
@@ -67,6 +65,7 @@ public class RawTypeCanBeGenericTest extends LightCodeInsightFixtureTestCase {
}
public void testConflict() {
DefaultLogger.disableStderrDumping(getTestRootDisposable());
try {
doTest(getMessage("list", "List<T>"));
fail("No conflict detected");
@@ -110,6 +109,6 @@ public class RawTypeCanBeGenericTest extends LightCodeInsightFixtureTestCase {
@NotNull
@Override
protected LightProjectDescriptor getProjectDescriptor() {
return JAVA_1_6;
return JDK_8_WITH_LEVEL_6;
}
}