Test Framework: Move common members to KotlinMultiFileTestCase

This commit is contained in:
Alexey Sedunov
2017-04-14 14:01:46 +03:00
parent d78828001d
commit e1503d80f2
4 changed files with 18 additions and 39 deletions
@@ -17,11 +17,13 @@
package org.jetbrains.kotlin.idea.test
import com.intellij.ide.highlighter.ModuleFileType
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.VirtualFileVisitor
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
import com.intellij.psi.PsiDocumentManager
import com.intellij.refactoring.MultiFileTestCase
import com.intellij.testFramework.PsiTestUtil
import org.jetbrains.kotlin.idea.util.application.runWriteAction
@@ -35,6 +37,22 @@ abstract class KotlinMultiFileTestCase : MultiFileTestCase() {
VfsRootAccess.allowRootAccess(KotlinTestUtils.getHomeDirectory())
}
protected fun getTestDirName(lowercaseFirstLetter : Boolean) : String {
val testName = getTestName(lowercaseFirstLetter)
val endIndex = testName.lastIndexOf('_')
if (endIndex < 0) return testName
return testName.substring(0, endIndex).replace('_', '/')
}
protected fun doTestCommittingDocuments(action : (VirtualFile, VirtualFile?) -> Unit) {
super.doTest({ rootDir, rootAfter ->
action(rootDir, rootAfter)
PsiDocumentManager.getInstance(project!!).commitAllDocuments()
FileDocumentManager.getInstance().saveAllDocuments()
}, getTestDirName(true))
}
override fun prepareProject(rootDir: VirtualFile) {
if (isMultiModule) {
val model = ModuleManager.getInstance(project).modifiableModel
@@ -85,11 +85,6 @@ abstract class AbstractMultiFileInspectionTest : KotlinMultiFileTestCase() {
getTestDirName(true))
}
protected fun getTestDirName(lowercaseFirstLetter : Boolean) : String {
val testName = getTestName(lowercaseFirstLetter)
return testName.substring(0, testName.lastIndexOf('_')).replace('_', '/')
}
override fun getTestRoot() : String {
return "/multiFileInspections/"
}
@@ -16,11 +16,8 @@
package org.jetbrains.kotlin.idea.refactoring.move
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.module.Module
import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiDocumentManager
import org.jetbrains.kotlin.idea.refactoring.rename.loadTestConfiguration
import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil
import org.jetbrains.kotlin.idea.test.KotlinMultiFileTestCase
@@ -71,18 +68,4 @@ abstract class AbstractMultiModuleMoveTest : KotlinMultiFileTestCase() {
}
}
}
protected fun doTestCommittingDocuments(action : (VirtualFile, VirtualFile?) -> Unit) {
super.doTest({ rootDir, rootAfter ->
action(rootDir, rootAfter)
PsiDocumentManager.getInstance(project!!).commitAllDocuments()
FileDocumentManager.getInstance().saveAllDocuments()
}, getTestDirName(true))
}
protected fun getTestDirName(lowercaseFirstLetter : Boolean) : String {
val testName = getTestName(lowercaseFirstLetter)
return testName.substring(0, testName.indexOf('_'))
}
}
@@ -16,9 +16,6 @@
package org.jetbrains.kotlin.idea.refactoring.rename
import com.intellij.openapi.fileEditor.FileDocumentManager
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiManager
import junit.framework.TestCase
import org.jetbrains.kotlin.idea.jsonUtils.getString
@@ -51,18 +48,4 @@ abstract class AbstractMultiModuleRenameTest : KotlinMultiFileTestCase() {
}
}
}
protected fun doTestCommittingDocuments(action : (VirtualFile, VirtualFile?) -> Unit) {
super.doTest({ rootDir, rootAfter ->
action(rootDir, rootAfter)
PsiDocumentManager.getInstance(project!!).commitAllDocuments()
FileDocumentManager.getInstance().saveAllDocuments()
}, getTestDirName(true))
}
protected fun getTestDirName(lowercaseFirstLetter : Boolean) : String {
val testName = getTestName(lowercaseFirstLetter)
return testName.substring(0, testName.indexOf('_'))
}
}