don't leak choose by name popup in tests

This commit is contained in:
peter
2013-06-26 16:49:00 +02:00
parent 93d991ece5
commit 45959b751c
2 changed files with 5 additions and 5 deletions
@@ -2,7 +2,9 @@ package com.intellij.navigation
import com.intellij.ide.util.gotoByName.ChooseByNameModel
import com.intellij.ide.util.gotoByName.ChooseByNamePopup
import com.intellij.ide.util.gotoByName.GotoClassModel2
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.ModalityState
import com.intellij.openapi.util.Disposer
import com.intellij.psi.PsiElement
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase
import com.intellij.util.Consumer
@@ -22,6 +24,7 @@ class ChooseByNameTest extends LightCodeInsightFixtureTestCase {
private List<Object> createPopup(ChooseByNameModel model, String text) {
def popup = ChooseByNamePopup.createPopup(project, model, (PsiElement)null, "")
Disposer.register(testRootDisposable, { popup.close(false) } as Disposable)
List<Object> elements = ['empty']
def semaphore = new Semaphore()
semaphore.down()
@@ -18,6 +18,7 @@ package com.intellij.ide.util.gotoByName;
import com.intellij.featureStatistics.FeatureUsageTracker;
import com.intellij.ide.ui.UISettings;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.application.ModalityState;
import com.intellij.openapi.keymap.KeymapUtil;
import com.intellij.openapi.project.Project;
@@ -255,14 +256,10 @@ public class ChooseByNamePopup extends ChooseByNameBase implements ChooseByNameP
}
cleanupUI(isOk);
if (ApplicationManager.getApplication().isUnitTestMode()) return;
myActionListener.onClose();
}
@Nullable
public static ChooseByNamePopup getActivePopup(@NotNull final Project project) {
return CHOOSE_BY_NAME_POPUP_IN_PROJECT_KEY.get(project);
}
private void cleanupUI(boolean ok) {
if (myTextPopup != null) {
if (ok) {