mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[Recent Tests] prevent from showing suite twice in select configuration step
This commit is contained in:
@@ -130,32 +130,9 @@ class SelectTestStep(title: String?,
|
||||
}
|
||||
|
||||
private fun getConfigurations(entry: RecentTestsPopupEntry): List<RecentTestsPopupEntry> {
|
||||
val items = mutableListOf<RecentTestsPopupEntry>()
|
||||
|
||||
entry.accept(object : TestEntryVisitor() {
|
||||
override fun visitTest(test: SingleTestEntry) {
|
||||
val configuration = test.suite?.runConfigurationEntry ?: RunConfigurationEntry(test.runConfiguration)
|
||||
items.add(test.suite ?: return)
|
||||
|
||||
if (isSingleTestConfiguration(configuration)) {
|
||||
items.add(test.suite ?: return)
|
||||
return
|
||||
}
|
||||
|
||||
items.add(configuration)
|
||||
if (configuration.suites.size > 1) {
|
||||
items.add(0, test.suite ?: return)
|
||||
}
|
||||
}
|
||||
|
||||
private fun isSingleTestConfiguration(configuration: RunConfigurationEntry): Boolean {
|
||||
val suites = configuration.suites
|
||||
return suites.size == 1 && suites[0].tests.size == 1
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
return items
|
||||
val collector = TestConfigurationCollector()
|
||||
entry.accept(collector)
|
||||
return collector.getEnclosingConfigurations()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -56,4 +56,20 @@ class ConfigurationsCollector : TestEntryVisitor() {
|
||||
override fun visitSuite(suite: SuiteEntry) {
|
||||
entries.add(suite)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class TestConfigurationCollector : TestEntryVisitor() {
|
||||
private val items = mutableListOf<RecentTestsPopupEntry>()
|
||||
|
||||
fun getEnclosingConfigurations(): List<RecentTestsPopupEntry> = items
|
||||
|
||||
override fun visitTest(test: SingleTestEntry) {
|
||||
val configurationEntry = test.suite?.runConfigurationEntry ?: RunConfigurationEntry(test.runConfiguration)
|
||||
items.add(configurationEntry)
|
||||
if (test.suite != null && configurationEntry.suites.size > 1) {
|
||||
items.add(0, test.suite!!)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user