Rename: When renaming Kotlin file outside of source root do not rename its namesake in a source root

#KT-14096 Fixed
This commit is contained in:
Alexey Sedunov
2016-09-29 14:40:35 +03:00
parent a5eee2d3d8
commit c76c834009
13 changed files with 87 additions and 32 deletions
@@ -16,16 +16,46 @@
package org.jetbrains.kotlin.idea.test
import com.intellij.ide.highlighter.ModuleFileType
import com.intellij.openapi.module.StdModuleTypes
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.refactoring.MultiFileTestCase
import com.intellij.testFramework.PsiTestUtil
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
abstract class KotlinMultiFileTestCase : MultiFileTestCase() {
protected var isMultiModule = false
override fun setUp() {
super.setUp()
VfsRootAccess.allowRootAccess(KotlinTestUtils.getHomeDirectory())
}
override fun prepareProject(rootDir: VirtualFile) {
if (isMultiModule) {
VfsUtilCore.visitChildrenRecursively(
rootDir,
object : VirtualFileVisitor<Any>() {
override fun visitFile(file: VirtualFile): Boolean {
if (!file.isDirectory && file.name.endsWith(ModuleFileType.DOT_DEFAULT_EXTENSION)) {
createModule(File(file.path), StdModuleTypes.JAVA)
return false
}
return true
}
}
)
}
else {
PsiTestUtil.addSourceContentToRoots(myModule, rootDir)
}
}
override fun tearDown() {
VfsRootAccess.disallowRootAccess(KotlinTestUtils.getHomeDirectory())
super.tearDown()