mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-14 18:05:27 +07:00
ML in SE: Ensure disposal of test elements
GitOrigin-RevId: 2d8bea855482179c164ffeb1201ece9cc59609e7
This commit is contained in:
committed by
intellij-monorepo-bot
parent
eaa7d41df8
commit
406d8a8a67
@@ -22,19 +22,24 @@ import javax.swing.SwingUtilities
|
||||
|
||||
abstract class SearchEverywhereLoggingTestCase : LightPlatformTestCase() {
|
||||
fun MockSearchEverywhereProvider.runSearchAndCollectLogEvents(testProcedure: SearchEverywhereUI.() -> Unit): List<LogEvent> {
|
||||
val emptyDisposable = Disposer.newDisposable()
|
||||
val disposables = mutableListOf<Disposable>()
|
||||
|
||||
return FUCollectorTestCase.collectLogEvents(MLSE_RECORDER_ID, emptyDisposable) {
|
||||
val searchEverywhereUI = this.provide(project)
|
||||
try {
|
||||
val emptyDisposable = Disposer.newDisposable()
|
||||
disposables.add(emptyDisposable)
|
||||
|
||||
PlatformTestUtil.waitForAlarm(10) // wait for rebuild list (session started)
|
||||
return FUCollectorTestCase.collectLogEvents(MLSE_RECORDER_ID, emptyDisposable) {
|
||||
val searchEverywhereUI = this.provide(project)
|
||||
disposables.add(searchEverywhereUI)
|
||||
|
||||
testProcedure(searchEverywhereUI)
|
||||
PlatformTestUtil.waitForAlarm(10) // wait for rebuild list (session started)
|
||||
|
||||
Disposer.dispose(searchEverywhereUI) // Otherwise, the instance seems to be reused between different tests
|
||||
}.also {
|
||||
Disposer.dispose(emptyDisposable)
|
||||
}.filter { it.event.id in listOf(SESSION_FINISHED.eventId, SEARCH_RESTARTED.eventId) }
|
||||
testProcedure(searchEverywhereUI)
|
||||
}.filter { it.event.id in listOf(SESSION_FINISHED.eventId, SEARCH_RESTARTED.eventId) }
|
||||
}
|
||||
finally {
|
||||
disposables.forEach { Disposer.dispose(it) }
|
||||
}
|
||||
}
|
||||
|
||||
fun SearchEverywhereUI.type(query: CharSequence) = also { searchEverywhereUI ->
|
||||
|
||||
Reference in New Issue
Block a user