From 3a773d4d98513d322687efb683ac2a25ca7998ed Mon Sep 17 00:00:00 2001 From: Aydar Mukhametzyanov Date: Tue, 2 Sep 2025 11:46:56 +0200 Subject: [PATCH] IJPL-189541 Search Everywhere: make backend mock counting presentation refreshes GitOrigin-RevId: 73baa0744023097e7137c149702913f9369b1304 --- .../src/mocks/SeItemsProviderFactoryMockBackend.kt | 2 +- .../src/providers/mocks/SeItemsProviderMock.kt | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/platform/searchEverywhere/backend/src/mocks/SeItemsProviderFactoryMockBackend.kt b/platform/searchEverywhere/backend/src/mocks/SeItemsProviderFactoryMockBackend.kt index 3244468b23cb..9a00a7380d57 100644 --- a/platform/searchEverywhere/backend/src/mocks/SeItemsProviderFactoryMockBackend.kt +++ b/platform/searchEverywhere/backend/src/mocks/SeItemsProviderFactoryMockBackend.kt @@ -13,7 +13,7 @@ class SeItemsProviderFactoryMockBackend: SeItemsProviderFactory { override val id: String get() = ID override suspend fun getItemsProvider(project: Project?, dataContext: DataContext): SeItemsProvider? = - SeItemsProviderMock(resultPrefix = PREFIX, id = ID, displayName = PREFIX, delayMillis = 100, delayStep = 1) + SeItemsProviderMock(resultPrefix = PREFIX, id = ID, displayName = PREFIX, delayMillis = 100, delayStep = 1, shouldCloseOnSelect = false) companion object { const val PREFIX: String = "MockBackend" diff --git a/platform/searchEverywhere/shared/src/providers/mocks/SeItemsProviderMock.kt b/platform/searchEverywhere/shared/src/providers/mocks/SeItemsProviderMock.kt index d07453d5ad1c..8b3b67a39b92 100644 --- a/platform/searchEverywhere/shared/src/providers/mocks/SeItemsProviderMock.kt +++ b/platform/searchEverywhere/shared/src/providers/mocks/SeItemsProviderMock.kt @@ -20,6 +20,7 @@ class SeItemsProviderMock( private val size: Int = 100, private val delayMillis: Long = 0, private val delayStep: Int = 0, + private val shouldCloseOnSelect: Boolean = true, ) : SeItemsProvider { override suspend fun collectItems(params: SeParams, collector: SeItemsProvider.Collector) { @@ -50,7 +51,7 @@ class SeItemsProviderMock( override suspend fun itemSelected(item: SeItem, modifiers: Int, searchText: String): Boolean { SeLog.logSuspendable(USER_ACTION) { "Provider ${id} item selected: ${item.presentation().text}" } - return true + return shouldCloseOnSelect } override suspend fun canBeShownInFindResults(): Boolean { @@ -64,6 +65,13 @@ class SeItemsProviderMock( @ApiStatus.Internal class SeItemMock(val text: @NlsSafe String) : SeItem { + private var presentationUpdateCounter = -1 + override fun weight(): Int = 0 - override suspend fun presentation(): SeItemPresentation = SeSimpleItemPresentation(text = text, isMultiSelectionSupported = false) + override suspend fun presentation(): SeItemPresentation { + presentationUpdateCounter++ + + return SeSimpleItemPresentation(text = if (presentationUpdateCounter > 0) "$text - $presentationUpdateCounter" else text, + isMultiSelectionSupported = false) + } }