mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
exceptions in checkEditorLeaks
This commit is contained in:
@@ -57,6 +57,7 @@ import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.project.ModuleListener;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectManager;
|
||||
import com.intellij.openapi.project.ProjectManagerAdapter;
|
||||
import com.intellij.openapi.project.ex.ProjectEx;
|
||||
import com.intellij.openapi.project.ex.ProjectManagerEx;
|
||||
import com.intellij.openapi.project.impl.ProjectImpl;
|
||||
@@ -212,7 +213,6 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
new Throwable(projectFile.getPath()).printStackTrace(new PrintStream(buffer));
|
||||
|
||||
ourProject = PlatformTestCase.createProject(projectFile, LIGHT_PROJECT_MARK +buffer.toString());
|
||||
|
||||
if (!ourHaveShutdownHook) {
|
||||
ourHaveShutdownHook = true;
|
||||
registerShutdownHook();
|
||||
@@ -348,7 +348,8 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
}
|
||||
((ProjectImpl)ourProject).setTemporarilyDisposed(false);
|
||||
|
||||
ProjectManagerEx.getInstanceEx().setCurrentTestProject(ourProject);
|
||||
ProjectManagerEx projectManagerEx = ProjectManagerEx.getInstanceEx();
|
||||
projectManagerEx.setCurrentTestProject(ourProject);
|
||||
|
||||
((PsiDocumentManagerImpl)PsiDocumentManager.getInstance(getProject())).clearUncommitedDocuments();
|
||||
|
||||
@@ -417,7 +418,8 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
catch (Exception e) {
|
||||
|
||||
}
|
||||
assertTrue("open: "+getProject().isOpen()+"; disposed:"+getProject().isDisposed()+"; startup passed:"+ passed+"; testProjectIsOurProject:"+(getProject() == ProjectManagerEx.getInstanceEx().getCurrentTestProject())+"; all open projects: "+
|
||||
assertTrue("open: "+getProject().isOpen()+"; disposed:"+getProject().isDisposed()+"; startup passed:"+ passed+"; testProjectIsOurProject:"+(getProject() == projectManagerEx
|
||||
.getCurrentTestProject())+"; all open projects: "+
|
||||
Arrays.asList(ProjectManager.getInstance().getOpenProjects()), getProject().isInitialized());
|
||||
|
||||
CodeStyleSettingsManager.getInstance(getProject()).setTemporarySettings(new CodeStyleSettings());
|
||||
@@ -427,6 +429,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
Document[] unsavedDocuments = manager.getUnsavedDocuments();
|
||||
manager.saveAllDocuments();
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
((FileDocumentManagerImpl)manager).dropAllUnsavedDocuments();
|
||||
}
|
||||
@@ -549,16 +552,28 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
}
|
||||
}
|
||||
|
||||
public static void checkEditorsReleased() {
|
||||
public static void checkEditorsReleased() throws Exception {
|
||||
CompositeException result = new CompositeException();
|
||||
final Editor[] allEditors = EditorFactory.getInstance().getAllEditors();
|
||||
if (allEditors.length > 0) {
|
||||
String fail = null;
|
||||
for (Editor editor : allEditors) {
|
||||
fail = EditorFactoryImpl.notReleasedError(editor);
|
||||
EditorFactory.getInstance().releaseEditor(editor);
|
||||
try {
|
||||
EditorFactory.getInstance().releaseEditor(editor);
|
||||
}
|
||||
catch (Throwable e) {
|
||||
result.add(e);
|
||||
}
|
||||
}
|
||||
try {
|
||||
fail("Unreleased editors: " + allEditors.length + "\n"+fail);
|
||||
}
|
||||
catch (Throwable e) {
|
||||
result.add(e);
|
||||
}
|
||||
fail("Unreleased editors: " + allEditors.length + "\n"+fail);
|
||||
}
|
||||
if (!result.isEmpty()) throw result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -723,6 +738,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da
|
||||
@Override
|
||||
public void run() {
|
||||
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
closeAndDeleteProject();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user