Skip to content

Commit 2a9efaf

Browse files
committed
[WIP] Coverage buttons rework
1 parent d6f5dc9 commit 2a9efaf

File tree

3 files changed

+22
-41
lines changed

3 files changed

+22
-41
lines changed

gradle.properties

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
11
kotlin.code.style=official
2-
32
# IU, IC, PC, PY
43
# IC for AndroidStudio
5-
ideType=IC
4+
ideType=IU
65
ideVersion=222.4167.29
7-
86
pythonIde=IC,IU,PC,PY
97
jsIde=IU,PY,WS
108
goIde=IU
11-
129
# In order to run Android Studion instead of Intellij Community, specify the path to your Android Studio installation
1310
#androidStudioPath=your_path_to_android_studio
14-
1511
#Version numbers: https://plugins.jetbrains.com/plugin/631-python/versions
1612
pythonCommunityPluginVersion=222.4167.37
1713
pythonUltimatePluginVersion=222.4167.37
18-
1914
# Version numbers: https://plugins.jetbrains.com/plugin/9568-go/versions
2015
goPluginVersion=222.4167.21
21-
2216
kotlinPluginVersion=222-1.7.20-release-201-IJ4167.29
23-
2417
junit5Version=5.8.0-RC1
2518
junit4Version=4.13.2
2619
junit4PlatformVersion=1.9.0
@@ -60,8 +53,8 @@ kryoSerializersVersion=0.45
6053
asmVersion=9.2
6154
testNgVersion=7.6.0
6255
mockitoInlineVersion=4.0.0
63-
kamlVersion = 0.51.0
64-
jacksonVersion = 2.12.3
56+
kamlVersion=0.51.0
57+
jacksonVersion=2.12.3
6558
javasmtSolverZ3Version=4.8.9-sosy1
6659
slf4jVersion=1.7.36
6760
eclipseAetherVersion=1.1.0
@@ -78,7 +71,6 @@ pytorchNativeVersion=1.9.1
7871
shadowJarVersion=7.1.2
7972
openblasVersion=0.3.10-1.5.4
8073
arpackNgVersion=3.7.0-1.5.4
81-
8274
# configuration for build server
8375
#
8476
# the following options are passed to gradle command explicitly (see appropriate workflow):
@@ -87,7 +79,6 @@ arpackNgVersion=3.7.0-1.5.4
8779
#
8880
# read about options precedence at: https://docs.gradle.org/current/userguide/build_environment.html
8981
org.gradle.jvmargs="-Xmx6g"
90-
9182
# configuration for local compilation - much faster
9283
# overriden by some parameters in CI, read below about each option
9384
#

utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/CoverageModeButtons.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,21 @@ package org.utbot.intellij.plugin.language.js
22

33
import service.CoverageMode
44
import javax.swing.ButtonGroup
5-
import javax.swing.JRadioButton
5+
import javax.swing.JToggleButton
66

