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) + } }