diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt index f732862bdc5..84c7783ffa9 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelGenerator.kt @@ -303,6 +303,7 @@ class ExportModelGenerator(val context: JsIrBackendContext, val generateNamespac specialProcessing: (IrDeclarationWithName) -> ExportedDeclaration? = { null } ): ExportedClassDeclarationsInfo { val members = mutableListOf() + val specialMembers = mutableListOf() val nestedClasses = mutableListOf() val isImplicitlyExportedClass = klass.isJsImplicitExport() @@ -314,7 +315,7 @@ class ExportModelGenerator(val context: JsIrBackendContext, val generateNamespac val processingResult = specialProcessing(candidate) if (processingResult != null) { - members.add(processingResult) + specialMembers.add(processingResult) continue } @@ -362,7 +363,7 @@ class ExportModelGenerator(val context: JsIrBackendContext, val generateNamespac } return ExportedClassDeclarationsInfo( - members, + specialMembers + members, nestedClasses ) } @@ -496,7 +497,7 @@ class ExportModelGenerator(val context: JsIrBackendContext, val generateNamespac "ordinal" -> enumEntriesToOrdinal .map { (_, ordinal) -> ExportedType.LiteralType.NumberLiteralType(ordinal) } .reduce { acc: ExportedType, s: ExportedType -> ExportedType.UnionType(acc, s) } - else -> null + else -> return null } exportPropertyUnsafely( candidate, diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelToTsDeclarations.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelToTsDeclarations.kt index 3c018f5a5c5..d63d9f2356f 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelToTsDeclarations.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/export/ExportModelToTsDeclarations.kt @@ -300,7 +300,8 @@ class ExportModelToTsDeclarations { val (innerClasses, nonInnerClasses) = nestedDeclarations.partition { it.ir.isInner } val innerClassesProperties = innerClasses.map { it.toReadonlyProperty() } - val membersString = (members + innerClassesProperties).joinToString("") { it.toTypeScript("$indent ") + "\n" } + val membersString = (members + innerClassesProperties) + .joinToString("") { it.toTypeScript("$indent ") + "\n" } // If there are no exported constructors, add a private constructor to disable default one val privateCtorString = if (!isInterface && !isAbstract && members.none { it is ExportedConstructor }) { 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 c78f93d31d1..3b0b6f4a3aa 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 @@ -163,10 +163,13 @@ fun main(args: Array) { model("box/", pattern = "^([^_](.+))\\.kt$") } - // see todo on defining class -// testClass { -// model("typescript-export/", pattern = "^([^_](.+))\\.kt$") -// } + testClass { + model("typescript-export/", pattern = "^([^_](.+))\\.kt$") + } + + testClass { + model("typescript-export/", pattern = "^([^_](.+))\\.kt$") + } testClass { model("lineNumbers/") diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/fir/AbstractJsFirTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/fir/AbstractJsFirTest.kt index 92da70cb24d..3db1f47212f 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/fir/AbstractJsFirTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/fir/AbstractJsFirTest.kt @@ -9,7 +9,12 @@ import org.jetbrains.kotlin.js.test.handlers.JsDebugRunner import org.jetbrains.kotlin.js.test.handlers.JsIrRecompiledArtifactsIdentityHandler import org.jetbrains.kotlin.js.test.handlers.JsWrongModuleHandler import org.jetbrains.kotlin.js.test.handlers.createFirJsLineNumberHandler +import org.jetbrains.kotlin.js.test.handlers.createIrJsLineNumberHandler +import org.jetbrains.kotlin.js.test.ir.AbstractJsIrES6Test import org.jetbrains.kotlin.js.test.ir.AbstractJsIrTest +import org.jetbrains.kotlin.js.test.utils.configureJsTypeScriptExportTest +import org.jetbrains.kotlin.js.test.utils.configureLineNumberTests +import org.jetbrains.kotlin.js.test.utils.configureSteppingTests import org.jetbrains.kotlin.parsing.parseBoolean import org.jetbrains.kotlin.test.Constructor import org.jetbrains.kotlin.test.FirParser @@ -134,16 +139,25 @@ open class AbstractFirJsCodegenInlineTest : AbstractFirJsTest( testGroupOutputDirPrefix = "codegen/firBoxInline/" ) -// TODO: implement method order independent comparison to reuse testdata, disabled for now -//open class AbstractFirJsTypeScriptExportTest : AbstractFirJsTest( -// pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/typescript-export/", -// testGroupOutputDirPrefix = "typescript-export/" -//) { -// override fun configure(builder: TestConfigurationBuilder) { -// super.configure(builder) -// configureIrJsTypeScriptExportTest(builder) -// } -//} +open class AbstractFirJsTypeScriptExportTest : AbstractFirJsTest( + pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/typescript-export/", + testGroupOutputDirPrefix = "typescript-export/fir/" +) { + override fun configure(builder: TestConfigurationBuilder) { + super.configure(builder) + builder.configureJsTypeScriptExportTest() + } +} + +open class AbstractFirJsES6TypeScriptExportTest : AbstractFirJsES6Test( + pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/typescript-export/", + testGroupOutputDirPrefix = "typescript-export/fir-es6" +) { + override fun configure(builder: TestConfigurationBuilder) { + super.configure(builder) + builder.configureJsTypeScriptExportTest() + } +} open class AbstractFirJsLineNumberTest : AbstractFirJsTest( pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/lineNumbers/", @@ -151,17 +165,7 @@ open class AbstractFirJsLineNumberTest : AbstractFirJsTest( ) { override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - with(builder) { - defaultDirectives { - +JsEnvironmentConfigurationDirectives.KJS_WITH_FULL_RUNTIME - +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES - -JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER - JsEnvironmentConfigurationDirectives.DONT_RUN_GENERATED_CODE.with(listOf("JS", "JS_IR", "JS_IR_ES6")) - } - configureJsArtifactsHandlersStep { - useHandlers(::createFirJsLineNumberHandler) - } - } + builder.configureLineNumberTests(::createFirJsLineNumberHandler) } } @@ -202,15 +206,7 @@ open class AbstractFirJsSteppingTest : AbstractFirJsTest( ) { override fun TestConfigurationBuilder.configuration() { commonConfigurationForJsBlackBoxCodegenTest() - defaultDirectives { - +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES - } - useAdditionalSourceProviders(::JsSteppingTestAdditionalSourceProvider) - jsArtifactsHandlersStep { - useHandlers( - ::JsDebugRunner.bind(false) - ) - } + configureSteppingTests() } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsIrTest.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsIrTest.kt index 010cf7bec82..a1afb2554ae 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsIrTest.kt +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/ir/AbstractJsIrTest.kt @@ -10,6 +10,9 @@ import org.jetbrains.kotlin.js.test.converters.JsIrBackendFacade import org.jetbrains.kotlin.js.test.converters.JsKlibBackendFacade import org.jetbrains.kotlin.js.test.converters.incremental.RecompileModuleJsIrBackendFacade import org.jetbrains.kotlin.js.test.handlers.* +import org.jetbrains.kotlin.js.test.utils.configureJsTypeScriptExportTest +import org.jetbrains.kotlin.js.test.utils.configureLineNumberTests +import org.jetbrains.kotlin.js.test.utils.configureSteppingTests import org.jetbrains.kotlin.parsing.parseBoolean import org.jetbrains.kotlin.test.Constructor import org.jetbrains.kotlin.test.TargetBackend @@ -99,36 +102,21 @@ open class AbstractIrJsCodegenInlineTest : AbstractJsIrTest( open class AbstractIrJsTypeScriptExportTest : AbstractJsIrTest( pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/typescript-export/", - testGroupOutputDirPrefix = "typescript-export/" + testGroupOutputDirPrefix = "typescript-export/ir/" ) { override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - configureIrJsTypeScriptExportTest(builder) + builder.configureJsTypeScriptExportTest() } } open class AbstractIrJsES6TypeScriptExportTest : AbstractJsIrES6Test( pathToTestDir = "${JsEnvironmentConfigurator.TEST_DATA_DIR_PATH}/typescript-export/", - testGroupOutputDirPrefix = "es6-typescript-export/" + testGroupOutputDirPrefix = "typescript-export/ir-es6/" ) { override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - configureIrJsTypeScriptExportTest(builder) - } -} - -private fun configureIrJsTypeScriptExportTest(builder: TestConfigurationBuilder) { - with(builder) { - defaultDirectives { - +JsEnvironmentConfigurationDirectives.GENERATE_DTS - if (getBoolean("kotlin.js.updateReferenceDtsFiles")) +JsEnvironmentConfigurationDirectives.UPDATE_REFERENCE_DTS_FILES - } - - configureJsArtifactsHandlersStep { - useHandlers( - ::JsDtsHandler - ) - } + builder.configureJsTypeScriptExportTest() } } @@ -138,17 +126,7 @@ open class AbstractJsIrLineNumberTest : AbstractJsIrTest( ) { override fun configure(builder: TestConfigurationBuilder) { super.configure(builder) - with(builder) { - defaultDirectives { - +JsEnvironmentConfigurationDirectives.KJS_WITH_FULL_RUNTIME - +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES - -JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER - JsEnvironmentConfigurationDirectives.DONT_RUN_GENERATED_CODE.with(listOf("JS", "JS_IR", "JS_IR_ES6")) - } - configureJsArtifactsHandlersStep { - useHandlers(::createIrJsLineNumberHandler) - } - } + builder.configureLineNumberTests(::createIrJsLineNumberHandler) } } @@ -209,15 +187,7 @@ open class AbstractIrJsSteppingTest : AbstractJsIrTest( ) { override fun TestConfigurationBuilder.configuration() { commonConfigurationForJsBlackBoxCodegenTest() - defaultDirectives { - +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES - } - useAdditionalSourceProviders(::JsSteppingTestAdditionalSourceProvider) - jsArtifactsHandlersStep { - useHandlers( - ::JsDebugRunner.bind(false) - ) - } + configureSteppingTests() } } diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/Configurations.kt b/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/Configurations.kt new file mode 100644 index 00000000000..ff7e14c1ad6 --- /dev/null +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/utils/Configurations.kt @@ -0,0 +1,50 @@ +/* + * Copyright 2010-2024 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.js.test.utils + +import org.jetbrains.kotlin.js.test.JsSteppingTestAdditionalSourceProvider +import org.jetbrains.kotlin.js.test.handlers.JsDebugRunner +import org.jetbrains.kotlin.js.test.handlers.JsDtsHandler +import org.jetbrains.kotlin.test.backend.handlers.JsBinaryArtifactHandler +import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder +import org.jetbrains.kotlin.test.builders.configureJsArtifactsHandlersStep +import org.jetbrains.kotlin.test.builders.jsArtifactsHandlersStep +import org.jetbrains.kotlin.test.directives.JsEnvironmentConfigurationDirectives +import org.jetbrains.kotlin.test.services.TestServices +import org.jetbrains.kotlin.utils.bind +import java.lang.Boolean.getBoolean + +fun TestConfigurationBuilder.configureLineNumberTests(createLineNumberHandler: (testServices: TestServices) -> JsBinaryArtifactHandler) { + defaultDirectives { + +JsEnvironmentConfigurationDirectives.KJS_WITH_FULL_RUNTIME + +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES + -JsEnvironmentConfigurationDirectives.GENERATE_NODE_JS_RUNNER + JsEnvironmentConfigurationDirectives.DONT_RUN_GENERATED_CODE.with(listOf("JS", "JS_IR", "JS_IR_ES6")) + } + configureJsArtifactsHandlersStep { + useHandlers(createLineNumberHandler) + } +} + +fun TestConfigurationBuilder.configureSteppingTests() { + defaultDirectives { + +JsEnvironmentConfigurationDirectives.NO_COMMON_FILES + } + useAdditionalSourceProviders(::JsSteppingTestAdditionalSourceProvider) + jsArtifactsHandlersStep { + useHandlers(::JsDebugRunner.bind(false)) + } +} + +fun TestConfigurationBuilder.configureJsTypeScriptExportTest() { + defaultDirectives { + +JsEnvironmentConfigurationDirectives.GENERATE_DTS + if (getBoolean("kotlin.js.updateReferenceDtsFiles")) +JsEnvironmentConfigurationDirectives.UPDATE_REFERENCE_DTS_FILES + } + configureJsArtifactsHandlersStep { + useHandlers(::JsDtsHandler) + } +} diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6TypeScriptExportTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6TypeScriptExportTestGenerated.java new file mode 100644 index 00000000000..e21b18f6264 --- /dev/null +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6TypeScriptExportTestGenerated.java @@ -0,0 +1,879 @@ +/* + * Copyright 2010-2024 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.js.test.fir; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TargetBackend; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("js/js.translator/testData/typescript-export") +@TestDataPath("$PROJECT_ROOT") +public class FirJsES6TypeScriptExportTestGenerated extends AbstractFirJsES6TypeScriptExportTest { + @Test + public void testAllFilesPresentInTypescript_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/abstract-classes") + @TestDataPath("$PROJECT_ROOT") + public class Abstract_classes { + @Test + @TestMetadata("abstract-classes.kt") + public void testAbstract_classes() { + runTest("js/js.translator/testData/typescript-export/abstract-classes/abstract-classes.kt"); + } + + @Test + public void testAllFilesPresentInAbstract_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/abstract-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Abstract_classes_in_exported_file { + @Test + @TestMetadata("abstract-classes.kt") + public void testAbstract_classes() { + runTest("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file/abstract-classes.kt"); + } + + @Test + public void testAllFilesPresentInAbstract_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/collections"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("collections.kt") + public void testCollections() { + runTest("js/js.translator/testData/typescript-export/collections/collections.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/collections-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Collections_in_exported_file { + @Test + public void testAllFilesPresentInCollections_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/collections-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("collections.kt") + public void testCollections() { + runTest("js/js.translator/testData/typescript-export/collections-in-exported-file/collections.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/constructors") + @TestDataPath("$PROJECT_ROOT") + public class Constructors { + @Test + public void testAllFilesPresentInConstructors() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/constructors"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("constructors.kt") + public void testConstructors() { + runTest("js/js.translator/testData/typescript-export/constructors/constructors.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/constructors-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Constructors_in_exported_file { + @Test + public void testAllFilesPresentInConstructors_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/constructors-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("constructors.kt") + public void testConstructors() { + runTest("js/js.translator/testData/typescript-export/constructors-in-exported-file/constructors.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/data-classes") + @TestDataPath("$PROJECT_ROOT") + public class Data_classes { + @Test + public void testAllFilesPresentInData_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/data-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("data-classes.kt") + public void testData_classes() { + runTest("js/js.translator/testData/typescript-export/data-classes/data-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/data-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Data_classes_in_exported_file { + @Test + public void testAllFilesPresentInData_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/data-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("data-classes.kt") + public void testData_classes() { + runTest("js/js.translator/testData/typescript-export/data-classes-in-exported-file/data-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/deprecated") + @TestDataPath("$PROJECT_ROOT") + public class Deprecated { + @Test + public void testAllFilesPresentInDeprecated() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/deprecated"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("deprecated.kt") + public void testDeprecated() { + runTest("js/js.translator/testData/typescript-export/deprecated/deprecated.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/deprecated-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Deprecated_in_exported_file { + @Test + public void testAllFilesPresentInDeprecated_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/deprecated-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("deprecated.kt") + public void testDeprecated() { + runTest("js/js.translator/testData/typescript-export/deprecated-in-exported-file/deprecated.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/enum-classes") + @TestDataPath("$PROJECT_ROOT") + public class Enum_classes { + @Test + public void testAllFilesPresentInEnum_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/enum-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("enum-classes.kt") + public void testEnum_classes() { + runTest("js/js.translator/testData/typescript-export/enum-classes/enum-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/enum-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Enum_classes_in_exported_file { + @Test + public void testAllFilesPresentInEnum_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/enum-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("enum-classes.kt") + public void testEnum_classes() { + runTest("js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/escaped-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Escaped_declarations { + @Test + public void testAllFilesPresentInEscaped_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/escaped-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("escaped-declarations.kt") + public void testEscaped_declarations() { + runTest("js/js.translator/testData/typescript-export/escaped-declarations/escaped-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Escaped_declarations_in_exported_file { + @Test + public void testAllFilesPresentInEscaped_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("escaped-declarations.kt") + public void testEscaped_declarations() { + runTest("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file/escaped-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/excluded-exported-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Excluded_exported_declarations { + @Test + public void testAllFilesPresentInExcluded_exported_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/excluded-exported-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("excluded-exported-declarations.kt") + public void testExcluded_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/excluded-exported-declarations/excluded-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Excluded_exported_declarations_in_exported_file { + @Test + public void testAllFilesPresentInExcluded_exported_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("excluded-exported-declarations.kt") + public void testExcluded_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file/excluded-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/functions") + @TestDataPath("$PROJECT_ROOT") + public class Functions { + @Test + public void testAllFilesPresentInFunctions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/functions"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("js/js.translator/testData/typescript-export/functions/functions.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/functions-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Functions_in_exported_file { + @Test + public void testAllFilesPresentInFunctions_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/functions-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("js/js.translator/testData/typescript-export/functions-in-exported-file/functions.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/implicit-export") + @TestDataPath("$PROJECT_ROOT") + public class Implicit_export { + @Test + public void testAllFilesPresentInImplicit_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/implicit-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("implicit-export.kt") + public void testImplicit_export() { + runTest("js/js.translator/testData/typescript-export/implicit-export/implicit-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inheritance") + @TestDataPath("$PROJECT_ROOT") + public class Inheritance { + @Test + public void testAllFilesPresentInInheritance() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inheritance"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("inheritance.kt") + public void testInheritance() { + runTest("js/js.translator/testData/typescript-export/inheritance/inheritance.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inner-classes") + @TestDataPath("$PROJECT_ROOT") + public class Inner_classes { + @Test + public void testAllFilesPresentInInner_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inner-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("inner-class.kt") + public void testInner_class() { + runTest("js/js.translator/testData/typescript-export/inner-classes/inner-class.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inner-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Inner_classes_in_exported_file { + @Test + public void testAllFilesPresentInInner_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inner-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("inner-class.kt") + public void testInner_class() { + runTest("js/js.translator/testData/typescript-export/inner-classes-in-exported-file/inner-class.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/interfaces") + @TestDataPath("$PROJECT_ROOT") + public class Interfaces { + @Test + public void testAllFilesPresentInInterfaces() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/interfaces"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("interfaces.kt") + public void testInterfaces() { + runTest("js/js.translator/testData/typescript-export/interfaces/interfaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/interfaces-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Interfaces_in_exported_file { + @Test + public void testAllFilesPresentInInterfaces_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/interfaces-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("interfaces.kt") + public void testInterfaces() { + runTest("js/js.translator/testData/typescript-export/interfaces-in-exported-file/interfaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/js-name") + @TestDataPath("$PROJECT_ROOT") + public class Js_name { + @Test + public void testAllFilesPresentInJs_name() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/js-name"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("js-name.kt") + public void testJs_name() { + runTest("js/js.translator/testData/typescript-export/js-name/js-name.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/js-name-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Js_name_in_exported_file { + @Test + public void testAllFilesPresentInJs_name_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/js-name-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("js-name.kt") + public void testJs_name() { + runTest("js/js.translator/testData/typescript-export/js-name-in-exported-file/js-name.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/member-properties") + @TestDataPath("$PROJECT_ROOT") + public class Member_properties { + @Test + public void testAllFilesPresentInMember_properties() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/member-properties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("member-properties.kt") + public void testMember_properties() { + runTest("js/js.translator/testData/typescript-export/member-properties/member-properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/member-properties-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Member_properties_in_exported_file { + @Test + public void testAllFilesPresentInMember_properties_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/member-properties-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("member-properties.kt") + public void testMember_properties() { + runTest("js/js.translator/testData/typescript-export/member-properties-in-exported-file/member-properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/methods") + @TestDataPath("$PROJECT_ROOT") + public class Methods { + @Test + public void testAllFilesPresentInMethods() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/methods"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("methods.kt") + public void testMethods() { + runTest("js/js.translator/testData/typescript-export/methods/methods.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/methods-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Methods_in_exported_file { + @Test + public void testAllFilesPresentInMethods_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/methods-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("methods.kt") + public void testMethods() { + runTest("js/js.translator/testData/typescript-export/methods-in-exported-file/methods.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/module-systems") + @TestDataPath("$PROJECT_ROOT") + public class Module_systems { + @Test + public void testAllFilesPresentInModule_systems() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/module-systems"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("commonjs.kt") + public void testCommonjs() { + runTest("js/js.translator/testData/typescript-export/module-systems/commonjs.kt"); + } + + @Test + @TestMetadata("esm.kt") + public void testEsm() { + runTest("js/js.translator/testData/typescript-export/module-systems/esm.kt"); + } + + @Test + @TestMetadata("plain.kt") + public void testPlain() { + runTest("js/js.translator/testData/typescript-export/module-systems/plain.kt"); + } + + @Test + @TestMetadata("umd.kt") + public void testUmd() { + runTest("js/js.translator/testData/typescript-export/module-systems/umd.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/module-systems-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Module_systems_in_exported_file { + @Test + public void testAllFilesPresentInModule_systems_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/module-systems-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("commonjs.kt") + public void testCommonjs() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/commonjs.kt"); + } + + @Test + @TestMetadata("esm.kt") + public void testEsm() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/esm.kt"); + } + + @Test + @TestMetadata("plain.kt") + public void testPlain() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/plain.kt"); + } + + @Test + @TestMetadata("umd.kt") + public void testUmd() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/umd.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/namespaces") + @TestDataPath("$PROJECT_ROOT") + public class Namespaces { + @Test + public void testAllFilesPresentInNamespaces() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/namespaces"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("namespaces.kt") + public void testNamespaces() { + runTest("js/js.translator/testData/typescript-export/namespaces/namespaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/namespaces-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Namespaces_in_exported_file { + @Test + public void testAllFilesPresentInNamespaces_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/namespaces-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("namespaces.kt") + public void testNamespaces() { + runTest("js/js.translator/testData/typescript-export/namespaces-in-exported-file/namespaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/not-exported-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Not_exported_declarations { + @Test + public void testAllFilesPresentInNot_exported_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/not-exported-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("not-exported-declarations.kt") + public void testNot_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/not-exported-declarations/not-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Not_exported_declarations_in_exported_file { + @Test + public void testAllFilesPresentInNot_exported_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("not-exported-declarations.kt") + public void testNot_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file/not-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/objects") + @TestDataPath("$PROJECT_ROOT") + public class Objects { + @Test + public void testAllFilesPresentInObjects() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/objects"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("objects.kt") + public void testObjects() { + runTest("js/js.translator/testData/typescript-export/objects/objects.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/objects-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Objects_in_exported_file { + @Test + public void testAllFilesPresentInObjects_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/objects-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("objects.kt") + public void testObjects() { + runTest("js/js.translator/testData/typescript-export/objects-in-exported-file/objects.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/primitives") + @TestDataPath("$PROJECT_ROOT") + public class Primitives { + @Test + public void testAllFilesPresentInPrimitives() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/primitives"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("primitives.kt") + public void testPrimitives() { + runTest("js/js.translator/testData/typescript-export/primitives/primitives.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/primitives-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Primitives_in_exported_file { + @Test + public void testAllFilesPresentInPrimitives_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/primitives-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("primitives.kt") + public void testPrimitives() { + runTest("js/js.translator/testData/typescript-export/primitives-in-exported-file/primitives.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/private-primary-constructor") + @TestDataPath("$PROJECT_ROOT") + public class Private_primary_constructor { + @Test + public void testAllFilesPresentInPrivate_primary_constructor() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/private-primary-constructor"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("private-primary-constructor.kt") + public void testPrivate_primary_constructor() { + runTest("js/js.translator/testData/typescript-export/private-primary-constructor/private-primary-constructor.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/properties") + @TestDataPath("$PROJECT_ROOT") + public class Properties { + @Test + public void testAllFilesPresentInProperties() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/properties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("js/js.translator/testData/typescript-export/properties/properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/properties-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Properties_in_exported_file { + @Test + public void testAllFilesPresentInProperties_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/properties-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("js/js.translator/testData/typescript-export/properties-in-exported-file/properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/regular-classes") + @TestDataPath("$PROJECT_ROOT") + public class Regular_classes { + @Test + public void testAllFilesPresentInRegular_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/regular-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("regular-classes.kt") + public void testRegular_classes() { + runTest("js/js.translator/testData/typescript-export/regular-classes/regular-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/regular-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Regular_classes_in_exported_file { + @Test + public void testAllFilesPresentInRegular_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/regular-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("regular-classes.kt") + public void testRegular_classes() { + runTest("js/js.translator/testData/typescript-export/regular-classes-in-exported-file/regular-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/sealed-classes") + @TestDataPath("$PROJECT_ROOT") + public class Sealed_classes { + @Test + public void testAllFilesPresentInSealed_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/sealed-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("sealed-classes.kt") + public void testSealed_classes() { + runTest("js/js.translator/testData/typescript-export/sealed-classes/sealed-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Sealed_classes_in_exported_file { + @Test + public void testAllFilesPresentInSealed_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("sealed-classes.kt") + public void testSealed_classes() { + runTest("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file/sealed-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/selective-export") + @TestDataPath("$PROJECT_ROOT") + public class Selective_export { + @Test + public void testAllFilesPresentInSelective_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/selective-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("selective-export.kt") + public void testSelective_export() { + runTest("js/js.translator/testData/typescript-export/selective-export/selective-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/strict-implicit-export") + @TestDataPath("$PROJECT_ROOT") + public class Strict_implicit_export { + @Test + public void testAllFilesPresentInStrict_implicit_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/strict-implicit-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("strict-implicit-export.kt") + public void testStrict_implicit_export() { + runTest("js/js.translator/testData/typescript-export/strict-implicit-export/strict-implicit-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/visibility"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("visibility.kt") + public void testVisibility() { + runTest("js/js.translator/testData/typescript-export/visibility/visibility.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/visibility-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Visibility_in_exported_file { + @Test + public void testAllFilesPresentInVisibility_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/visibility-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR_ES6, true); + } + + @Test + @TestMetadata("visibility.kt") + public void testVisibility() { + runTest("js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.kt"); + } + } +} diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsTypeScriptExportTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsTypeScriptExportTestGenerated.java new file mode 100644 index 00000000000..2666d074a34 --- /dev/null +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsTypeScriptExportTestGenerated.java @@ -0,0 +1,879 @@ +/* + * Copyright 2010-2024 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.js.test.fir; + +import com.intellij.testFramework.TestDataPath; +import org.jetbrains.kotlin.test.util.KtTestUtil; +import org.jetbrains.kotlin.test.TargetBackend; +import org.jetbrains.kotlin.test.TestMetadata; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.util.regex.Pattern; + +/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJsTestsKt}. DO NOT MODIFY MANUALLY */ +@SuppressWarnings("all") +@TestMetadata("js/js.translator/testData/typescript-export") +@TestDataPath("$PROJECT_ROOT") +public class FirJsTypeScriptExportTestGenerated extends AbstractFirJsTypeScriptExportTest { + @Test + public void testAllFilesPresentInTypescript_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/abstract-classes") + @TestDataPath("$PROJECT_ROOT") + public class Abstract_classes { + @Test + @TestMetadata("abstract-classes.kt") + public void testAbstract_classes() { + runTest("js/js.translator/testData/typescript-export/abstract-classes/abstract-classes.kt"); + } + + @Test + public void testAllFilesPresentInAbstract_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/abstract-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Abstract_classes_in_exported_file { + @Test + @TestMetadata("abstract-classes.kt") + public void testAbstract_classes() { + runTest("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file/abstract-classes.kt"); + } + + @Test + public void testAllFilesPresentInAbstract_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/abstract-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/collections") + @TestDataPath("$PROJECT_ROOT") + public class Collections { + @Test + public void testAllFilesPresentInCollections() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/collections"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("collections.kt") + public void testCollections() { + runTest("js/js.translator/testData/typescript-export/collections/collections.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/collections-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Collections_in_exported_file { + @Test + public void testAllFilesPresentInCollections_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/collections-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("collections.kt") + public void testCollections() { + runTest("js/js.translator/testData/typescript-export/collections-in-exported-file/collections.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/constructors") + @TestDataPath("$PROJECT_ROOT") + public class Constructors { + @Test + public void testAllFilesPresentInConstructors() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/constructors"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("constructors.kt") + public void testConstructors() { + runTest("js/js.translator/testData/typescript-export/constructors/constructors.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/constructors-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Constructors_in_exported_file { + @Test + public void testAllFilesPresentInConstructors_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/constructors-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("constructors.kt") + public void testConstructors() { + runTest("js/js.translator/testData/typescript-export/constructors-in-exported-file/constructors.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/data-classes") + @TestDataPath("$PROJECT_ROOT") + public class Data_classes { + @Test + public void testAllFilesPresentInData_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/data-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("data-classes.kt") + public void testData_classes() { + runTest("js/js.translator/testData/typescript-export/data-classes/data-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/data-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Data_classes_in_exported_file { + @Test + public void testAllFilesPresentInData_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/data-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("data-classes.kt") + public void testData_classes() { + runTest("js/js.translator/testData/typescript-export/data-classes-in-exported-file/data-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/deprecated") + @TestDataPath("$PROJECT_ROOT") + public class Deprecated { + @Test + public void testAllFilesPresentInDeprecated() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/deprecated"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("deprecated.kt") + public void testDeprecated() { + runTest("js/js.translator/testData/typescript-export/deprecated/deprecated.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/deprecated-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Deprecated_in_exported_file { + @Test + public void testAllFilesPresentInDeprecated_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/deprecated-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("deprecated.kt") + public void testDeprecated() { + runTest("js/js.translator/testData/typescript-export/deprecated-in-exported-file/deprecated.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/enum-classes") + @TestDataPath("$PROJECT_ROOT") + public class Enum_classes { + @Test + public void testAllFilesPresentInEnum_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/enum-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("enum-classes.kt") + public void testEnum_classes() { + runTest("js/js.translator/testData/typescript-export/enum-classes/enum-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/enum-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Enum_classes_in_exported_file { + @Test + public void testAllFilesPresentInEnum_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/enum-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("enum-classes.kt") + public void testEnum_classes() { + runTest("js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/escaped-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Escaped_declarations { + @Test + public void testAllFilesPresentInEscaped_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/escaped-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("escaped-declarations.kt") + public void testEscaped_declarations() { + runTest("js/js.translator/testData/typescript-export/escaped-declarations/escaped-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Escaped_declarations_in_exported_file { + @Test + public void testAllFilesPresentInEscaped_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("escaped-declarations.kt") + public void testEscaped_declarations() { + runTest("js/js.translator/testData/typescript-export/escaped-declarations-in-exported-file/escaped-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/excluded-exported-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Excluded_exported_declarations { + @Test + public void testAllFilesPresentInExcluded_exported_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/excluded-exported-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("excluded-exported-declarations.kt") + public void testExcluded_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/excluded-exported-declarations/excluded-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Excluded_exported_declarations_in_exported_file { + @Test + public void testAllFilesPresentInExcluded_exported_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("excluded-exported-declarations.kt") + public void testExcluded_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/excluded-exported-declarations-in-exported-file/excluded-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/functions") + @TestDataPath("$PROJECT_ROOT") + public class Functions { + @Test + public void testAllFilesPresentInFunctions() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/functions"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("js/js.translator/testData/typescript-export/functions/functions.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/functions-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Functions_in_exported_file { + @Test + public void testAllFilesPresentInFunctions_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/functions-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("functions.kt") + public void testFunctions() { + runTest("js/js.translator/testData/typescript-export/functions-in-exported-file/functions.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/implicit-export") + @TestDataPath("$PROJECT_ROOT") + public class Implicit_export { + @Test + public void testAllFilesPresentInImplicit_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/implicit-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("implicit-export.kt") + public void testImplicit_export() { + runTest("js/js.translator/testData/typescript-export/implicit-export/implicit-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inheritance") + @TestDataPath("$PROJECT_ROOT") + public class Inheritance { + @Test + public void testAllFilesPresentInInheritance() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inheritance"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("inheritance.kt") + public void testInheritance() { + runTest("js/js.translator/testData/typescript-export/inheritance/inheritance.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inner-classes") + @TestDataPath("$PROJECT_ROOT") + public class Inner_classes { + @Test + public void testAllFilesPresentInInner_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inner-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("inner-class.kt") + public void testInner_class() { + runTest("js/js.translator/testData/typescript-export/inner-classes/inner-class.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/inner-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Inner_classes_in_exported_file { + @Test + public void testAllFilesPresentInInner_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/inner-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("inner-class.kt") + public void testInner_class() { + runTest("js/js.translator/testData/typescript-export/inner-classes-in-exported-file/inner-class.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/interfaces") + @TestDataPath("$PROJECT_ROOT") + public class Interfaces { + @Test + public void testAllFilesPresentInInterfaces() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/interfaces"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("interfaces.kt") + public void testInterfaces() { + runTest("js/js.translator/testData/typescript-export/interfaces/interfaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/interfaces-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Interfaces_in_exported_file { + @Test + public void testAllFilesPresentInInterfaces_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/interfaces-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("interfaces.kt") + public void testInterfaces() { + runTest("js/js.translator/testData/typescript-export/interfaces-in-exported-file/interfaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/js-name") + @TestDataPath("$PROJECT_ROOT") + public class Js_name { + @Test + public void testAllFilesPresentInJs_name() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/js-name"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("js-name.kt") + public void testJs_name() { + runTest("js/js.translator/testData/typescript-export/js-name/js-name.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/js-name-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Js_name_in_exported_file { + @Test + public void testAllFilesPresentInJs_name_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/js-name-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("js-name.kt") + public void testJs_name() { + runTest("js/js.translator/testData/typescript-export/js-name-in-exported-file/js-name.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/member-properties") + @TestDataPath("$PROJECT_ROOT") + public class Member_properties { + @Test + public void testAllFilesPresentInMember_properties() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/member-properties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("member-properties.kt") + public void testMember_properties() { + runTest("js/js.translator/testData/typescript-export/member-properties/member-properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/member-properties-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Member_properties_in_exported_file { + @Test + public void testAllFilesPresentInMember_properties_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/member-properties-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("member-properties.kt") + public void testMember_properties() { + runTest("js/js.translator/testData/typescript-export/member-properties-in-exported-file/member-properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/methods") + @TestDataPath("$PROJECT_ROOT") + public class Methods { + @Test + public void testAllFilesPresentInMethods() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/methods"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("methods.kt") + public void testMethods() { + runTest("js/js.translator/testData/typescript-export/methods/methods.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/methods-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Methods_in_exported_file { + @Test + public void testAllFilesPresentInMethods_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/methods-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("methods.kt") + public void testMethods() { + runTest("js/js.translator/testData/typescript-export/methods-in-exported-file/methods.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/module-systems") + @TestDataPath("$PROJECT_ROOT") + public class Module_systems { + @Test + public void testAllFilesPresentInModule_systems() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/module-systems"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("commonjs.kt") + public void testCommonjs() { + runTest("js/js.translator/testData/typescript-export/module-systems/commonjs.kt"); + } + + @Test + @TestMetadata("esm.kt") + public void testEsm() { + runTest("js/js.translator/testData/typescript-export/module-systems/esm.kt"); + } + + @Test + @TestMetadata("plain.kt") + public void testPlain() { + runTest("js/js.translator/testData/typescript-export/module-systems/plain.kt"); + } + + @Test + @TestMetadata("umd.kt") + public void testUmd() { + runTest("js/js.translator/testData/typescript-export/module-systems/umd.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/module-systems-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Module_systems_in_exported_file { + @Test + public void testAllFilesPresentInModule_systems_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/module-systems-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("commonjs.kt") + public void testCommonjs() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/commonjs.kt"); + } + + @Test + @TestMetadata("esm.kt") + public void testEsm() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/esm.kt"); + } + + @Test + @TestMetadata("plain.kt") + public void testPlain() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/plain.kt"); + } + + @Test + @TestMetadata("umd.kt") + public void testUmd() { + runTest("js/js.translator/testData/typescript-export/module-systems-in-exported-file/umd.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/namespaces") + @TestDataPath("$PROJECT_ROOT") + public class Namespaces { + @Test + public void testAllFilesPresentInNamespaces() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/namespaces"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("namespaces.kt") + public void testNamespaces() { + runTest("js/js.translator/testData/typescript-export/namespaces/namespaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/namespaces-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Namespaces_in_exported_file { + @Test + public void testAllFilesPresentInNamespaces_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/namespaces-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("namespaces.kt") + public void testNamespaces() { + runTest("js/js.translator/testData/typescript-export/namespaces-in-exported-file/namespaces.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/not-exported-declarations") + @TestDataPath("$PROJECT_ROOT") + public class Not_exported_declarations { + @Test + public void testAllFilesPresentInNot_exported_declarations() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/not-exported-declarations"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("not-exported-declarations.kt") + public void testNot_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/not-exported-declarations/not-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Not_exported_declarations_in_exported_file { + @Test + public void testAllFilesPresentInNot_exported_declarations_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("not-exported-declarations.kt") + public void testNot_exported_declarations() { + runTest("js/js.translator/testData/typescript-export/not-exported-declarations-in-exported-file/not-exported-declarations.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/objects") + @TestDataPath("$PROJECT_ROOT") + public class Objects { + @Test + public void testAllFilesPresentInObjects() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/objects"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("objects.kt") + public void testObjects() { + runTest("js/js.translator/testData/typescript-export/objects/objects.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/objects-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Objects_in_exported_file { + @Test + public void testAllFilesPresentInObjects_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/objects-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("objects.kt") + public void testObjects() { + runTest("js/js.translator/testData/typescript-export/objects-in-exported-file/objects.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/primitives") + @TestDataPath("$PROJECT_ROOT") + public class Primitives { + @Test + public void testAllFilesPresentInPrimitives() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/primitives"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("primitives.kt") + public void testPrimitives() { + runTest("js/js.translator/testData/typescript-export/primitives/primitives.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/primitives-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Primitives_in_exported_file { + @Test + public void testAllFilesPresentInPrimitives_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/primitives-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("primitives.kt") + public void testPrimitives() { + runTest("js/js.translator/testData/typescript-export/primitives-in-exported-file/primitives.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/private-primary-constructor") + @TestDataPath("$PROJECT_ROOT") + public class Private_primary_constructor { + @Test + public void testAllFilesPresentInPrivate_primary_constructor() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/private-primary-constructor"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("private-primary-constructor.kt") + public void testPrivate_primary_constructor() { + runTest("js/js.translator/testData/typescript-export/private-primary-constructor/private-primary-constructor.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/properties") + @TestDataPath("$PROJECT_ROOT") + public class Properties { + @Test + public void testAllFilesPresentInProperties() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/properties"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("js/js.translator/testData/typescript-export/properties/properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/properties-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Properties_in_exported_file { + @Test + public void testAllFilesPresentInProperties_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/properties-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("properties.kt") + public void testProperties() { + runTest("js/js.translator/testData/typescript-export/properties-in-exported-file/properties.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/regular-classes") + @TestDataPath("$PROJECT_ROOT") + public class Regular_classes { + @Test + public void testAllFilesPresentInRegular_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/regular-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("regular-classes.kt") + public void testRegular_classes() { + runTest("js/js.translator/testData/typescript-export/regular-classes/regular-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/regular-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Regular_classes_in_exported_file { + @Test + public void testAllFilesPresentInRegular_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/regular-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("regular-classes.kt") + public void testRegular_classes() { + runTest("js/js.translator/testData/typescript-export/regular-classes-in-exported-file/regular-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/sealed-classes") + @TestDataPath("$PROJECT_ROOT") + public class Sealed_classes { + @Test + public void testAllFilesPresentInSealed_classes() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/sealed-classes"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("sealed-classes.kt") + public void testSealed_classes() { + runTest("js/js.translator/testData/typescript-export/sealed-classes/sealed-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Sealed_classes_in_exported_file { + @Test + public void testAllFilesPresentInSealed_classes_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("sealed-classes.kt") + public void testSealed_classes() { + runTest("js/js.translator/testData/typescript-export/sealed-classes-in-exported-file/sealed-classes.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/selective-export") + @TestDataPath("$PROJECT_ROOT") + public class Selective_export { + @Test + public void testAllFilesPresentInSelective_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/selective-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("selective-export.kt") + public void testSelective_export() { + runTest("js/js.translator/testData/typescript-export/selective-export/selective-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/strict-implicit-export") + @TestDataPath("$PROJECT_ROOT") + public class Strict_implicit_export { + @Test + public void testAllFilesPresentInStrict_implicit_export() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/strict-implicit-export"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("strict-implicit-export.kt") + public void testStrict_implicit_export() { + runTest("js/js.translator/testData/typescript-export/strict-implicit-export/strict-implicit-export.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/visibility") + @TestDataPath("$PROJECT_ROOT") + public class Visibility { + @Test + public void testAllFilesPresentInVisibility() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/visibility"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("visibility.kt") + public void testVisibility() { + runTest("js/js.translator/testData/typescript-export/visibility/visibility.kt"); + } + } + + @Nested + @TestMetadata("js/js.translator/testData/typescript-export/visibility-in-exported-file") + @TestDataPath("$PROJECT_ROOT") + public class Visibility_in_exported_file { + @Test + public void testAllFilesPresentInVisibility_in_exported_file() { + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("js/js.translator/testData/typescript-export/visibility-in-exported-file"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.JS_IR, true); + } + + @Test + @TestMetadata("visibility.kt") + public void testVisibility() { + runTest("js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.kt"); + } + } +} diff --git a/js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.d.ts b/js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.d.ts index b5bb99419d0..03b0d78001f 100644 --- a/js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.d.ts +++ b/js/js.translator/testData/typescript-export/enum-classes-in-exported-file/enum-classes.d.ts @@ -3,7 +3,6 @@ declare namespace JS_TESTS { namespace foo { abstract class TestEnumClass { private constructor(); - get constructorParameter(): string; static get A(): foo.TestEnumClass & { get name(): "A"; get ordinal(): 0; @@ -12,13 +11,14 @@ declare namespace JS_TESTS { get name(): "B"; get ordinal(): 1; }; + get name(): "A" | "B"; + get ordinal(): 0 | 1; + get constructorParameter(): string; get foo(): number; bar(value: string): string; bay(): string; static values(): Array; static valueOf(value: string): foo.TestEnumClass; - get name(): "A" | "B"; - get ordinal(): 0 | 1; } namespace TestEnumClass { class Nested { @@ -40,10 +40,10 @@ declare namespace JS_TESTS { get name(): "B"; get ordinal(): 1; }; - static values(): Array; - static valueOf(value: string): foo.OuterClass.NestedEnum; get name(): "A" | "B"; get ordinal(): 0 | 1; + static values(): Array; + static valueOf(value: string): foo.OuterClass.NestedEnum; } } } diff --git a/js/js.translator/testData/typescript-export/enum-classes/enum-classes.d.ts b/js/js.translator/testData/typescript-export/enum-classes/enum-classes.d.ts index b5bb99419d0..03b0d78001f 100644 --- a/js/js.translator/testData/typescript-export/enum-classes/enum-classes.d.ts +++ b/js/js.translator/testData/typescript-export/enum-classes/enum-classes.d.ts @@ -3,7 +3,6 @@ declare namespace JS_TESTS { namespace foo { abstract class TestEnumClass { private constructor(); - get constructorParameter(): string; static get A(): foo.TestEnumClass & { get name(): "A"; get ordinal(): 0; @@ -12,13 +11,14 @@ declare namespace JS_TESTS { get name(): "B"; get ordinal(): 1; }; + get name(): "A" | "B"; + get ordinal(): 0 | 1; + get constructorParameter(): string; get foo(): number; bar(value: string): string; bay(): string; static values(): Array; static valueOf(value: string): foo.TestEnumClass; - get name(): "A" | "B"; - get ordinal(): 0 | 1; } namespace TestEnumClass { class Nested { @@ -40,10 +40,10 @@ declare namespace JS_TESTS { get name(): "B"; get ordinal(): 1; }; - static values(): Array; - static valueOf(value: string): foo.OuterClass.NestedEnum; get name(): "A" | "B"; get ordinal(): 0 | 1; + static values(): Array; + static valueOf(value: string): foo.OuterClass.NestedEnum; } } } diff --git a/js/js.translator/testData/typescript-export/inheritance/inheritance.d.ts b/js/js.translator/testData/typescript-export/inheritance/inheritance.d.ts index dc722ef79c0..fe3248ffc93 100644 --- a/js/js.translator/testData/typescript-export/inheritance/inheritance.d.ts +++ b/js/js.translator/testData/typescript-export/inheritance/inheritance.d.ts @@ -90,14 +90,14 @@ declare namespace JS_TESTS { get name(): "EC3"; get ordinal(): 2; }; + get name(): "EC1" | "EC2" | "EC3"; + get ordinal(): 0 | 1 | 2; get foo(): string; get bar(): string; set bar(value: string); bay(): string; static values(): Array; static valueOf(value: string): foo.EC; - get name(): "EC1" | "EC2" | "EC3"; - get ordinal(): 0 | 1 | 2; abstract get baz(): string; readonly __doNotUseOrImplementIt: foo.I3["__doNotUseOrImplementIt"]; } diff --git a/js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.d.ts b/js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.d.ts index 7b68095a664..26ead9adae7 100644 --- a/js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.d.ts +++ b/js/js.translator/testData/typescript-export/visibility-in-exported-file/visibility.d.ts @@ -41,9 +41,9 @@ declare namespace JS_TESTS { get name(): "EC2"; get ordinal(): 1; }; - static values(): Array; - static valueOf(value: string): EnumClass; get name(): "EC1" | "EC2"; get ordinal(): 0 | 1; + static values(): Array; + static valueOf(value: string): EnumClass; } } diff --git a/js/js.translator/testData/typescript-export/visibility/visibility.d.ts b/js/js.translator/testData/typescript-export/visibility/visibility.d.ts index 7b68095a664..26ead9adae7 100644 --- a/js/js.translator/testData/typescript-export/visibility/visibility.d.ts +++ b/js/js.translator/testData/typescript-export/visibility/visibility.d.ts @@ -41,9 +41,9 @@ declare namespace JS_TESTS { get name(): "EC2"; get ordinal(): 1; }; - static values(): Array; - static valueOf(value: string): EnumClass; get name(): "EC1" | "EC2"; get ordinal(): 0 | 1; + static values(): Array; + static valueOf(value: string): EnumClass; } }