@@ -36,7 +36,6 @@ import com.intellij.openapi.application.runWriteAction
36
36
import com.intellij.openapi.command.WriteCommandAction
37
37
import com.intellij.openapi.components.service
38
38
import com.intellij.openapi.options.ShowSettingsUtil
39
- import com.intellij.openapi.projectRoots.JavaSdkVersion
40
39
import com.intellij.openapi.roots.ContentEntry
41
40
import com.intellij.openapi.roots.DependencyScope
42
41
import com.intellij.openapi.roots.ExternalLibraryDescriptor
@@ -48,7 +47,6 @@ import com.intellij.openapi.ui.DialogPanel
48
47
import com.intellij.openapi.ui.DialogWrapper
49
48
import com.intellij.openapi.ui.Messages
50
49
import com.intellij.openapi.ui.ValidationInfo
51
- import com.intellij.openapi.ui.popup.IconButton
52
50
import com.intellij.openapi.vfs.VfsUtil
53
51
import com.intellij.openapi.vfs.VfsUtilCore.urlToPath
54
52
import com.intellij.openapi.vfs.VirtualFile
@@ -76,12 +74,8 @@ import com.intellij.util.IncorrectOperationException
76
74
import com.intellij.util.io.exists
77
75
import com.intellij.util.lang.JavaVersion
78
76
import com.intellij.util.ui.JBUI
79
- import com.intellij.util.ui.JBUI.Borders.empty
80
- import com.intellij.util.ui.JBUI.Borders.merge
81
- import com.intellij.util.ui.JBUI.scale
82
77
import com.intellij.util.ui.JBUI.size
83
78
import com.intellij.util.ui.UIUtil
84
- import com.intellij.util.ui.components.BorderLayoutPanel
85
79
import java.awt.BorderLayout
86
80
import java.nio.file.Files
87
81
import java.nio.file.Path
@@ -225,6 +219,13 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
225
219
contextHelpLabel?.let { add(it, BorderLayout .LINE_END ) }
226
220
})
227
221
222
+ private fun findSdkVersion (): Int {
223
+ val projectSdk = ModuleRootManager .getInstance(model.testModule).sdk
224
+ val sdkVersion = JavaVersion .tryParse(projectSdk?.versionString)
225
+ ? : error(" No sdk found in ${model.testModule} " )
226
+ return sdkVersion.feature
227
+ }
228
+
228
229
private fun findTestPackageComboValue (): String {
229
230
val packageNames = model.srcClasses.map { it.packageName }.distinct()
230
231
return if (packageNames.size == 1 ) packageNames.first() else SAME_PACKAGE_LABEL
@@ -671,9 +672,9 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
671
672
672
673
parametrizedTestSources.addActionListener { event ->
673
674
val comboBox = event.source as ComboBox <* >
674
- val item = comboBox.item as ParametrizedTestSource
675
+ val parametrizedTestSource = comboBox.item as ParametrizedTestSource
675
676
676
- val areMocksSupported = item == ParametrizedTestSource .DO_NOT_PARAMETRIZE
677
+ val areMocksSupported = parametrizedTestSource == ParametrizedTestSource .DO_NOT_PARAMETRIZE
677
678
678
679
mockStrategies.isEnabled = areMocksSupported
679
680
staticsMocking.isEnabled = areMocksSupported && mockStrategies.item != MockStrategyApi .NO_MOCKS
@@ -684,7 +685,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
684
685
staticsMocking.item = NoStaticMocking
685
686
}
686
687
687
- updateTestFrameworksList(item )
688
+ updateTestFrameworksList(parametrizedTestSource )
688
689
}
689
690
690
691
cbSpecifyTestPackage.addActionListener {
@@ -713,10 +714,17 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
713
714
// We would like to remove JUnit4 from framework list in parametrized mode
714
715
private fun updateTestFrameworksList (parametrizedTestSource : ParametrizedTestSource ) {
715
716
// We do not support parameterized tests for JUnit4
716
- val enabledTestFrameworks = when (parametrizedTestSource) {
717
+ var enabledTestFrameworks = when (parametrizedTestSource) {
717
718
ParametrizedTestSource .DO_NOT_PARAMETRIZE -> TestFramework .allItems
718
719
ParametrizedTestSource .PARAMETRIZE -> TestFramework .allItems.filterNot { it == Junit4 }
719
720
}
721
+
722
+ // Will be removed after gradle-intelij-plugin version update upper than 2020.2
723
+ // TestNg will be reverted after https://github.com/UnitTestBot/UTBotJava/issues/309
724
+ if (findSdkVersion() < 11 ) {
725
+ enabledTestFrameworks = enabledTestFrameworks.filterNot { it == TestNg }
726
+ }
727
+
720
728
var defaultItem = when (parametrizedTestSource) {
721
729
ParametrizedTestSource .DO_NOT_PARAMETRIZE -> TestFramework .defaultItem
722
730
ParametrizedTestSource .PARAMETRIZE -> TestFramework .parametrizedDefaultItem
0 commit comments