diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-02-20 17:53:40 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-02-20 23:34:33 +0100 |
| commit | 05727bfc3a9cfd45a8e2028dfd0806f7a8f88015 (patch) | |
| tree | 6c0b66eb2a9dff224cb39eb6ccb478656a706c04 /tests/typ/control/for.typ | |
| parent | 927341d93ae29678095e3b874bd68bfc57d4bc05 (diff) | |
Reorganize tests 🔀
Diffstat (limited to 'tests/typ/control/for.typ')
| -rw-r--r-- | tests/typ/control/for.typ | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/typ/control/for.typ b/tests/typ/control/for.typ new file mode 100644 index 00000000..294345b5 --- /dev/null +++ b/tests/typ/control/for.typ @@ -0,0 +1,52 @@ +// Test for loops. +// Ref: false + +--- +// Array. + +#for x in () {} + +#let sum = 0 +#for x in (1, 2, 3, 4, 5) { + sum += x +} + +#test(sum, 15) + +--- +// Dictionary. +// Ref: true +(\ #for k, v in (name: "Typst", age: 2) [ + #h(0.5cm) {k}: {v}, \ +]) + +--- +// String. +{ + let out = "" + let first = true + for c in "abc" { + if not first { + out += ", " + } + first = false + out += c + } + test(out, "a, b, c") +} + +--- +// Uniterable expression. +// Error: 11-15 cannot loop over boolean +#for v in true {} + +// Make sure that we don't complain twice. +// Error: 11-18 cannot add integer and string +#for v in 1 + "2" {} + +// Error: 14-17 cannot apply '-' to string +#let error = -"" +#let result = for v in (1, 2, 3) { + if v < 2 [Ok] else {error} +} +#test(result, error) |
