Test Framework: Fix module creation in multi-module tests

This commit is contained in:
Alexey Sedunov
2017-04-13 21:21:57 +03:00
parent 69ef8e89a9
commit b65e082425
3 changed files with 7 additions and 7 deletions
@@ -17,15 +17,15 @@
package org.jetbrains.kotlin.idea.test package org.jetbrains.kotlin.idea.test
import com.intellij.ide.highlighter.ModuleFileType import com.intellij.ide.highlighter.ModuleFileType
import com.intellij.openapi.module.StdModuleTypes import com.intellij.openapi.module.ModuleManager
import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.openapi.vfs.VfsUtilCore
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import com.intellij.openapi.vfs.VirtualFileVisitor import com.intellij.openapi.vfs.VirtualFileVisitor
import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess import com.intellij.openapi.vfs.newvfs.impl.VfsRootAccess
import com.intellij.refactoring.MultiFileTestCase import com.intellij.refactoring.MultiFileTestCase
import com.intellij.testFramework.PsiTestUtil import com.intellij.testFramework.PsiTestUtil
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
abstract class KotlinMultiFileTestCase : MultiFileTestCase() { abstract class KotlinMultiFileTestCase : MultiFileTestCase() {
protected var isMultiModule = false protected var isMultiModule = false
@@ -37,14 +37,14 @@ abstract class KotlinMultiFileTestCase : MultiFileTestCase() {
override fun prepareProject(rootDir: VirtualFile) { override fun prepareProject(rootDir: VirtualFile) {
if (isMultiModule) { if (isMultiModule) {
val model = ModuleManager.getInstance(project).modifiableModel
VfsUtilCore.visitChildrenRecursively( VfsUtilCore.visitChildrenRecursively(
rootDir, rootDir,
object : VirtualFileVisitor<Any>() { object : VirtualFileVisitor<Any>() {
override fun visitFile(file: VirtualFile): Boolean { override fun visitFile(file: VirtualFile): Boolean {
if (!file.isDirectory && file.name.endsWith(ModuleFileType.DOT_DEFAULT_EXTENSION)) { if (!file.isDirectory && file.name.endsWith(ModuleFileType.DOT_DEFAULT_EXTENSION)) {
val module = createModule(File(file.path), StdModuleTypes.JAVA) model.loadModule(file.path)
val contentRoot = file.parent.findChild("src")!!
PsiTestUtil.addSourceContentToRoots(module, contentRoot)
return false return false
} }
@@ -52,6 +52,8 @@ abstract class KotlinMultiFileTestCase : MultiFileTestCase() {
} }
} }
) )
runWriteAction { model.commit() }
} }
else { else {
PsiTestUtil.addSourceContentToRoots(myModule, rootDir) PsiTestUtil.addSourceContentToRoots(myModule, rootDir)
@@ -8,6 +8,5 @@
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" /> <orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="module" module-name="B" />
</component> </component>
</module> </module>
@@ -8,6 +8,5 @@
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" /> <orderEntry type="library" name="KotlinJavaRuntime" level="project" />
<orderEntry type="module" module-name="B" />
</component> </component>
</module> </module>