Fix repl tests: do modification in write action, avoid hang in closed console

This commit is contained in:
Nikolay Krasko
2015-12-30 15:50:17 +03:00
parent ae05c04d98
commit 139964bf31
2 changed files with 13 additions and 2 deletions
@@ -31,6 +31,7 @@ import com.intellij.openapi.actionSystem.ActionManager
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.CommonShortcuts
import com.intellij.openapi.actionSystem.DefaultActionGroup
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.command.WriteCommandAction
import com.intellij.openapi.editor.colors.EditorColors
import com.intellij.openapi.editor.ex.EditorEx
@@ -46,9 +47,9 @@ import com.intellij.psi.PsiManager
import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.console.actions.BuildAndRestartConsoleAction
import org.jetbrains.kotlin.console.actions.KtExecuteCommandAction
import org.jetbrains.kotlin.console.gutter.IconWithTooltip
import org.jetbrains.kotlin.console.gutter.ConsoleGutterContentProvider
import org.jetbrains.kotlin.console.gutter.ConsoleIndicatorRenderer
import org.jetbrains.kotlin.console.gutter.IconWithTooltip
import org.jetbrains.kotlin.console.gutter.ReplIcons
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.idea.completion.doNotComplete
@@ -67,6 +68,15 @@ class KotlinConsoleRunner(
title: String,
path: String?
) : AbstractConsoleRunnerWithHistory<LanguageConsoleView>(myProject, title, path) {
override fun finishConsole() {
if (ApplicationManager.getApplication().isUnitTestMode) {
// Ignore super with myConsoleView.setEditable(false)
return
}
super.finishConsole()
}
val commandHistory = CommandHistory()
var isReadLineMode: Boolean = false
@@ -21,6 +21,7 @@ import com.intellij.testFramework.PlatformTestCase
import com.intellij.util.ui.UIUtil
import org.jetbrains.kotlin.console.KotlinConsoleKeeper
import org.jetbrains.kotlin.console.KotlinConsoleRunner
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.junit.FixMethodOrder
import org.junit.Test
import org.junit.runners.MethodSorters
@@ -43,7 +44,7 @@ import kotlin.test.assertTrue
}
private fun sendCommand(command: String) {
consoleRunner.consoleView.editorDocument.setText(command)
runWriteAction { consoleRunner.consoleView.editorDocument.setText(command) }
consoleRunner.executor.executeCommand()
commandsSent++
}