mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
IJPL-578 wait for indexes to be ready in tests after java language level change
GitOrigin-RevId: 89aa34d35c05284af90258b3208fb1198be8bc9e
This commit is contained in:
committed by
intellij-monorepo-bot
parent
42ee08fe05
commit
8539bcd407
@@ -20,7 +20,6 @@ import com.intellij.openapi.fileEditor.TextEditor;
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.roots.ModuleRootManager;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
@@ -593,6 +592,6 @@ public abstract class JavaCodeInsightTestCase extends JavaPsiTestCase {
|
||||
}
|
||||
|
||||
protected void setLanguageLevel(@NotNull LanguageLevel level) {
|
||||
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(level);
|
||||
IdeaTestUtil.setProjectLanguageLevel(getProject(), level);
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ import com.intellij.openapi.application.Application;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.module.LanguageLevelUtil;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.projectRoots.*;
|
||||
import com.intellij.openapi.projectRoots.impl.JavaSdkImpl;
|
||||
@@ -67,18 +68,32 @@ public final class IdeaTestUtil {
|
||||
}
|
||||
}
|
||||
|
||||
public static void setModuleLanguageLevel(@NotNull Module module, @Nullable LanguageLevel level) {
|
||||
public static void setProjectLanguageLevel(@NotNull Project project, @NotNull LanguageLevel level, @NotNull Disposable disposable) {
|
||||
LanguageLevel oldLevel = setProjectLanguageLevel(project, level);
|
||||
Disposer.register(disposable, () -> {
|
||||
setProjectLanguageLevel(project, oldLevel);
|
||||
});
|
||||
}
|
||||
|
||||
public static LanguageLevel setProjectLanguageLevel(@NotNull Project project, @NotNull LanguageLevel level) {
|
||||
LanguageLevelProjectExtension projectExt = LanguageLevelProjectExtension.getInstance(project);
|
||||
LanguageLevel oldLevel = projectExt.getLanguageLevel();
|
||||
projectExt.setLanguageLevel(level);
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(project);
|
||||
return oldLevel;
|
||||
}
|
||||
|
||||
public static LanguageLevel setModuleLanguageLevel(@NotNull Module module, @Nullable LanguageLevel level) {
|
||||
LanguageLevel prev = LanguageLevelUtil.getCustomLanguageLevel(module);
|
||||
ModuleRootModificationUtil.updateModel(module, model -> model.getModuleExtension(LanguageLevelModuleExtension.class).setLanguageLevel(level));
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
|
||||
return prev;
|
||||
}
|
||||
|
||||
public static void setModuleLanguageLevel(@NotNull Module module, @NotNull LanguageLevel level, @NotNull Disposable parentDisposable) {
|
||||
LanguageLevel prev = LanguageLevelUtil.getCustomLanguageLevel(module);
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
|
||||
setModuleLanguageLevel(module, level);
|
||||
LanguageLevel prev = setModuleLanguageLevel(module, level);
|
||||
Disposer.register(parentDisposable, () -> {
|
||||
setModuleLanguageLevel(module, prev);
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(module.getProject());
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ package com.intellij.testFramework;
|
||||
import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.module.StdModuleTypes;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.impl.JavaPsiFacadeEx;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -15,8 +14,7 @@ public abstract class JavaProjectTestCase extends HeavyPlatformTestCase {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(getProjectLanguageLevel());
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
|
||||
IdeaTestUtil.setProjectLanguageLevel(getProject(), getProjectLanguageLevel());
|
||||
myJavaFacade = JavaPsiFacadeEx.getInstanceEx(myProject);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleTypeId;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -83,14 +82,7 @@ public abstract class LightJavaCodeInsightTestCase extends LightPlatformCodeInsi
|
||||
}
|
||||
|
||||
protected void setLanguageLevel(@NotNull LanguageLevel level) {
|
||||
LanguageLevelProjectExtension extension = LanguageLevelProjectExtension.getInstance(getProject());
|
||||
LanguageLevel prev = extension.getLanguageLevel();
|
||||
extension.setLanguageLevel(level);
|
||||
Disposer.register(myBeforeParentDisposeDisposable, () -> {
|
||||
extension.setLanguageLevel(prev);
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
|
||||
});
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
|
||||
IdeaTestUtil.setProjectLanguageLevel(getProject(), level, myBeforeParentDisposeDisposable);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,11 +5,11 @@ import com.intellij.openapi.Disposable;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.JavaPsiFacade;
|
||||
import com.intellij.psi.PsiElementFactory;
|
||||
import com.intellij.psi.impl.PsiManagerEx;
|
||||
import com.intellij.testFramework.IdeaTestUtil;
|
||||
import com.intellij.testFramework.TestDataPath;
|
||||
import com.intellij.testFramework.TestIndexingModeSupporter;
|
||||
import com.intellij.testFramework.UsefulTestCase;
|
||||
@@ -48,7 +48,7 @@ public abstract class JavaCodeInsightFixtureTestCase extends UsefulTestCase impl
|
||||
|
||||
myFixture.setTestDataPath(getTestDataPath());
|
||||
myFixture.setUp();
|
||||
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_6);
|
||||
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_6);
|
||||
}
|
||||
|
||||
protected boolean toAddSourceRoot() {
|
||||
|
||||
@@ -9,7 +9,6 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.LanguageLevelModuleExtension;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.pom.java.AcceptedLanguageLevelsSettings;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
@@ -120,8 +119,7 @@ public abstract class LightJavaCodeInsightFixtureTestCase extends UsefulTestCase
|
||||
myFixture.setTestDataPath(getTestDataPath());
|
||||
myFixture.setUp();
|
||||
|
||||
LanguageLevelProjectExtension.getInstance(getProject()).setLanguageLevel(LanguageLevel.JDK_1_6);
|
||||
IndexingTestUtil.waitUntilIndexesAreReady(getProject());
|
||||
IdeaTestUtil.setProjectLanguageLevel(getProject(), LanguageLevel.JDK_1_6);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
Reference in New Issue
Block a user