diff --git a/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/CoverageModeButtons.kt b/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/CoverageModeButtons.kt index a372deb8b7..f44ca170d7 100644 --- a/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/CoverageModeButtons.kt +++ b/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/CoverageModeButtons.kt @@ -1,15 +1,20 @@ package org.utbot.intellij.plugin.language.js import service.CoverageMode -import javax.swing.JToggleButton +import javax.swing.ButtonGroup +import javax.swing.JRadioButton object CoverageModeButtons { var mode = CoverageMode.FAST - val baseButton = JToggleButton("Basic") - val fastButton = JToggleButton("Fast") + + val fastButton = JRadioButton("Fast") + val baseButton = JRadioButton("Basic") + init { + val buttonGroup = ButtonGroup() + fastButton.isSelected = true val baseButtonModel = baseButton.model baseButtonModel.addChangeListener { if (baseButtonModel.isPressed) { @@ -22,5 +27,7 @@ object CoverageModeButtons { mode = CoverageMode.FAST } } + buttonGroup.add(fastButton) + buttonGroup.add(baseButton) } } diff --git a/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/JsDialogWindow.kt b/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/JsDialogWindow.kt index fcf6eb3700..24d934ada1 100644 --- a/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/JsDialogWindow.kt +++ b/utbot-intellij-js/src/main/kotlin/org/utbot/intellij/plugin/language/js/JsDialogWindow.kt @@ -11,21 +11,20 @@ import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFileManager import com.intellij.ui.ContextHelpLabel import com.intellij.ui.JBIntSpinner -import com.intellij.ui.components.JBLabel import com.intellij.ui.components.Panel import com.intellij.ui.layout.Cell import com.intellij.ui.layout.panel import com.intellij.util.ui.JBUI import framework.codegen.Mocha +import org.utbot.framework.plugin.api.CodeGenerationSettingItem +import org.utbot.intellij.plugin.ui.components.TestSourceDirectoryChooser +import settings.JsTestGenerationSettings.defaultTimeout import java.awt.BorderLayout import java.io.File import java.nio.file.Paths import javax.swing.DefaultComboBoxModel import javax.swing.JComboBox import javax.swing.JComponent -import org.utbot.framework.plugin.api.CodeGenerationSettingItem -import org.utbot.intellij.plugin.ui.components.TestSourceDirectoryChooser -import settings.JsTestGenerationSettings.defaultTimeout class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) { @@ -53,6 +52,7 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) { init { title = "Generate Tests with UtBot" + super.setOKButtonText("Generate Tests") isResizable = false init() } @@ -75,15 +75,16 @@ class JsDialogWindow(val model: JsTestsModel) : DialogWrapper(model.project) { component(nycSourceFileChooserField) } row("Coverage mode:") { - panelWithHelpTooltip("Fast mode can't find timeouts, but works faster") { - component(coverageMode.fastButton) - component(coverageMode.baseButton) + cell { + panelWithHelpTooltip("Fast mode does not guarantee proper handling of user timeouts") { + coverageMode.fastButton() + coverageMode.baseButton() + } } } row("Timeout for Node.js (in seconds):") { - panelWithHelpTooltip("The execution timeout") { + panelWithHelpTooltip("The execution timeout for each generated test") { component(timeoutSpinner) - component(JBLabel("sec")) } } row("Generate test methods for:") {} diff --git a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt index 58f81bd8b4..45715897df 100644 --- a/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt +++ b/utbot-js/src/main/kotlin/framework/codegen/model/constructor/visitor/CgJsRenderer.kt @@ -22,6 +22,7 @@ import org.utbot.framework.codegen.domain.models.CgExpression import org.utbot.framework.codegen.domain.models.CgFieldAccess import org.utbot.framework.codegen.domain.models.CgForLoop import org.utbot.framework.codegen.domain.models.CgFormattedString +import org.utbot.framework.codegen.domain.models.CgFrameworkUtilMethod import org.utbot.framework.codegen.domain.models.CgGetJavaClass import org.utbot.framework.codegen.domain.models.CgGetKotlinClass import org.utbot.framework.codegen.domain.models.CgGetLength @@ -39,7 +40,6 @@ import org.utbot.framework.codegen.domain.models.CgStaticsRegion import org.utbot.framework.codegen.domain.models.CgSwitchCase import org.utbot.framework.codegen.domain.models.CgSwitchCaseLabel import org.utbot.framework.codegen.domain.models.CgTestMethod -import org.utbot.framework.codegen.domain.models.CgThrowStatement import org.utbot.framework.codegen.domain.models.CgTypeCast import org.utbot.framework.codegen.domain.models.CgVariable import org.utbot.framework.codegen.renderer.CgAbstractRenderer @@ -282,10 +282,6 @@ internal class CgJsRenderer(context: CgRendererContext, printer: CgPrinter = CgP visit(element as CgMethod) } - override fun visit(element: CgThrowStatement) { - // TODO: Should we render throw statement right here? - } - override fun visit(element: CgClassBody) { // render regions for test methods for ((i, region) in (element.methodRegions + element.nestedClassRegions).withIndex()) { @@ -415,4 +411,4 @@ internal class CgJsRenderer(context: CgRendererContext, printer: CgPrinter = CgP .replace("$", "\\$") .replace("\\f", "\\u000C") .replace("\\xxx", "\\\u0058\u0058\u0058") -} \ No newline at end of file +}