From 7b017fad90d9305f71a85039c9785fabcdb27688 Mon Sep 17 00:00:00 2001 From: Sergej Jaskiewicz Date: Mon, 8 Nov 2021 18:46:43 +0300 Subject: [PATCH] [JS IR] Add tests for KT-41964 and KT-44981 --- .../semantics/IrBoxJsES6TestGenerated.java | 10 +++++ .../kotlin/js/testNew/BoxJsTestGenerated.java | 12 ++++++ .../js/testNew/IrBoxJsTestGenerated.java | 12 ++++++ .../testData/box/jsCode/kt41964.kt | 41 +++++++++++++++++++ .../testData/box/jsCode/kt44981.kt | 12 ++++++ 5 files changed, 87 insertions(+) create mode 100644 js/js.translator/testData/box/jsCode/kt41964.kt create mode 100644 js/js.translator/testData/box/jsCode/kt44981.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 82264210c26..f1b873f4f24 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 @@ -5726,6 +5726,16 @@ public class IrBoxJsES6TestGenerated extends AbstractIrBoxJsES6Test { runTest("js/js.translator/testData/box/jsCode/invocation.kt"); } + @TestMetadata("kt41964.kt") + public void testKt41964() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt41964.kt"); + } + + @TestMetadata("kt44981.kt") + public void testKt44981() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt44981.kt"); + } + @TestMetadata("label.kt") public void testLabel() throws Exception { runTest("js/js.translator/testData/box/jsCode/label.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/BoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/BoxJsTestGenerated.java index d7ee9d279e4..22da6bb7f95 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/BoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/BoxJsTestGenerated.java @@ -6096,6 +6096,18 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { runTest("js/js.translator/testData/box/jsCode/invocation.kt"); } + @Test + @TestMetadata("kt41964.kt") + public void testKt41964() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt41964.kt"); + } + + @Test + @TestMetadata("kt44981.kt") + public void testKt44981() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt44981.kt"); + } + @Test @TestMetadata("label.kt") public void testLabel() throws Exception { diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/IrBoxJsTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/IrBoxJsTestGenerated.java index 99b0d147cb7..06c2da39082 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/IrBoxJsTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/testNew/IrBoxJsTestGenerated.java @@ -6468,6 +6468,18 @@ public class IrBoxJsTestGenerated extends AbstractIrBoxJsTest { runTest("js/js.translator/testData/box/jsCode/invocation.kt"); } + @Test + @TestMetadata("kt41964.kt") + public void testKt41964() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt41964.kt"); + } + + @Test + @TestMetadata("kt44981.kt") + public void testKt44981() throws Exception { + runTest("js/js.translator/testData/box/jsCode/kt44981.kt"); + } + @Test @TestMetadata("label.kt") public void testLabel() throws Exception { diff --git a/js/js.translator/testData/box/jsCode/kt41964.kt b/js/js.translator/testData/box/jsCode/kt41964.kt new file mode 100644 index 00000000000..c5bc644a131 --- /dev/null +++ b/js/js.translator/testData/box/jsCode/kt41964.kt @@ -0,0 +1,41 @@ +// EXPECTED_REACHABLE_NODES: 1280 + +// MODULE: lib +// FILE: aaa.kt +package bar + +fun aaa() {} + +fun test1(aaa: String): String? { + return js("aaa") +} + +// MODULE: main(lib) +// FILE: bbb.kt +package foo + +import bar.aaa +import bar.test1 + +fun bbb() {} + +fun test2(aaa: String, bbb: Int): String { + return "" + js("aaa") + js("bbb") +} + +fun keep() { + aaa() + bbb() +} + +fun box(): String { + val a = test1("first") + if (a != "first") return "fail1: $a" + + val b = test2("second", 31) + if (b != "second31") return "fail2: $b" + + keep() + + return "OK" +} diff --git a/js/js.translator/testData/box/jsCode/kt44981.kt b/js/js.translator/testData/box/jsCode/kt44981.kt new file mode 100644 index 00000000000..1dcc7467728 --- /dev/null +++ b/js/js.translator/testData/box/jsCode/kt44981.kt @@ -0,0 +1,12 @@ +// EXPECTED_REACHABLE_NODES: 1267 + +const val x = '2' +const val y = '+' +const val z = '3' + +fun box(): String { + if (js(x.toString() + z) !== 23) return "Fail 1" + if (js(x.toString() + y + z) !== 5) return "Fail 2" + + return "OK" +}