From 6fc4bb4b333964ca205a545c7a1abdf1b19a16e0 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 25 Sep 2018 11:33:06 +0200 Subject: [PATCH] restore constructor for application level UndoManager --- .../openapi/command/impl/UndoManagerImpl.java | 4 +++ .../impl/HeavyIdeaTestFixtureImpl.java | 36 ++++++++++++------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java index 07b616c7ebb3..f4cd20890661 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java @@ -85,6 +85,10 @@ public class UndoManagerImpl extends UndoManager implements Disposable { return Registry.intValue("undo.documentUndoLimit"); } + public UndoManagerImpl() { + this(null); + } + public UndoManagerImpl(@Nullable ProjectEx project) { myProject = project; diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java index 187eae274f20..b9d8f71685fc 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/impl/HeavyIdeaTestFixtureImpl.java @@ -93,16 +93,20 @@ class HeavyIdeaTestFixtureImpl extends BaseFixture implements HeavyIdeaTestFixtu @Override public void tearDown() throws Exception { - RunAll runAll = new RunAll() - .append(() -> LightPlatformTestCase.doTearDown(getProject(), myApplication)) - .append(() -> { - for (ModuleFixtureBuilder moduleFixtureBuilder : myModuleFixtureBuilders) { - moduleFixtureBuilder.getFixture().tearDown(); - } - }) - .append(() -> EdtTestUtil.runInEdtAndWait(() -> PlatformTestCase.closeAndDisposeProjectAndCheckThatNoOpenProjects(getProject()))) - .append(() -> InjectedLanguageManagerImpl.checkInjectorsAreDisposed(getProject())) - .append(() -> myProject = null); + RunAll runAll = new RunAll(); + + if (myProject != null) { + runAll = runAll + .append(() -> LightPlatformTestCase.doTearDown(getProject(), myApplication)) + .append(() -> { + for (ModuleFixtureBuilder moduleFixtureBuilder : myModuleFixtureBuilders) { + moduleFixtureBuilder.getFixture().tearDown(); + } + }) + .append(() -> EdtTestUtil.runInEdtAndWait(() -> PlatformTestCase.closeAndDisposeProjectAndCheckThatNoOpenProjects(getProject()))) + .append(() -> InjectedLanguageManagerImpl.checkInjectorsAreDisposed(getProject())) + .append(() -> myProject = null); + } JarFileSystemImpl.cleanupForNextTest(); @@ -128,8 +132,16 @@ class HeavyIdeaTestFixtureImpl extends BaseFixture implements HeavyIdeaTestFixtu runAll .append(super::tearDown) - .append(() -> myEditorListenerTracker.checkListenersLeak()) - .append(() -> myThreadTracker.checkLeak()) + .append(() -> { + if (myEditorListenerTracker != null) { + myEditorListenerTracker.checkListenersLeak(); + } + }) + .append(() -> { + if (myThreadTracker != null) { + myThreadTracker.checkLeak(); + } + }) .append(LightPlatformTestCase::checkEditorsReleased) .append(() -> { if (myOldSdks != null) {