[IR JS BE] Add core.kt to list of compiling files for JS IR BE tests
This commit is contained in:
@@ -542,7 +542,7 @@ abstract class BasicBoxTest(
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createPsiFile(fileName: String): KtFile {
|
protected fun createPsiFile(fileName: String): KtFile {
|
||||||
val psiManager = PsiManager.getInstance(project)
|
val psiManager = PsiManager.getInstance(project)
|
||||||
val fileSystem = VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL)
|
val fileSystem = VirtualFileManager.getInstance().getFileSystem(StandardFileSystems.FILE_PROTOCOL)
|
||||||
|
|
||||||
|
|||||||
@@ -43,15 +43,27 @@ abstract class BasicIrBoxTest(
|
|||||||
testPackage: String?,
|
testPackage: String?,
|
||||||
testFunction: String
|
testFunction: String
|
||||||
) {
|
) {
|
||||||
|
val runtime = listOf(
|
||||||
|
"libraries/stdlib/js/src/kotlin/core.kt"
|
||||||
|
).map { createPsiFile(it) }
|
||||||
|
|
||||||
|
val filesToIgnore = listOf(
|
||||||
|
// TODO: temporary ignore some files from _commonFiles directory since they can't be compiled correctly by JS IR BE yet.
|
||||||
|
// Also, some declarations depends on stdlib but we don't have any library support in JS IR BE yet
|
||||||
|
// and probably it will be better to avoid using stdlib in testData as much as possible.
|
||||||
|
"js/js.translator/testData/_commonFiles/arrayAsserts.kt",
|
||||||
|
"js/js.translator/testData/_commonFiles/fail.kt"
|
||||||
|
)
|
||||||
|
|
||||||
|
val filesToCompile = units
|
||||||
|
.map { (it as TranslationUnit.SourceFile).file }
|
||||||
|
.filter { file -> filesToIgnore.none { file.virtualFilePath.endsWith(it) } }
|
||||||
|
|
||||||
val code = compile(
|
val code = compile(
|
||||||
config.project,
|
config.project,
|
||||||
units.map { (it as TranslationUnit.SourceFile).file }
|
runtime + filesToCompile,
|
||||||
// TODO: temporary ignore _commonFiles/asserts.kt since it depends on stdlib but we don't have any library support in JS IR BE yet
|
|
||||||
// and probably it will be better to avoid using stdlib in testData as much as possible.
|
|
||||||
.filter { !it.virtualFilePath.endsWith("js/js.translator/testData/_commonFiles/arrayAsserts.kt") }
|
|
||||||
.filter { !it.virtualFilePath.endsWith("js/js.translator/testData/_commonFiles/fail.kt") },
|
|
||||||
config.configuration,
|
config.configuration,
|
||||||
FqName((testPackage?.let { it + "." } ?: "") + testFunction))
|
FqName((testPackage?.let { "$it." } ?: "") + testFunction))
|
||||||
|
|
||||||
outputFile.parentFile.mkdirs()
|
outputFile.parentFile.mkdirs()
|
||||||
outputFile.writeText(code)
|
outputFile.writeText(code)
|
||||||
|
|||||||
Reference in New Issue
Block a user