mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-30 10:20:15 +07:00
IJPL-149042 Convert Future to Deferred in test to make it cancel on test timeout
GitOrigin-RevId: d08df0d298f9ac83624f45ef8eff59d6b969154c
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eb09ab9d38
commit
7c8f647878
@@ -4,7 +4,6 @@ import com.intellij.ide.actions.searcheverywhere.ActionSearchEverywhereContribut
|
||||
import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI
|
||||
import com.intellij.ide.actions.searcheverywhere.SearchEverywhereUI.SINGLE_CONTRIBUTOR_ELEMENTS_LIMIT
|
||||
import com.intellij.ide.util.gotoByName.GotoActionModel
|
||||
import com.intellij.idea.IJIgnore
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.openapi.application.readAction
|
||||
import com.intellij.openapi.util.Disposer
|
||||
@@ -51,7 +50,7 @@ class SemanticActionSearchTest : SemanticSearchBaseTestCase() {
|
||||
}
|
||||
Disposer.register(project, searchEverywhereUI)
|
||||
|
||||
val elements = runBlocking(Dispatchers.EDT) { searchEverywhereUI.findElementsForPattern("delete all breakpoints") }.get()
|
||||
val elements = runOnEdt { searchEverywhereUI.findElementsForPattern("delete all breakpoints") }.await()
|
||||
|
||||
val items = elements.filterIsInstance<GotoActionModel.MatchedValue>().map { (it.value as GotoActionModel.ActionWrapper).actionText }
|
||||
|
||||
@@ -67,7 +66,7 @@ class SemanticActionSearchTest : SemanticSearchBaseTestCase() {
|
||||
val semanticSearchEverywhereUI = runBlocking(Dispatchers.EDT) { SearchEverywhereUI(project, listOf(semanticActionContributor)) }
|
||||
Disposer.register(project, semanticSearchEverywhereUI)
|
||||
|
||||
val results = runBlocking(Dispatchers.EDT) { semanticSearchEverywhereUI.findElementsForPattern("") }.get()
|
||||
val results = runOnEdt { semanticSearchEverywhereUI.findElementsForPattern("") }.await()
|
||||
|
||||
assertEquals("expected no results from semantic contributor for empty query",
|
||||
0, results.filterIsInstance<GotoActionModel.MatchedValue>().mapNotNull { it.value as? GotoActionModel.MatchedValue }.size)
|
||||
@@ -96,8 +95,8 @@ class SemanticActionSearchTest : SemanticSearchBaseTestCase() {
|
||||
prefixes.addAll(lastAdded)
|
||||
}
|
||||
|
||||
fun findResultsFromUI(ui: SearchEverywhereUI, query: String): List<String> {
|
||||
return runBlocking(Dispatchers.EDT) { ui.findElementsForPattern(query) }.get()
|
||||
suspend fun findResultsFromUI(ui: SearchEverywhereUI, query: String): List<String> {
|
||||
return runOnEdt { ui.findElementsForPattern(query) }.await()
|
||||
.filterIsInstance<GotoActionModel.MatchedValue>()
|
||||
.mapNotNull { it.value as? GotoActionModel.ActionWrapper }
|
||||
// 'Include disabled actions' checkbox is automatically set in standard search when no results found.
|
||||
|
||||
@@ -61,7 +61,7 @@ class SemanticClassSearchTest : SemanticSearchBaseTestCase() {
|
||||
val searchEverywhereUI = runBlocking(Dispatchers.EDT) { SearchEverywhereUI(project, listOf(contributor), { _ -> null }, null) }
|
||||
Disposer.register(project, searchEverywhereUI)
|
||||
|
||||
val elements = runBlocking(Dispatchers.EDT) { searchEverywhereUI.findElementsForPattern("index project job") }.get()
|
||||
val elements = runOnEdt { searchEverywhereUI.findElementsForPattern("index project job") }.await()
|
||||
|
||||
val items: List<PsiElement> = elements.filterIsInstance<PsiItemWithSimilarity<*>>().mapNotNull { extractPsiElement(it) }
|
||||
assertEquals(2, items.size)
|
||||
|
||||
@@ -61,7 +61,7 @@ class SemanticFileSearchTest : SemanticSearchBaseTestCase() {
|
||||
val searchEverywhereUI = runBlocking(Dispatchers.EDT) { SearchEverywhereUI (project, listOf(contributor), { _ -> null }, null) }
|
||||
Disposer.register(project, searchEverywhereUI)
|
||||
|
||||
val elements = runBlocking(Dispatchers.EDT) { searchEverywhereUI.findElementsForPattern("index project job") }.get()
|
||||
val elements = runOnEdt { searchEverywhereUI.findElementsForPattern("index project job") }.await()
|
||||
|
||||
val items: List<PsiElement> = elements.filterIsInstance<PsiItemWithSimilarity<*>>().mapNotNull { extractPsiElement(it) }
|
||||
assertEquals(2, items.size)
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package com.intellij.searchEverywhereMl.semantics.tests
|
||||
|
||||
import com.intellij.ide.actions.searcheverywhere.PSIPresentationBgRendererWrapper
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.ide.actions.searcheverywhere.PsiItemWithSimilarity
|
||||
import com.intellij.openapi.application.EDT
|
||||
import com.intellij.psi.PsiElement
|
||||
import kotlinx.coroutines.Deferred
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.future.asDeferred
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import java.util.concurrent.CompletionStage
|
||||
import java.util.concurrent.Future
|
||||
|
||||
|
||||
fun extractPsiElement(element: PsiItemWithSimilarity<*>): PsiElement? {
|
||||
@@ -12,3 +19,8 @@ fun extractPsiElement(element: PsiItemWithSimilarity<*>): PsiElement? {
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
fun <T> runOnEdt(f: () -> Future<T>): Deferred<T> {
|
||||
val future = runBlocking(Dispatchers.EDT) { f() }
|
||||
return (future as CompletionStage<T>).asDeferred()
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ class SemanticSymbolSearchTest : SemanticSearchBaseTestCase() {
|
||||
val searchEverywhereUI = runBlocking(Dispatchers.EDT) { SearchEverywhereUI(project, listOf(contributor), { _ -> null }, null) }
|
||||
Disposer.register(project, searchEverywhereUI)
|
||||
|
||||
val elements = runBlocking(Dispatchers.EDT) { searchEverywhereUI.findElementsForPattern("begin indexing") }.get()
|
||||
val elements = runOnEdt { searchEverywhereUI.findElementsForPattern("begin indexing") }.await()
|
||||
|
||||
val items: List<PsiElement> = elements.filterIsInstance<PsiItemWithSimilarity<*>>().mapNotNull { extractPsiElement(it) }
|
||||
assertEquals(2, items.size)
|
||||
|
||||
Reference in New Issue
Block a user