don't store .class files in testdata
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
org/demo/coverage/Foo.class
|
||||
org/demo/coverage/Foo$bar$1.class
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+31
-6
@@ -21,8 +21,9 @@ import org.jetbrains.kotlin.idea.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.psi.JetFile
|
||||
import org.jetbrains.kotlin.test.JetTestUtils
|
||||
import java.io.File
|
||||
import com.intellij.openapi.vfs.LocalFileSystem
|
||||
import kotlin.test.assertNotNull
|
||||
import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
|
||||
public abstract class AbstractKotlinCoverageOutputFilesTest(): JetLightCodeInsightFixtureTestCase() {
|
||||
private val TEST_DATA_PATH = PluginTestCaseBase.getTestDataPathBase() + "/coverage/outputFiles"
|
||||
@@ -31,9 +32,33 @@ public abstract class AbstractKotlinCoverageOutputFilesTest(): JetLightCodeInsig
|
||||
|
||||
public fun doTest(path: String) {
|
||||
val kotlinFile = myFixture.configureByFile(path) as JetFile
|
||||
val outputRoot = LocalFileSystem.getInstance().findFileByPath("$path.out")
|
||||
assertNotNull(outputRoot)
|
||||
val actualClasses = KotlinCoverageExtension.collectGeneratedClassQualifiedNames(outputRoot, kotlinFile)
|
||||
JetTestUtils.assertEqualsToFile(File(path.replace(".kt", ".expected.txt")), actualClasses!!.join("\n"))
|
||||
val outDir = myFixture.getTempDirFixture().findOrCreateDir("coverageTestOut")
|
||||
try {
|
||||
FileUtil.loadLines(File(path.replace(".kt", ".classes.txt"))).forEach {
|
||||
runWriteAction {
|
||||
createEmptyFile(outDir, it)
|
||||
}
|
||||
}
|
||||
|
||||
val actualClasses = KotlinCoverageExtension.collectGeneratedClassQualifiedNames(outDir, kotlinFile)
|
||||
JetTestUtils.assertEqualsToFile(File(path.replace(".kt", ".expected.txt")), actualClasses!!.join("\n"))
|
||||
}
|
||||
finally {
|
||||
runWriteAction {
|
||||
outDir.delete(null)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun createEmptyFile(dir: VirtualFile, relativePath: String) {
|
||||
var currentDir = dir
|
||||
val segments = relativePath.split('/')
|
||||
segments.forEachIndexed {(i, s) ->
|
||||
if (i < segments.size() - 1) {
|
||||
currentDir = currentDir.createChildDirectory(null, s)
|
||||
} else {
|
||||
currentDir.createChildData(null, s)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user