From a97a3109876cf29705adcb13dc87e1cedcc9f140 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Thu, 13 Jul 2017 12:29:48 +0700 Subject: [PATCH] tests: Add tests for empty ranges in 'for' loops --- backend.native/tests/build.gradle | 5 +++++ .../codegen/basics/for_loops_empty_range.kt | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 backend.native/tests/codegen/basics/for_loops_empty_range.kt diff --git a/backend.native/tests/build.gradle b/backend.native/tests/build.gradle index fd1e1c8c22d..c8652785493 100644 --- a/backend.native/tests/build.gradle +++ b/backend.native/tests/build.gradle @@ -330,6 +330,11 @@ task codegen_basics_for_loops_errors(type: RunKonanTest) { goldValue = "OK\n" } +task codegen_basics_for_loops_empty_range(type: RunKonanTest) { + source = "codegen/basics/for_loops_empty_range.kt" + goldValue = "OK\n" +} + task local_variable(type: RunKonanTest) { source = "codegen/basics/local_variable.kt" } diff --git a/backend.native/tests/codegen/basics/for_loops_empty_range.kt b/backend.native/tests/codegen/basics/for_loops_empty_range.kt new file mode 100644 index 00000000000..2b78406ae8a --- /dev/null +++ b/backend.native/tests/codegen/basics/for_loops_empty_range.kt @@ -0,0 +1,16 @@ +fun main(args: Array) { + // Simple loops + for (i in 4..0) { print(i) } + for (i in 4 until 0) { print(i) } + for (i in 0 downTo 4) { print(i) } + // Steps + for (i in 4..0 step 2) { print(i) } + for (i in 4 until 0 step 2) { print(i) } + for (i in 0 downTo 4 step 2) { print(i) } + // Two steps + for (i in 6..0 step 2 step 3) { print(i) } + for (i in 6 until 0 step 2 step 3) { print(i) } + for (i in 0 downTo 6 step 2 step 3) { print(i) } + + println("OK") +} \ No newline at end of file