77
object CoverageModeButtons {
88

99
var mode = CoverageMode.FAST
1010

11-
val fastButton = JRadioButton("Fast")
12-
val baseButton = JRadioButton("Basic")
13-
11+
val fastButton = JToggleButton("Fast").apply { this.isSelected = true }
12+
val baseButton = JToggleButton("Basic")
13+
val buttonGroup = ButtonGroup().apply {
14+
this.add(fastButton)
15+
this.add(baseButton)
16+
this.setSelected(fastButton.model, true)
17+
}
1418

1519
init {
16-
val buttonGroup = ButtonGroup()
17-
fastButton.isSelected = true
1820
val baseButtonModel = baseButton.model
1921
baseButtonModel.addChangeListener {
2022
if (baseButtonModel.isPressed) {
@@ -27,7 +29,5 @@ object CoverageModeButtons {
2729
mode = CoverageMode.FAST
2830
}
2931
}
30-
buttonGroup.add(fastButton)
31-
buttonGroup.add(baseButton)
3232
}
3333
}

utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/JsDialogWindow.kt

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package org.utbot.intellij.plugin.language.js
22

33
import com.intellij.lang.javascript.refactoring.ui.JSMemberSelectionTable
44
import com.intellij.lang.javascript.refactoring.util.JSMemberInfo
5-
import com.intellij.openapi.ui.ComboBox
65
import com.intellij.openapi.ui.DialogPanel
76
import com.intellij.openapi.ui.DialogWrapper
87
import com.intellij.openapi.ui.Messages
@@ -11,18 +10,15 @@ import com.intellij.openapi.vfs.VirtualFile
1110
import com.intellij.openapi.vfs.VirtualFileManager
1211
import com.intellij.ui.ContextHelpLabel
1312
import com.intellij.ui.JBIntSpinner
14-
import com.intellij.ui.components.Panel
13+
import com.intellij.ui.dsl.builder.panel
1514
import com.intellij.ui.layout.Cell
16-
import com.intellij.ui.layout.panel
1715
import com.intellij.util.ui.JBUI
1816
import framework.codegen.Mocha
19-
import org.utbot.framework.plugin.api.CodeGenerationSettingItem
17+
import org.utbot.framework.codegen.domain.TestFramework
2018
import org.utbot.intellij.plugin.ui.components.TestSourceDirectoryChooser
2119
import settings.JsTestGenerationSettings.defaultTimeout
22-
import java.awt.BorderLayout
2320
import java.io.File
2421
import java.nio.file.Paths
25-
import javax.swing.DefaultComboBoxModel
2622
import javax.swing.JComboBox
2723
import javax.swing.JComponent
2824

@@ -36,7 +32,7 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
3632
}
3733

3834
private val testSourceFolderField = TestSourceDirectoryChooser(model, model.file.virtualFile)
39-
private val testFrameworks = ComboBox(DefaultComboBoxModel(arrayOf(Mocha)))
35+
private val testFrameworks = listOf<TestFramework>(Mocha)
4036
private val nycSourceFileChooserField = NycSourceFileChooser(model)
4137
private val coverageMode = CoverageModeButtons
4238

@@ -62,34 +58,28 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
6258
override fun createCenterPanel(): JComponent {
6359
panel = panel {
6460
row("Test source root:") {
65-
component(testSourceFolderField)
61+
cell(testSourceFolderField)
6662
}
6763
row("Test framework:") {
68-
component(
69-
Panel().apply {
70-
add(testFrameworks as ComboBox<CodeGenerationSettingItem>, BorderLayout.LINE_START)
71-
}
72-
)
64+
comboBox(testFrameworks, null)
7365
}
7466
row("Nyc source path:") {
75-
component(nycSourceFileChooserField)
67+
cell(nycSourceFileChooserField)
7668
}
7769
row("Coverage mode:") {
78-
coverageMode.fastButton()
79-
coverageMode.baseButton()
70+
cell(coverageMode.fastButton).apply { this.component.isSelected == true }
71+
cell(coverageMode.baseButton)
8072
// panelWithHelpTooltip("Fast mode can't find timeouts, but works faster") {
8173
// component(coverageMode.fastButton, coverageMode.baseButton)
8274
// component(coverageMode.baseButton)
8375
// }
8476
}
8577
row("Timeout for Node.js (in seconds):") {
86-
panelWithHelpTooltip("The execution timeout") {
87-
component(timeoutSpinner)
88-
}
78+
cell(timeoutSpinner)
8979
}
9080
row("Generate test methods for:") {}
9181
row {
92-
scrollPane(functionsTable)
82+
scrollCell(functionsTable)
9383
}
9484
}
9585
updateMembersTable()
@@ -108,7 +98,7 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) {
10898
override fun doOKAction() {
10999
val selected = functionsTable.selectedMemberInfos.toSet()
110100
model.selectedMethods = if (selected.any()) selected else emptySet()
111-
model.testFramework = testFrameworks.item
101+
model.testFramework = testFrameworks
112102
model.timeout = timeoutSpinner.number.toLong()
113103
model.pathToNYC = nycSourceFileChooserField.text
114104
model.coverageMode = coverageMode.mode

0 commit comments

Comments
 (0)