mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
don't leak choose by name popup in tests
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user