diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/RangeTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/RangeTest.java index 0f5b4c55c1a..a3e14de0602 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/RangeTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/RangeTest.java @@ -53,4 +53,8 @@ public final class RangeTest extends SingleFileTranslationTest { public void testRangeEquals() throws Exception { checkFooBoxIsOk(); } + + public void testIntDownTo() throws Exception { + checkFooBoxIsOk(); + } } diff --git a/js/js.translator/testData/range/cases/intDownTo.kt b/js/js.translator/testData/range/cases/intDownTo.kt new file mode 100644 index 00000000000..9d650d6b057 --- /dev/null +++ b/js/js.translator/testData/range/cases/intDownTo.kt @@ -0,0 +1,24 @@ +package foo + +import java.util.ArrayList + +fun testDownTo() { + var elems = ArrayList() + for (i in 4 downTo 0) { + elems.add(i) + } + assertTrue(elems[0] == 4 && elems[1] == 3 && elems[2] == 2 && elems[3] == 1 && elems[4] == 0) +} + +fun testDownToDoesNotIterate() { + for (i in 0 downTo 1) { + fail() + } +} + +fun box(): String { + testDownTo() + testDownToDoesNotIterate() + + return "OK" +}