tests: extract closeAndDeleteProject, move to testUtils

This commit is contained in:
Michael Nedzelsky
2015-05-25 18:55:10 +03:00
parent 1f744272f2
commit 4a83de7ef3
3 changed files with 11 additions and 18 deletions
@@ -16,9 +16,11 @@
package org.jetbrains.kotlin.idea.test package org.jetbrains.kotlin.idea.test
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.module.Module import com.intellij.openapi.module.Module
import com.intellij.openapi.roots.ModifiableRootModel import com.intellij.openapi.roots.ModifiableRootModel
import com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel import com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel
import com.intellij.testFramework.LightPlatformTestCase
import com.intellij.testFramework.LightProjectDescriptor import com.intellij.testFramework.LightProjectDescriptor
import com.intellij.util.Consumer import com.intellij.util.Consumer
import org.jetbrains.kotlin.diagnostics.Severity import org.jetbrains.kotlin.diagnostics.Severity
@@ -65,3 +67,6 @@ public fun JetFile.dumpTextWithErrors(): String {
return header + getText() return header + getText()
} }
public fun closeAndDeleteProject(): Unit =
ApplicationManager.getApplication().runWriteAction() { LightPlatformTestCase.closeAndDeleteProject() }
@@ -16,12 +16,11 @@
package org.jetbrains.kotlin.idea.decompiler.navigation; package org.jetbrains.kotlin.idea.decompiler.navigation;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.testFramework.LightPlatformTestCase;
import com.intellij.testFramework.LightProjectDescriptor; import com.intellij.testFramework.LightProjectDescriptor;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.idea.test.ProjectDescriptorWithStdlibSources; import org.jetbrains.kotlin.idea.test.ProjectDescriptorWithStdlibSources;
import org.jetbrains.kotlin.idea.test.TestPackage;
public class NavigateToStdlibSourceRegressionTest extends NavigateToLibraryRegressionTest { public class NavigateToStdlibSourceRegressionTest extends NavigateToLibraryRegressionTest {
/** /**
@@ -34,16 +33,11 @@ public class NavigateToStdlibSourceRegressionTest extends NavigateToLibraryRegre
@Override @Override
protected void tearDown() throws Exception { protected void tearDown() throws Exception {
super.tearDown();
// Workaround for IDEA's bug during tests. // Workaround for IDEA's bug during tests.
// After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices. // After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices.
// This causes library source files to be impossible to find via indices // This causes library source files to be impossible to find via indices
super.tearDown(); TestPackage.closeAndDeleteProject();
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
LightPlatformTestCase.closeAndDeleteProject();
}
});
} }
@NotNull @NotNull
@@ -16,13 +16,12 @@
package org.jetbrains.kotlin.idea.decompiler.navigation package org.jetbrains.kotlin.idea.decompiler.navigation
import com.intellij.openapi.application.ApplicationManager
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import com.intellij.testFramework.LightPlatformTestCase
import junit.framework.TestCase import junit.framework.TestCase
import org.jetbrains.kotlin.idea.JetFileType import org.jetbrains.kotlin.idea.JetFileType
import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase import org.jetbrains.kotlin.idea.test.KotlinCodeInsightTestCase
import org.jetbrains.kotlin.idea.test.ModuleKind import org.jetbrains.kotlin.idea.test.ModuleKind
import org.jetbrains.kotlin.idea.test.closeAndDeleteProject
import org.jetbrains.kotlin.idea.test.configureAs import org.jetbrains.kotlin.idea.test.configureAs
public class NavigateToStdlibSourceTest : KotlinCodeInsightTestCase() { public class NavigateToStdlibSourceTest : KotlinCodeInsightTestCase() {
@@ -51,16 +50,11 @@ public class NavigateToStdlibSourceTest : KotlinCodeInsightTestCase() {
} }
override fun tearDown() { override fun tearDown() {
// Copied verbatim from NavigateToStdlibSourceRegressionTest. super.tearDown()
// Workaround for IDEA's bug during tests. // Workaround for IDEA's bug during tests.
// After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices. // After tests IDEA disposes VirtualFiles within LocalFileSystem, but doesn't rebuild indices.
// This causes library source files to be impossible to find via indices // This causes library source files to be impossible to find via indices
super.tearDown() closeAndDeleteProject()
ApplicationManager.getApplication().runWriteAction(object : Runnable {
override fun run() {
LightPlatformTestCase.closeAndDeleteProject()
}
})
} }
protected fun configureAndResolve( protected fun configureAndResolve(