From a9d5c74ff7bcd98c9a39b76b2541abd508b7fce5 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 24 Jun 2015 17:31:57 +0300 Subject: [PATCH] JS/RTTI: Added cast to Array test --- .../js/test/semantics/CastTestGenerated.java | 6 ++++++ .../testData/expression/cast/cases/castToArray.kt | 15 +++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 js/js.translator/testData/expression/cast/cases/castToArray.kt diff --git a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java index d28650edfd6..2b97c66b400 100644 --- a/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java +++ b/js/js.tests/test/org/jetbrains/kotlin/js/test/semantics/CastTestGenerated.java @@ -41,6 +41,12 @@ public class CastTestGenerated extends AbstractCastTest { doTest(fileName); } + @TestMetadata("castToArray.kt") + public void testCastToArray() throws Exception { + String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/expression/cast/cases/castToArray.kt"); + doTest(fileName); + } + @TestMetadata("castToFunction.kt") public void testCastToFunction() throws Exception { String fileName = JetTestUtils.navigationMetadata("js/js.translator/testData/expression/cast/cases/castToFunction.kt"); diff --git a/js/js.translator/testData/expression/cast/cases/castToArray.kt b/js/js.translator/testData/expression/cast/cases/castToArray.kt new file mode 100644 index 00000000000..5074971535f --- /dev/null +++ b/js/js.translator/testData/expression/cast/cases/castToArray.kt @@ -0,0 +1,15 @@ +package foo + +fun box(): String { + val ints: Any? = arrayOf(1, 2) + val strings: Any? = arrayOf("a", "b") + val nil: Any? = null + val obj: Any? = object{} + + success("ints") { ints as Array<*> } + success("strings") { strings as Array<*> } + failsClassCast("null") { nil as Array<*> } + failsClassCast("obj") { obj as Array<*> } + + return "OK" +} \ No newline at end of file