diff --git a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/ir/AbstractIrTextTest.kt b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/ir/AbstractIrTextTest.kt index c4165c03def..e54407a4fc0 100644 --- a/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/ir/AbstractIrTextTest.kt +++ b/compiler/tests-common-new/tests/org/jetbrains/kotlin/test/runners/ir/AbstractIrTextTest.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.test.runners.ir +import org.jetbrains.kotlin.platform.js.JsPlatforms import org.jetbrains.kotlin.platform.jvm.JvmPlatforms import org.jetbrains.kotlin.test.Constructor import org.jetbrains.kotlin.test.TargetBackend @@ -27,7 +28,9 @@ import org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact import org.jetbrains.kotlin.test.model.* import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest +import org.jetbrains.kotlin.test.services.JsLibraryProvider import org.jetbrains.kotlin.test.services.configuration.CommonEnvironmentConfigurator +import org.jetbrains.kotlin.test.services.configuration.JsEnvironmentConfigurator import org.jetbrains.kotlin.test.services.configuration.JvmEnvironmentConfigurator import org.jetbrains.kotlin.test.services.sourceProviders.AdditionalDiagnosticsSourceFilesProvider import org.jetbrains.kotlin.test.services.sourceProviders.CodegenHelpersSourceFilesProvider @@ -40,6 +43,13 @@ abstract class AbstractIrTextTestBase> : abstract val frontendFacade: Constructor> abstract val converter: Constructor> + open fun TestConfigurationBuilder.applyConfigurators() { + useConfigurators( + ::CommonEnvironmentConfigurator, + ::JvmEnvironmentConfigurator + ) + } + override fun TestConfigurationBuilder.configuration() { globalDefaults { frontend = this@AbstractIrTextTestBase.frontend @@ -54,10 +64,7 @@ abstract class AbstractIrTextTestBase> : +DUMP_KT_IR } - useConfigurators( - ::CommonEnvironmentConfigurator, - ::JvmEnvironmentConfigurator - ) + applyConfigurators() useAdditionalSourceProviders( ::AdditionalDiagnosticsSourceFilesProvider, @@ -133,4 +140,27 @@ open class AbstractLightTreeFir2IrTextTest : AbstractFir2IrTextTest() { } } } -} \ No newline at end of file +} + +open class AbstractFir2IrJsTextTest : AbstractFir2IrTextTest() { + override fun TestConfigurationBuilder.applyConfigurators() { + useConfigurators( + ::CommonEnvironmentConfigurator, + ::JsEnvironmentConfigurator, + ) + + useAdditionalService(::JsLibraryProvider) + } + + override fun configure(builder: TestConfigurationBuilder) { + super.configure(builder) + with(builder) { + globalDefaults { + targetPlatform = JsPlatforms.defaultJsPlatform + artifactKind = BinaryKind.NoArtifact + targetBackend = TargetBackend.JS_IR + dependencyKind = DependencyKind.Source + } + } + } +} diff --git a/js/js.tests/test/org/jetbrains/kotlin/generators/tests/GenerateJsTests.kt b/js/js.tests/test/org/jetbrains/kotlin/generators/tests/GenerateJsTests.kt index f7ff7ba7ad7..112e38e9c70 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/generators/tests/GenerateJsTests.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/generators/tests/GenerateJsTests.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractIrCodegenBoxWasmTe import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractIrCodegenWasmJsInteropWasmTest import org.jetbrains.kotlin.js.testOld.wasm.semantics.AbstractJsTranslatorWasmTest import org.jetbrains.kotlin.test.TargetBackend +import org.jetbrains.kotlin.test.runners.ir.AbstractFir2IrJsTextTest fun main(args: Array) { System.setProperty("java.awt.headless", "true") @@ -147,6 +148,12 @@ fun main(args: Array) { testClass { model("codegen/boxWasmJsInterop") } + + testClass( + suiteTestClassName = "Fir2IrJsTextTestGenerated" + ) { + model("ir/irJsText") + } } } }