KT-32366: Refactor tests to allow testing of preview window
- add directive `PREVIEW_ENABLED` into scratch file settings
This commit is contained in:
committed by
Roman Golyshev
parent
dd1ace37d2
commit
358ec2b8bd
@@ -19,6 +19,7 @@ import com.intellij.util.Alarm
|
||||
import org.jetbrains.kotlin.idea.scratch.actions.RunScratchAction
|
||||
import org.jetbrains.kotlin.idea.scratch.actions.RunScratchFromHereAction
|
||||
import org.jetbrains.kotlin.idea.scratch.actions.ScratchCompilationSupport
|
||||
import org.jetbrains.kotlin.idea.scratch.ui.findScratchFileEditorWithPreview
|
||||
|
||||
class ScratchFileAutoRunner(private val project: Project) : DocumentListener {
|
||||
companion object {
|
||||
@@ -72,6 +73,7 @@ class ScratchFileAutoRunner(private val project: Project) : DocumentListener {
|
||||
}
|
||||
|
||||
private fun getScratchFile(file: VirtualFile, project: Project): ScratchFile? {
|
||||
return getScratchFileFromEditorSelectedForFile(FileEditorManager.getInstance(project), file)
|
||||
val editor = FileEditorManager.getInstance(project).getSelectedEditor(file) as? TextEditor
|
||||
return editor?.findScratchFileEditorWithPreview()?.scratchFile
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,9 @@ import com.intellij.openapi.fileEditor.TextEditor
|
||||
import com.intellij.openapi.fileEditor.impl.text.TextEditorProvider
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.idea.actions.KOTLIN_WORKSHEET_EXTENSION
|
||||
import org.jetbrains.kotlin.idea.scratch.ui.KtScratchFileEditorWithPreview
|
||||
import org.jetbrains.kotlin.idea.scratch.ui.findScratchFileEditorWithPreview
|
||||
|
||||
internal val LOG = Logger.getInstance("#org.jetbrains.kotlin.idea.scratch")
|
||||
@@ -27,9 +29,10 @@ val VirtualFile.isKotlinWorksheet: Boolean
|
||||
val VirtualFile.isKotlinScratch: Boolean
|
||||
get() = ScratchFileService.getInstance().getRootType(this) is ScratchRootType
|
||||
|
||||
fun getScratchFileFromEditorSelectedForFile(fileManager: FileEditorManager, virtualFile: VirtualFile): ScratchFile? {
|
||||
@TestOnly
|
||||
fun getScratchEditorForSelectedFile(fileManager: FileEditorManager, virtualFile: VirtualFile): KtScratchFileEditorWithPreview? {
|
||||
val editor = fileManager.getSelectedEditor(virtualFile) as? TextEditor ?: return null
|
||||
return editor.getScratchFile()
|
||||
return editor.findScratchFileEditorWithPreview()
|
||||
}
|
||||
|
||||
fun getScratchFileFromSelectedEditor(project: Project): ScratchFile? {
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.intellij.openapi.util.Key
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import com.intellij.pom.Navigatable
|
||||
import com.intellij.psi.PsiManager
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.idea.scratch.*
|
||||
import org.jetbrains.kotlin.idea.scratch.output.InlayScratchOutputHandler
|
||||
import org.jetbrains.kotlin.idea.scratch.output.ScratchOutputHandlerAdapter
|
||||
@@ -93,6 +94,11 @@ class KtScratchFileEditorWithPreview private constructor(
|
||||
inlayOutputHandler.clear(scratchFile)
|
||||
}
|
||||
|
||||
@TestOnly
|
||||
fun setPreviewEnabled(isPreviewEnabled: Boolean) {
|
||||
layout = if (isPreviewEnabled) Layout.SHOW_EDITOR_AND_PREVIEW else Layout.SHOW_EDITOR
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun create(scratchFile: ScratchFile): KtScratchFileEditorWithPreview {
|
||||
val textEditorProvider = TextEditorProvider.getInstance()
|
||||
|
||||
Reference in New Issue
Block a user