Skip to content

Commit 556db11

Browse files
committed
Avoid using TestNg on JDK versions less than 11
1 parent 51c6220 commit 556db11

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

utbot-intellij/src/main/kotlin/org/utbot/intellij/plugin/ui/GenerateTestsDialogWindow.kt

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import com.intellij.openapi.application.runWriteAction
3636
import com.intellij.openapi.command.WriteCommandAction
3737
import com.intellij.openapi.components.service
3838
import com.intellij.openapi.options.ShowSettingsUtil
39-
import com.intellij.openapi.projectRoots.JavaSdkVersion
4039
import com.intellij.openapi.roots.ContentEntry
4140
import com.intellij.openapi.roots.DependencyScope
4241
import com.intellij.openapi.roots.ExternalLibraryDescriptor
@@ -48,7 +47,6 @@ import com.intellij.openapi.ui.DialogPanel
4847
import com.intellij.openapi.ui.DialogWrapper
4948
import com.intellij.openapi.ui.Messages
5049
import com.intellij.openapi.ui.ValidationInfo
51-
import com.intellij.openapi.ui.popup.IconButton
5250
import com.intellij.openapi.vfs.VfsUtil
5351
import com.intellij.openapi.vfs.VfsUtilCore.urlToPath
5452
import com.intellij.openapi.vfs.VirtualFile
@@ -76,12 +74,8 @@ import com.intellij.util.IncorrectOperationException
7674
import com.intellij.util.io.exists
7775
import com.intellij.util.lang.JavaVersion
7876
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
8277
import com.intellij.util.ui.JBUI.size
8378
import com.intellij.util.ui.UIUtil
84-
import com.intellij.util.ui.components.BorderLayoutPanel
8579
import java.awt.BorderLayout
8680
import java.nio.file.Files
8781
import java.nio.file.Path
@@ -225,6 +219,13 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
225219
contextHelpLabel?.let { add(it, BorderLayout.LINE_END) }
226220
})
227221

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+
228229
private fun findTestPackageComboValue(): String {
229230
val packageNames = model.srcClasses.map { it.packageName }.distinct()
230231
return if (packageNames.size == 1) packageNames.first() else SAME_PACKAGE_LABEL
@@ -671,9 +672,9 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
671672

672673
parametrizedTestSources.addActionListener { event ->
673674
val comboBox = event.source as ComboBox<*>
674-
val item = comboBox.item as ParametrizedTestSource
675+
val parametrizedTestSource = comboBox.item as ParametrizedTestSource
675676

676-
val areMocksSupported = item == ParametrizedTestSource.DO_NOT_PARAMETRIZE
677+
val areMocksSupported = parametrizedTestSource == ParametrizedTestSource.DO_NOT_PARAMETRIZE
677678

678679
mockStrategies.isEnabled = areMocksSupported
679680
staticsMocking.isEnabled = areMocksSupported && mockStrategies.item != MockStrategyApi.NO_MOCKS
@@ -684,7 +685,7 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
684685
staticsMocking.item = NoStaticMocking
685686
}
686687

687-
updateTestFrameworksList(item)
688+
updateTestFrameworksList(parametrizedTestSource)
688689
}
689690

690691
cbSpecifyTestPackage.addActionListener {
@@ -713,10 +714,17 @@ class GenerateTestsDialogWindow(val model: GenerateTestsModel) : DialogWrapper(m
713714
//We would like to remove JUnit4 from framework list in parametrized mode
714715
private fun updateTestFrameworksList(parametrizedTestSource: ParametrizedTestSource) {
715716
//We do not support parameterized tests for JUnit4
716-
val enabledTestFrameworks = when (parametrizedTestSource) {
717+
var enabledTestFrameworks = when (parametrizedTestSource) {
717718
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> TestFramework.allItems
718719
ParametrizedTestSource.PARAMETRIZE -> TestFramework.allItems.filterNot { it == Junit4 }
719720
}
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+
720728
var defaultItem = when (parametrizedTestSource) {
721729
ParametrizedTestSource.DO_NOT_PARAMETRIZE -> TestFramework.defaultItem
722730
ParametrizedTestSource.PARAMETRIZE -> TestFramework.parametrizedDefaultItem

0 commit comments

Comments
 (0)