From fba2f5ea4e6480f69391a3df895df4152a162b93 Mon Sep 17 00:00:00 2001 From: Leonid Startsev Date: Wed, 3 Jan 2024 18:04:11 +0100 Subject: [PATCH] Expand most kotlinx.serialization tests on JS backend to enhance and increase test coverage of the plugin. --- .../testData/boxIr/annotationsOnFile.kt | 2 - .../testData/boxIr/caching.kt | 2 - .../testData/boxIr/classSerializerAsObject.kt | 2 - .../testData/boxIr/contextualByDefault.kt | 4 +- .../testData/boxIr/contextualFallback.kt | 2 - .../boxIr/contextualWithTypeParameters.kt | 2 - .../testData/boxIr/delegatedInterface.kt | 4 +- .../testData/boxIr/enumsAreCached.kt | 2 - .../boxIr/genericBaseClassMultiple.kt | 2 +- .../testData/boxIr/genericBaseClassSimple.kt | 4 +- .../testData/boxIr/generics.kt | 2 - .../testData/boxIr/metaSerializable.kt | 2 - .../testData/boxIr/multimoduleInheritance.kt | 5 +- .../boxIr/multimoduleInheritanceJs.kt | 89 ++++++++++++ .../boxIr/multipleGenericsPolymorphic.kt | 2 - .../testData/boxIr/sealedClassMultifile.kt | 2 - .../testData/boxIr/sealedInterfaces.kt | 2 - .../boxIr/serializableFromAnotherModule.kt | 1 - ...lizableFromAnotherModule_multipleFields.kt | 1 - .../boxIr/serializableOnPropertyType.kt | 4 +- .../testData/boxIr/starProjections.kt | 2 - .../testData/boxIr/typealiasesTest.kt | 2 +- .../testData/boxIr/useSerializersChain.kt | 4 +- .../boxIr/userDefinedSerializerInCompanion.kt | 4 +- .../SerializationFirJsBoxTestGenerated.java | 132 ++++++++++++++++++ .../SerializationIrJsBoxTestGenerated.java | 132 ++++++++++++++++++ 26 files changed, 363 insertions(+), 49 deletions(-) create mode 100644 plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt diff --git a/plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt b/plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt index ad9076df21e..580c37056ff 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB // FILE: a.kt diff --git a/plugins/kotlinx-serialization/testData/boxIr/caching.kt b/plugins/kotlinx-serialization/testData/boxIr/caching.kt index bac772946eb..c18631e0bcd 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/caching.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/caching.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt b/plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt index f05c466c1d1..bae3580181b 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB package a diff --git a/plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt b/plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt index e9412fefe38..f11cc07124a 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* @@ -13,4 +11,4 @@ fun box(): String { val kind = Ref.serializer().descriptor.kind.toString() if (kind != "CONTEXTUAL") return kind return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt b/plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt index c43092a484e..e3a3f4a40b5 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt b/plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt index 77dfb1e83a0..fc35233e8ae 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt b/plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt index 8dcae4cb674..2268e4e8fdd 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* @@ -20,4 +18,4 @@ fun box(): String { if (d.size != 1) return "Delegation to Map failed" if (d.data != dto.data) return "Equals failed ${d.data}" return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt b/plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt index 8d104fd3b8b..ed795266ee9 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt b/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt index c46c0987099..fd081dbce37 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM_IR +// IGNORE_BACKEND_K1: JS_IR // WITH_STDLIB diff --git a/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt b/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt index 766e70d4cf8..cd36e7dc9bd 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt @@ -1,4 +1,4 @@ -// TARGET_BACKEND: JVM_IR +// IGNORE_BACKEND_K1: JS_IR // WITH_STDLIB @@ -43,4 +43,4 @@ fun box(): String { val decodedEmail = Json.decodeFromString>(encodedEmail) if (decodedEmail.toString() != "Email(foo, 1)") return "DecodedEmail: $decodedEmail" return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/generics.kt b/plugins/kotlinx-serialization/testData/boxIr/generics.kt index 16e8ec3fe36..d3fdb02f9b4 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/generics.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/generics.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt b/plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt index 1ea8c308517..8a0ebda46e5 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt b/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt index 783d3e2cd25..b86fd2a9b4a 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritance.kt @@ -17,9 +17,6 @@ open class OpenBody { @Serializable abstract class AbstractConstructor(var optional: String = "foo") -// TODO: test fails for K2 if places of 'color' and 'name' are swapped -// because of https://youtrack.jetbrains.com/issue/KT-54792 (KT-20980) -// and serialization proto extension is not available in K2. @Serializable open class Vehicle { var color: String? = null @@ -87,4 +84,4 @@ fun box(): String { return e.message!! } -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt b/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt new file mode 100644 index 00000000000..2edd2ac4166 --- /dev/null +++ b/plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt @@ -0,0 +1,89 @@ +// WITH_STDLIB +// TARGET_BACKEND: JS_IR +// TARGET_BACKEND: JS_IR_ES6 + +// JS vs JVM difference is that we are not able to understand that we have a default value in other module (KT-62523) + +// MODULE: lib +// FILE: lib.kt + +package a + +import kotlinx.serialization.* + +@Serializable +open class OpenBody { + var optional: String? = "foo" +} + +@Serializable +abstract class AbstractConstructor(var optional: String = "foo") + +@Serializable +open class Vehicle { + var color: String? = null + var name: String? = null +} + + +// MODULE: app(lib) +// FILE: app.kt + +package test + +import a.* +import kotlinx.serialization.* +import kotlinx.serialization.json.* +import kotlin.test.assertEquals + +@Serializable +class Test1: OpenBody() + +@Serializable +class Test2: AbstractConstructor() + +@Serializable +open class Car : Vehicle() { + var maxSpeed: Int = 100 +} + +fun test1() { + val string = Json.encodeToString(Test1.serializer(), Test1()) + assertEquals("{\"optional\":\"foo\"}", string) + val reconstructed = Json.decodeFromString(Test1.serializer(), string) + assertEquals("foo", reconstructed.optional) +} + +fun test2() { + val string = Json.encodeToString(Test2.serializer(), Test2()) + assertEquals("{\"optional\":\"foo\"}", string) + val reconstructed = Json.decodeFromString(Test2.serializer(), string) + assertEquals("foo", reconstructed.optional) +} + +fun test3() { + val json = Json { allowStructuredMapKeys = true; encodeDefaults = true } + + val car = Car() + car.maxSpeed = 100 + car.name = "ford" + val s = json.encodeToString(Car.serializer(), car) + assertEquals("""{"color":null,"name":"ford","maxSpeed":100}""", s) + val restoredCar = json.decodeFromString(Car.serializer(), s) + assertEquals(100, restoredCar.maxSpeed) + assertEquals("ford", restoredCar.name) + assertEquals(null, restoredCar.color) +} + +fun box(): String { + try { + test1() + test2() + test3() + return "OK" + } catch (e: Throwable) { + e.printStackTrace() + return e.message!! + } + +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt b/plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt index db64cc98310..2f432f96def 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt b/plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt index d554f766caf..f1ed5c3045e 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB // FILE: a.kt diff --git a/plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt b/plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt index 565a32820e7..1fe8f6b34a0 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB package a diff --git a/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt b/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt index 0702c235906..281c1995a66 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt @@ -1,4 +1,3 @@ -// TARGET_BACKEND: JVM_IR // WITH_STDLIB // ISSUE: KT-57626 diff --git a/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt b/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt index 3637bcc0fb0..d595487bb0e 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt @@ -1,4 +1,3 @@ -// TARGET_BACKEND: JVM_IR // WITH_STDLIB // ISSUE: KT-57626 diff --git a/plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt b/plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt index 2eaa571f174..97238b8e57b 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* @@ -53,4 +51,4 @@ fun box(): String { val s = Json.encodeToString(t) if (s != """{"b1":"a","b2":"b#","b3":"c#","b4":"d#"}""") return s return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/starProjections.kt b/plugins/kotlinx-serialization/testData/boxIr/starProjections.kt index f3621326104..f3d2c375dcd 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/starProjections.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/starProjections.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* diff --git a/plugins/kotlinx-serialization/testData/boxIr/typealiasesTest.kt b/plugins/kotlinx-serialization/testData/boxIr/typealiasesTest.kt index 45cffac7002..c1852b749f7 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/typealiasesTest.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/typealiasesTest.kt @@ -41,4 +41,4 @@ fun box(): String { val list = Foo.serializer().descriptor.elementDescriptors.map { it.serialName }.toList() if (list != listOf("SerializerB", "DateSer", "kotlin.collections.ArrayList")) return list.toString() return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt b/plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt index da6d36c38c0..0a55e5d8da3 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB // FILE: a.kt @@ -45,4 +43,4 @@ class Holder( fun box(): String { val d = Holder.serializer().descriptor.toString() return if (d == "a.Holder(i: kotlin.Int, c: MySer)") "OK" else d -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt b/plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt index d6a3532d7bb..2c22966ba4a 100644 --- a/plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt +++ b/plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt @@ -1,5 +1,3 @@ -// TARGET_BACKEND: JVM_IR - // WITH_STDLIB import kotlinx.serialization.* @@ -34,4 +32,4 @@ fun box(): String { val boxDesc = Box.serializer(String.serializer()).descriptor if (boxDesc.toString() != "Box(boxed: kotlin.String)") return boxDesc.toString() return "OK" -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationFirJsBoxTestGenerated.java b/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationFirJsBoxTestGenerated.java index 5d32712053d..e445a797681 100644 --- a/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationFirJsBoxTestGenerated.java +++ b/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationFirJsBoxTestGenerated.java @@ -25,24 +25,72 @@ public class SerializationFirJsBoxTestGenerated extends AbstractSerializationFir KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/kotlinx-serialization/testData/boxIr"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("annotationsOnFile.kt") + public void testAnnotationsOnFile() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt"); + } + + @Test + @TestMetadata("caching.kt") + public void testCaching() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/caching.kt"); + } + @Test @TestMetadata("clashBetweenSerializableAndNonSerializableProperty.kt") public void testClashBetweenSerializableAndNonSerializableProperty() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/clashBetweenSerializableAndNonSerializableProperty.kt"); } + @Test + @TestMetadata("classSerializerAsObject.kt") + public void testClassSerializerAsObject() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt"); + } + @Test @TestMetadata("constValInSerialName.kt") public void testConstValInSerialName() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/constValInSerialName.kt"); } + @Test + @TestMetadata("contextualByDefault.kt") + public void testContextualByDefault() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt"); + } + + @Test + @TestMetadata("contextualFallback.kt") + public void testContextualFallback() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt"); + } + + @Test + @TestMetadata("contextualWithTypeParameters.kt") + public void testContextualWithTypeParameters() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt"); + } + + @Test + @TestMetadata("delegatedInterface.kt") + public void testDelegatedInterface() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt"); + } + @Test @TestMetadata("delegatedProperty.kt") public void testDelegatedProperty() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/delegatedProperty.kt"); } + @Test + @TestMetadata("enumsAreCached.kt") + public void testEnumsAreCached() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt"); + } + @Test @TestMetadata("excludedFromExport.kt") public void testExcludedFromExport() throws Exception { @@ -55,12 +103,78 @@ public class SerializationFirJsBoxTestGenerated extends AbstractSerializationFir runTest("plugins/kotlinx-serialization/testData/boxIr/excludedFromFileExport.kt"); } + @Test + @TestMetadata("genericBaseClassMultiple.kt") + public void testGenericBaseClassMultiple() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt"); + } + + @Test + @TestMetadata("genericBaseClassSimple.kt") + public void testGenericBaseClassSimple() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt"); + } + + @Test + @TestMetadata("generics.kt") + public void testGenerics() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/generics.kt"); + } + @Test @TestMetadata("interfaces.kt") public void testInterfaces() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/interfaces.kt"); } + @Test + @TestMetadata("metaSerializable.kt") + public void testMetaSerializable() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt"); + } + + @Test + @TestMetadata("multimoduleInheritanceJs.kt") + public void testMultimoduleInheritanceJs() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt"); + } + + @Test + @TestMetadata("multipleGenericsPolymorphic.kt") + public void testMultipleGenericsPolymorphic() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt"); + } + + @Test + @TestMetadata("sealedClassMultifile.kt") + public void testSealedClassMultifile() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt"); + } + + @Test + @TestMetadata("sealedInterfaces.kt") + public void testSealedInterfaces() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt"); + } + + @Test + @TestMetadata("serializableFromAnotherModule.kt") + public void testSerializableFromAnotherModule() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt"); + } + + @Test + @TestMetadata("serializableFromAnotherModule_multipleFields.kt") + public void testSerializableFromAnotherModule_multipleFields() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt"); + } + + @Test + @TestMetadata("serializableOnPropertyType.kt") + public void testSerializableOnPropertyType() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt"); + } + @Test @TestMetadata("serializerFactory.kt") public void testSerializerFactory() throws Exception { @@ -72,4 +186,22 @@ public class SerializationFirJsBoxTestGenerated extends AbstractSerializationFir public void testSerializerFactoryInUserDefined() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/serializerFactoryInUserDefined.kt"); } + + @Test + @TestMetadata("starProjections.kt") + public void testStarProjections() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/starProjections.kt"); + } + + @Test + @TestMetadata("useSerializersChain.kt") + public void testUseSerializersChain() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt"); + } + + @Test + @TestMetadata("userDefinedSerializerInCompanion.kt") + public void testUserDefinedSerializerInCompanion() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt"); + } } diff --git a/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationIrJsBoxTestGenerated.java b/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationIrJsBoxTestGenerated.java index 6365c758d25..8267ade9253 100644 --- a/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationIrJsBoxTestGenerated.java +++ b/plugins/kotlinx-serialization/tests-gen/org/jetbrains/kotlinx/serialization/runners/SerializationIrJsBoxTestGenerated.java @@ -25,24 +25,72 @@ public class SerializationIrJsBoxTestGenerated extends AbstractSerializationIrJs KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/kotlinx-serialization/testData/boxIr"), Pattern.compile("^(.+)\\.kt$"), null, TargetBackend.JS_IR, true); } + @Test + @TestMetadata("annotationsOnFile.kt") + public void testAnnotationsOnFile() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/annotationsOnFile.kt"); + } + + @Test + @TestMetadata("caching.kt") + public void testCaching() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/caching.kt"); + } + @Test @TestMetadata("clashBetweenSerializableAndNonSerializableProperty.kt") public void testClashBetweenSerializableAndNonSerializableProperty() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/clashBetweenSerializableAndNonSerializableProperty.kt"); } + @Test + @TestMetadata("classSerializerAsObject.kt") + public void testClassSerializerAsObject() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/classSerializerAsObject.kt"); + } + @Test @TestMetadata("constValInSerialName.kt") public void testConstValInSerialName() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/constValInSerialName.kt"); } + @Test + @TestMetadata("contextualByDefault.kt") + public void testContextualByDefault() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualByDefault.kt"); + } + + @Test + @TestMetadata("contextualFallback.kt") + public void testContextualFallback() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualFallback.kt"); + } + + @Test + @TestMetadata("contextualWithTypeParameters.kt") + public void testContextualWithTypeParameters() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/contextualWithTypeParameters.kt"); + } + + @Test + @TestMetadata("delegatedInterface.kt") + public void testDelegatedInterface() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/delegatedInterface.kt"); + } + @Test @TestMetadata("delegatedProperty.kt") public void testDelegatedProperty() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/delegatedProperty.kt"); } + @Test + @TestMetadata("enumsAreCached.kt") + public void testEnumsAreCached() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/enumsAreCached.kt"); + } + @Test @TestMetadata("excludedFromExport.kt") public void testExcludedFromExport() throws Exception { @@ -55,12 +103,78 @@ public class SerializationIrJsBoxTestGenerated extends AbstractSerializationIrJs runTest("plugins/kotlinx-serialization/testData/boxIr/excludedFromFileExport.kt"); } + @Test + @TestMetadata("genericBaseClassMultiple.kt") + public void testGenericBaseClassMultiple() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/genericBaseClassMultiple.kt"); + } + + @Test + @TestMetadata("genericBaseClassSimple.kt") + public void testGenericBaseClassSimple() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/genericBaseClassSimple.kt"); + } + + @Test + @TestMetadata("generics.kt") + public void testGenerics() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/generics.kt"); + } + @Test @TestMetadata("interfaces.kt") public void testInterfaces() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/interfaces.kt"); } + @Test + @TestMetadata("metaSerializable.kt") + public void testMetaSerializable() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/metaSerializable.kt"); + } + + @Test + @TestMetadata("multimoduleInheritanceJs.kt") + public void testMultimoduleInheritanceJs() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/multimoduleInheritanceJs.kt"); + } + + @Test + @TestMetadata("multipleGenericsPolymorphic.kt") + public void testMultipleGenericsPolymorphic() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/multipleGenericsPolymorphic.kt"); + } + + @Test + @TestMetadata("sealedClassMultifile.kt") + public void testSealedClassMultifile() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/sealedClassMultifile.kt"); + } + + @Test + @TestMetadata("sealedInterfaces.kt") + public void testSealedInterfaces() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/sealedInterfaces.kt"); + } + + @Test + @TestMetadata("serializableFromAnotherModule.kt") + public void testSerializableFromAnotherModule() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule.kt"); + } + + @Test + @TestMetadata("serializableFromAnotherModule_multipleFields.kt") + public void testSerializableFromAnotherModule_multipleFields() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableFromAnotherModule_multipleFields.kt"); + } + + @Test + @TestMetadata("serializableOnPropertyType.kt") + public void testSerializableOnPropertyType() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/serializableOnPropertyType.kt"); + } + @Test @TestMetadata("serializerFactory.kt") public void testSerializerFactory() throws Exception { @@ -72,4 +186,22 @@ public class SerializationIrJsBoxTestGenerated extends AbstractSerializationIrJs public void testSerializerFactoryInUserDefined() throws Exception { runTest("plugins/kotlinx-serialization/testData/boxIr/serializerFactoryInUserDefined.kt"); } + + @Test + @TestMetadata("starProjections.kt") + public void testStarProjections() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/starProjections.kt"); + } + + @Test + @TestMetadata("useSerializersChain.kt") + public void testUseSerializersChain() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/useSerializersChain.kt"); + } + + @Test + @TestMetadata("userDefinedSerializerInCompanion.kt") + public void testUserDefinedSerializerInCompanion() throws Exception { + runTest("plugins/kotlinx-serialization/testData/boxIr/userDefinedSerializerInCompanion.kt"); + } }