[Gradle, Test] GranularMetadataTransformation should be accessible in JS

Pure JS projects should still be able to import even thus calling
`getDependenciesTransformation` should not throw any runtime exceptions
and results should be empty. Since JS projects doesn't support metadata
dependencies transformations.

^KT-55347 In Progress
This commit is contained in:
Anton Lakotka
2022-12-08 11:29:31 +01:00
committed by Space Team
parent dbfe33c00d
commit 5347fc235b
@@ -0,0 +1,40 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle
import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType.*
import org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSet
import org.junit.Test
import kotlin.test.assertTrue
class KT55347JsProjectImport {
private fun `GranularMetadataTransformation should be accessible in pure js projects`(jsCompiler: KotlinJsCompilerType) {
val project = buildProject { plugins.apply("org.jetbrains.kotlin.js") }
val kotlin = project.kotlinExtension as KotlinJsProjectExtension
with (kotlin) {
js(jsCompiler) {
nodejs()
}
}
project.evaluate()
kotlin.sourceSets
.filterIsInstance<DefaultKotlinSourceSet>()
.forEach { assertTrue(it.getDependenciesTransformation().toList().isEmpty()) }
}
@Test
fun `GranularMetadataTransformation should be accessible in pure js projects -- IR`() =
`GranularMetadataTransformation should be accessible in pure js projects`(IR)
@Test
fun `GranularMetadataTransformation should be accessible in pure js projects -- BOTH`() =
`GranularMetadataTransformation should be accessible in pure js projects`(BOTH)
}