Use nullable value and destroy it in tearDown for REPL tests
This commit is contained in:
@@ -29,10 +29,9 @@ import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
|||||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||||
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
import org.jetbrains.kotlin.resolve.jvm.platform.JvmPlatform
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.properties.Delegates
|
|
||||||
|
|
||||||
abstract class AbstractIdeReplCompletionTest : KotlinFixtureCompletionBaseTestCase() {
|
abstract class AbstractIdeReplCompletionTest : KotlinFixtureCompletionBaseTestCase() {
|
||||||
private var consoleRunner: KotlinConsoleRunner by Delegates.notNull()
|
private var consoleRunner: KotlinConsoleRunner? = null
|
||||||
|
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
super.setUp()
|
super.setUp()
|
||||||
@@ -40,7 +39,8 @@ abstract class AbstractIdeReplCompletionTest : KotlinFixtureCompletionBaseTestCa
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun tearDown() {
|
override fun tearDown() {
|
||||||
consoleRunner.dispose()
|
consoleRunner?.dispose()
|
||||||
|
consoleRunner = null
|
||||||
super.tearDown()
|
super.tearDown()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,19 +48,20 @@ abstract class AbstractIdeReplCompletionTest : KotlinFixtureCompletionBaseTestCa
|
|||||||
override fun defaultCompletionType() = CompletionType.BASIC
|
override fun defaultCompletionType() = CompletionType.BASIC
|
||||||
|
|
||||||
override fun doTest(testPath: String) {
|
override fun doTest(testPath: String) {
|
||||||
|
val runner = consoleRunner!!
|
||||||
val file = File(testPath)
|
val file = File(testPath)
|
||||||
val lines = file.readLines()
|
val lines = file.readLines()
|
||||||
lines.prefixedWith(">> ").forEach { consoleRunner.successfulLine(it) } // not actually executing anything, only simulating
|
lines.prefixedWith(">> ").forEach { runner.successfulLine(it) } // not actually executing anything, only simulating
|
||||||
val codeSample = lines.prefixedWith("-- ").joinToString("\n")
|
val codeSample = lines.prefixedWith("-- ").joinToString("\n")
|
||||||
|
|
||||||
runWriteAction {
|
runWriteAction {
|
||||||
val editor = consoleRunner.consoleView.editorDocument
|
val editor = runner.consoleView.editorDocument
|
||||||
editor.setText(codeSample)
|
editor.setText(codeSample)
|
||||||
FileDocumentManager.getInstance().saveDocument(consoleRunner.consoleView.editorDocument)
|
FileDocumentManager.getInstance().saveDocument(runner.consoleView.editorDocument)
|
||||||
PsiDocumentManager.getInstance(getProject()).commitAllDocuments()
|
PsiDocumentManager.getInstance(project).commitAllDocuments()
|
||||||
}
|
}
|
||||||
|
|
||||||
myFixture.configureFromExistingVirtualFile(consoleRunner.consoleFile.virtualFile)
|
myFixture.configureFromExistingVirtualFile(runner.consoleFile.virtualFile)
|
||||||
myFixture.editor.caretModel.moveToOffset(myFixture.editor.document.getLineEndOffset(0))
|
myFixture.editor.caretModel.moveToOffset(myFixture.editor.document.getLineEndOffset(0))
|
||||||
|
|
||||||
testCompletion(file.readText(), getPlatform(), { completionType, count -> myFixture.complete(completionType, count) })
|
testCompletion(file.readText(), getPlatform(), { completionType, count -> myFixture.complete(completionType, count) })
|
||||||
|
|||||||
Reference in New Issue
Block a user