From a89fe90043a1aad545ecfd18ccb73295be86a94d Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Tue, 19 Jan 2021 14:32:37 +0300 Subject: [PATCH] [JS IR] Add test on exportable overriden method ^KT-44415 fixed --- .../semantics/IrBoxJsES6TestGenerated.java | 5 ++++ .../ir/semantics/IrBoxJsTestGenerated.java | 5 ++++ .../js/test/semantics/BoxJsTestGenerated.java | 5 ++++ .../testData/box/export/overridenMethod.kt | 27 +++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 js/js.translator/testData/box/export/overridenMethod.kt diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java index af044a740bd..766f3af1e52 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrBoxJsES6TestGenerated.java @@ -1622,6 +1622,11 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test { runTest("js/js.translator/testData/box/export/nonIndetifierModuleName.kt"); } + @TestMetadata("overridenMethod.kt") + public void testOverridenMethod() throws Exception { + runTest("js/js.translator/testData/box/export/overridenMethod.kt"); + } + @TestMetadata("reservedModuleName.kt") public void testReservedModuleName() throws Exception { runTest("js/js.translator/testData/box/export/reservedModuleName.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java index 0a4d53b5d16..0f8ae44fe07 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrBoxJsTestGenerated.java @@ -1622,6 +1622,11 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest { runTest("js/js.translator/testData/box/export/nonIndetifierModuleName.kt"); } + @TestMetadata("overridenMethod.kt") + public void testOverridenMethod() throws Exception { + runTest("js/js.translator/testData/box/export/overridenMethod.kt"); + } + @TestMetadata("reservedModuleName.kt") public void testReservedModuleName() throws Exception { runTest("js/js.translator/testData/box/export/reservedModuleName.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java index 304d497b667..4c672f1dcaa 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java @@ -1627,6 +1627,11 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { runTest("js/js.translator/testData/box/export/nonIndetifierModuleName.kt"); } + @TestMetadata("overridenMethod.kt") + public void testOverridenMethod() throws Exception { + runTest("js/js.translator/testData/box/export/overridenMethod.kt"); + } + @TestMetadata("reservedModuleName.kt") public void testReservedModuleName() throws Exception { runTest("js/js.translator/testData/box/export/reservedModuleName.kt"); diff --git a/js/js.translator/testData/box/export/overridenMethod.kt b/js/js.translator/testData/box/export/overridenMethod.kt new file mode 100644 index 00000000000..8f9d5e4658b --- /dev/null +++ b/js/js.translator/testData/box/export/overridenMethod.kt @@ -0,0 +1,27 @@ +abstract class Foo1 { + abstract fun ok(): String +} + +@JsExport +class Bar1 : Foo1() { + override fun ok(): String { + return "OK" + } +} + +open class Foo2 { + open fun ok(): String { + return "fail" + } +} + +@JsExport +class Bar2 : Foo2() { + override fun ok(): String { + return "OK" + } +} + +fun box(): String { + return if (Bar1().ok() == "OK" && Bar2().ok() == "OK") "OK" else "fail" +} \ No newline at end of file