Skip to content

Refactoring of JavaScript dialog window #1861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 28, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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) {
Expand All @@ -22,5 +27,7 @@ object CoverageModeButtons {
mode = CoverageMode.FAST
}
}
buttonGroup.add(fastButton)
buttonGroup.add(baseButton)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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) {

Expand Down Expand Up @@ -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()
}
Expand All @@ -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:") {}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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()) {
Expand Down Expand Up @@ -415,4 +411,4 @@ internal class CgJsRenderer(context: CgRendererContext, printer: CgPrinter = CgP
.replace("$", "\\$")
.replace("\\f", "\\u000C")
.replace("\\xxx", "\\\u0058\u0058\u0058")
}
}