diff --git a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt index b335a3a0718..b7a9747e84f 100644 --- a/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt +++ b/idea/idea-test-framework/src/org/jetbrains/kotlin/idea/test/testUtils.kt @@ -16,9 +16,11 @@ package org.jetbrains.kotlin.idea.test +import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.module.Module import com.intellij.openapi.roots.ModifiableRootModel import com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel +import com.intellij.testFramework.LightPlatformTestCase import com.intellij.testFramework.LightProjectDescriptor import com.intellij.util.Consumer import org.jetbrains.kotlin.diagnostics.Severity @@ -65,3 +67,6 @@ public fun JetFile.dumpTextWithErrors(): String { return header + getText() } +public fun closeAndDeleteProject(): Unit = + ApplicationManager.getApplication().runWriteAction() { LightPlatformTestCase.closeAndDeleteProject() } + diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceRegressionTest.java b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceRegressionTest.java index a9510475b69..357dc1a8bc4 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceRegressionTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceRegressionTest.java @@ -16,12 +16,11 @@ package org.jetbrains.kotlin.idea.decompiler.navigation; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.psi.PsiElement; -import com.intellij.testFramework.LightPlatformTestCase; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.kotlin.idea.test.ProjectDescriptorWithStdlibSources; +import org.jetbrains.kotlin.idea.test.TestPackage; public class NavigateToStdlibSourceRegressionTest extends NavigateToLibraryRegressionTest { /** @@ -34,16 +33,11 @@ public class NavigateToStdlibSourceRegressionTest extends NavigateToLibraryRegre @Override protected void tearDown() throws Exception { + super.tearDown(); // Workaround for IDEA's bug during tests. // After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices. // This causes library source files to be impossible to find via indices - super.tearDown(); - ApplicationManager.getApplication().runWriteAction(new Runnable() { - @Override - public void run() { - LightPlatformTestCase.closeAndDeleteProject(); - } - }); + TestPackage.closeAndDeleteProject(); } @NotNull diff --git a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceTest.kt b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceTest.kt index 363b4d4bf6d..61e606a6d90 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/decompiler/navigation/NavigateToStdlibSourceTest.kt @@ -16,13 +16,12 @@ package org.jetbrains.kotlin.idea.decompiler.navigation -import com.intellij.openapi.application.ApplicationManager import com.intellij.psi.PsiElement -import com.intellij.testFramework.LightPlatformTestCase import junit.framework.TestCase import org.jetbrains.kotlin.idea.JetFileType import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase import org.jetbrains.kotlin.idea.test.ModuleKind +import org.jetbrains.kotlin.idea.test.closeAndDeleteProject import org.jetbrains.kotlin.idea.test.configureAs public class NavigateToStdlibSourceTest : KotlinCodeInsightTestCase() { @@ -51,16 +50,11 @@ public class NavigateToStdlibSourceTest : KotlinCodeInsightTestCase() { } override fun tearDown() { - // Copied verbatim from NavigateToStdlibSourceRegressionTest. + super.tearDown() // Workaround for IDEA's bug during tests. // After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices. // This causes library source files to be impossible to find via indices - super.tearDown() - ApplicationManager.getApplication().runWriteAction(object : Runnable { - override fun run() { - LightPlatformTestCase.closeAndDeleteProject() - } - }) + closeAndDeleteProject() } protected fun configureAndResolve(