diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2018-09-03 16:37:32 +0200 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2018-09-04 16:29:59 +0300 |
commit | 5007870b52aa549971824959a55ad3bb886f09e0 (patch) | |
tree | b0ef7f24c0b9ece2ed23f3c1792f16da324e4171 /tests/loop/for.testscript | |
parent | 09d60452a80d14d9b8bf3a9395860b50683fa1e8 (diff) |
Rename .test/test{} to .testscript/testscript{}
Diffstat (limited to 'tests/loop/for.testscript')
-rw-r--r-- | tests/loop/for.testscript | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/tests/loop/for.testscript b/tests/loop/for.testscript new file mode 100644 index 0000000..6aec1b2 --- /dev/null +++ b/tests/loop/for.testscript @@ -0,0 +1,112 @@ +# file : tests/loop/for.testscript +# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd +# license : MIT; see accompanying LICENSE file + +# Test for-loop. + +.include ../common.testscript + +: line +: +$* <<EOI >>EOO +for i: 1 2 3 + print $i +EOI +1 +2 +3 +EOO + +: block +: +$* <<EOI >>EOO +for i: 1 2 3 +{ + # This is a block if you haven't noticed. + j = $i + print $j +} +EOI +1 +2 +3 +EOO + +: empty +: +$* <<EOI +i = x +nums = +for i: $nums + print $i +assert ($i == x) +EOI + +: nested +: +$* <<EOI >>EOO +for i: 1 2 3 +{ + for j: + - + { + print $j$i + } +} +EOI ++1 +-1 ++2 +-2 ++3 +-3 +EOO + +: diag-line +: +$* <<EOI 2>>EOE != 0 +for i: true false +{ + assert $i +} +EOI +<stdin>:3:3: error: assertion failed +EOE + +: var-attribute +: +$* <<EOI >>EOO +for [uint64] i: 0 1 2 +{ + i += 1 + print $i +} +EOI +1 +2 +3 +EOO + +: val-attribute +: +$* <<EOI >>EOO +for i: [uint64s] 0 1 2 +{ + i += 1 + print $i +} +EOI +1 +2 +3 +EOO + +: pairs +: +$* <<EOI >>EOO +for i: a@1 b@2 c@3 + print $i +EOI +a@1 +b@2 +c@3 +EOO |