Extract runReadAction/runWriteAction utility functions

This commit is contained in:
Alexey Sedunov
2014-08-04 17:47:20 +04:00
parent 9fee8600cb
commit 401b53d690
12 changed files with 99 additions and 125 deletions
@@ -25,8 +25,8 @@ import com.intellij.debugger.DebuggerManagerEx
import com.intellij.debugger.ui.breakpoints.LineBreakpoint
import com.intellij.debugger.actions.MethodSmartStepTarget
import com.intellij.debugger.engine.BasicStepMethodFilter
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.util.Computable
import org.jetbrains.jet.plugin.refactoring.runReadAction
abstract class AbstractKotlinSteppingTest : KotlinDebuggerTestCase() {
@@ -86,7 +86,7 @@ abstract class AbstractKotlinSteppingTest : KotlinDebuggerTestCase() {
val line = (breakpoint as LineBreakpoint).getLineIndex()
return ApplicationManager.getApplication()?.runReadAction(Computable {
return runReadAction {
val containingFile = breakpoint.getPsiFile()
if (containingFile == null) throw AssertionError("Couldn't find file for breakpoint at the line $line")
@@ -101,6 +101,6 @@ abstract class AbstractKotlinSteppingTest : KotlinDebuggerTestCase() {
else -> BasicStepMethodFilter(stepTarget.getMethod(), stepTarget.getCallingExpressionLines())
}
}
})!!
}!!
}
}
@@ -58,23 +58,22 @@ import org.jetbrains.jet.plugin.refactoring.move.moveTopLevelDeclarations.MoveKo
import org.jetbrains.jet.plugin.refactoring.move.moveTopLevelDeclarations.JetFileKotlinMoveTarget
import org.jetbrains.jet.lang.psi.JetFile
import org.jetbrains.jet.plugin.search.allScope
import org.jetbrains.jet.plugin.refactoring.runWriteAction
public abstract class AbstractJetMoveTest : MultiFileTestCase() {
protected fun doTest(path: String) {
fun extractCaretOffset(doc: Document): Int {
return ApplicationManager.getApplication()!!.runWriteAction(
Computable<Int> {
val text = StringBuilder(doc.getText())
val offset = text.indexOf("<caret>")
return runWriteAction {
val text = StringBuilder(doc.getText())
val offset = text.indexOf("<caret>")
if (offset >= 0) {
text.delete(offset, offset + "<caret>".length)
doc.setText(text.toString())
}
if (offset >= 0) {
text.delete(offset, offset + "<caret>".length)
doc.setText(text.toString())
}
offset
}
)!!
offset
}!!
}
val config = JsonParser().parse(FileUtil.loadFile(File(path), true)) as JsonObject
@@ -43,6 +43,7 @@ import com.intellij.openapi.module.Module
import java.io.File
import com.intellij.openapi.roots.ModuleRootModificationUtil
import org.jetbrains.jet.plugin.search.allScope
import org.jetbrains.jet.plugin.refactoring.runWriteAction
class RunConfigurationTest: CodeInsightTestCase() {
override fun getProject() = myProject!!
@@ -61,9 +62,7 @@ class RunConfigurationTest: CodeInsightTestCase() {
fun testDependencyModuleClasspath() {
val dependencyModuleSrcDir = configureModule(moduleDirPath("module"), getProject().getBaseDir()!!).src
val moduleWithDependencyDir = ApplicationManager.getApplication()!!.runWriteAction(Computable<VirtualFile> {
getProject().getBaseDir()!!.createChildDirectory(this, "moduleWithDependency")
})!!
val moduleWithDependencyDir = runWriteAction { getProject().getBaseDir()!!.createChildDirectory(this, "moduleWithDependency") }!!
val moduleWithDependency = createModule("moduleWithDependency")
ModuleRootModificationUtil.setModuleSdk(moduleWithDependency, getTestProjectJdk())
@@ -101,7 +100,7 @@ class RunConfigurationTest: CodeInsightTestCase() {
PsiTestUtil.addSourceRoot(getModule(), testDir, true)
}
val (srcOutDir, testOutDir) = ApplicationManager.getApplication()!!.runWriteAction(Computable<Pair<VirtualFile, VirtualFile>> {
val (srcOutDir, testOutDir) = runWriteAction {
val outDir = outputParentDir.createChildDirectory(this, "out")
val srcOutDir = outDir.createChildDirectory(this, "production")
val testOutDir = outDir.createChildDirectory(this, "test")
@@ -110,7 +109,7 @@ class RunConfigurationTest: CodeInsightTestCase() {
PsiTestUtil.setCompilerOutputPath(configModule, testOutDir.getUrl(), true)
Pair(srcOutDir, testOutDir)
})!!
}!!
PsiDocumentManager.getInstance(getProject()).commitAllDocuments()