[Recent Tests] attach unmatched tests to it's suites, even if they were executed from different run configurations

This commit is contained in:
Yaroslav Lepenkin
2016-06-15 18:23:40 +03:00
parent a1747521c5
commit 47cef86c7c
4 changed files with 73 additions and 13 deletions
@@ -100,9 +100,23 @@ class RecentTestsData {
return null
}
fun computeConfigurationSuites() = runConfigurationSuites.values
.fold(arrayListOf(), { total: List<SuiteEntry>, entry: RunConfigurationEntry -> total + entry.suites })
fun getTestsToShow(): List<RecentTestsPopupEntry> {
val allEntries: List<RecentTestsPopupEntry> = runConfigurationSuites.values + urlSuites
return allEntries
val allConfigurationSuites = computeConfigurationSuites()
unmatchedRunConfigurationTests.forEach {
val currentTest = it
allConfigurationSuites.find { it.isMyTest(currentTest) }?.addTest(currentTest)
}
unmatchedUrlTests.forEach {
val currentTest = it
urlSuites.find { it.isMyTest(currentTest) }?.addTest(currentTest)
}
return (runConfigurationSuites.values + urlSuites)
.sortedByDescending { it.runDate }
.fold(listOf(), { popupList, currentEntry ->
popupList + currentEntry.getEntriesToShow()
@@ -20,7 +20,6 @@ import com.intellij.execution.testframework.sm.runner.states.TestStateInfo
import com.intellij.execution.testframework.sm.runner.states.TestStateInfo.Magnitude.*
import com.intellij.openapi.vfs.VirtualFileManager
import com.intellij.psi.PsiElement
import com.intellij.util.containers.ContainerUtil
import java.util.*
interface RecentTestsPopupEntry {
@@ -88,7 +87,7 @@ class SuiteEntry(url: String, magnitude: TestStateInfo.Magnitude, runDate: Date)
class RunConfigurationEntry(val runSettings: RunnerAndConfigurationSettings, initial: SuiteEntry) : RecentTestsPopupEntry {
val suites = ContainerUtil.newArrayList<SuiteEntry>()
val suites = arrayListOf<SuiteEntry>()
init {
addSuite(initial)