From fb7f221158b8d3d35a605111b7e103a89da4e234 Mon Sep 17 00:00:00 2001 From: Alexey Andreev Date: Thu, 23 Jun 2016 17:31:16 +0300 Subject: [PATCH] KT-2752: add test to ensure that JsName affects classes --- .../js/test/semantics/BoxJsTestGenerated.java | 6 +++++ .../test/semantics/BridgeTestGenerated.java | 12 ++++----- .../testData/box/jsName/classes.kt | 27 +++++++++++++++++++ 3 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 js/js.translator/testData/box/jsName/classes.kt diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java index ceae5adf740..3ad7a1b43c6 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BoxJsTestGenerated.java @@ -4795,6 +4795,12 @@ public class BoxJsTestGenerated extends AbstractBoxJsTest { doTest(fileName); } + @TestMetadata("classes.kt") + public void testClasses() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsName/classes.kt"); + doTest(fileName); + } + @TestMetadata("overriddenMethod.kt") public void testOverriddenMethod() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("js/js.translator/testData/box/jsName/overriddenMethod.kt"); diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BridgeTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BridgeTestGenerated.java index 2d89a65c941..763c0fe5afc 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BridgeTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/BridgeTestGenerated.java @@ -131,18 +131,18 @@ public class BridgeTestGenerated extends AbstractBridgeTest { doTest(fileName); } - @TestMetadata("kt12416.kt") - public void testKt12416() throws Exception { - String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/bridges/kt12416.kt"); - doTest(fileName); - } - @TestMetadata("jsNative.kt") public void testJsNative() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/bridges/jsNative.kt"); doTest(fileName); } + @TestMetadata("kt12416.kt") + public void testKt12416() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/bridges/kt12416.kt"); + doTest(fileName); + } + @TestMetadata("kt1939.kt") public void testKt1939() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/codegen/box/bridges/kt1939.kt"); diff --git a/js/js.translator/testData/box/jsName/classes.kt b/js/js.translator/testData/box/jsName/classes.kt new file mode 100644 index 00000000000..0ba91572660 --- /dev/null +++ b/js/js.translator/testData/box/jsName/classes.kt @@ -0,0 +1,27 @@ +package foo + +@JsName("AA") object A { + @JsName("foo") fun foo() = "A.foo" +} + +@JsName("BB") class B { + @JsName("foo") fun foo() = "B.foo" +} + +fun testA() = js(""" +var a = Kotlin.modules.JS_TESTS.foo.AA; +return a.foo(); +""") + +fun testB() = js(""" +var b = new Kotlin.modules.JS_TESTS.foo.BB(); +return b.foo(); +""") + + +fun box(): String { + assertEquals("A.foo", testA()) + assertEquals("B.foo", testB()) + + return "OK" +} \ No newline at end of file