From 5f576c4c055ebdc1ecbca896236f96b74b6032db Mon Sep 17 00:00:00 2001 From: Michael Nedzelsky Date: Wed, 29 Oct 2014 13:41:41 +0300 Subject: [PATCH] JS backend: test for toGenerator from stdlib --- .../k2js/test/semantics/MiscTest.java | 4 ++++ .../misc/cases/toGeneratorInStdlib.kt | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 js/js.translator/testData/expression/misc/cases/toGeneratorInStdlib.kt diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/MiscTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/MiscTest.java index a8adb0a34c1..3b9f12a0110 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/MiscTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/MiscTest.java @@ -189,4 +189,8 @@ public final class MiscTest extends AbstractExpressionTest { public void testRightAssocForGeneratedConditionalOperator() throws Exception { checkFooBoxIsOk(); } + + public void testToGeneratorInStdlib() throws Exception { + checkFooBoxIsOk(); + } } diff --git a/js/js.translator/testData/expression/misc/cases/toGeneratorInStdlib.kt b/js/js.translator/testData/expression/misc/cases/toGeneratorInStdlib.kt new file mode 100644 index 00000000000..561b68535d7 --- /dev/null +++ b/js/js.translator/testData/expression/misc/cases/toGeneratorInStdlib.kt @@ -0,0 +1,19 @@ +package foo + +fun streamFromFunctionWithInitialValue() { + val values = stream(3) { n -> if (n > 0) n - 1 else null } + assertEquals(arrayListOf(3, 2, 1, 0), values.toList()) +} + +fun iterateOverFunction() { + val values = iterate(3) { n -> if (n > 0) n - 1 else null } + assertEquals(arrayList(3, 2, 1, 0), values.toList()) +} + +fun box(): String { + + streamFromFunctionWithInitialValue() + iterateOverFunction() + + return "OK" +} \ No newline at end of file