diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ref/code/return.png | bin | 0 -> 2946 bytes | |||
| -rw-r--r-- | tests/typ/code/break-continue.typ | 37 | ||||
| -rw-r--r-- | tests/typ/code/return.typ | 40 |
3 files changed, 73 insertions, 4 deletions
diff --git a/tests/ref/code/return.png b/tests/ref/code/return.png Binary files differnew file mode 100644 index 00000000..50410887 --- /dev/null +++ b/tests/ref/code/return.png diff --git a/tests/typ/code/break-continue.typ b/tests/typ/code/break-continue.typ index e54651f1..60dac44d 100644 --- a/tests/typ/code/break-continue.typ +++ b/tests/typ/code/break-continue.typ @@ -4,8 +4,8 @@ --- // Test break. -#let error = false #let var = 0 +#let error = false #for i in range(10) { var += i @@ -15,18 +15,32 @@ } } -#test(error, false) #test(var, 21) +#test(error, false) + +--- +// Test joining with break. + +#let i = 0 +#let x = while true { + i += 1 + str(i) + if i >= 5 { + "." + break + } +} + +#test(x, "12345.") --- // Test continue. -#let x = 0 #let i = 0 +#let x = 0 #while x < 8 { i += 1 - if mod(i, 3) == 0 { continue } @@ -37,12 +51,27 @@ #test(x, 12) --- +// Test joining with continue. + +#let x = for i in range(5) { + "a" + if mod(i, 3) == 0 { + "_" + continue + } + str(i) +} + +#test(x, "a_a1a2a_a4") + +--- // Test break outside of loop. #let f() = { // Error: 3-8 cannot break outside of loop break } + #f() --- diff --git a/tests/typ/code/return.typ b/tests/typ/code/return.typ index 46ff190c..9ee3aed7 100644 --- a/tests/typ/code/return.typ +++ b/tests/typ/code/return.typ @@ -2,6 +2,7 @@ // Ref: false --- +// Test return with value. #let f(x) = { return x + 1 } @@ -9,6 +10,45 @@ #test(f(1), 2) --- +// Test return with joining. + +#let f(x) = { + "a" + if x == 0 { + return "b" + } else if x == 1 { + "c" + } else { + "d" + return + "e" + } +} + +#test(f(0), "b") +#test(f(1), "ac") +#test(f(2), "ad") + +--- +// Test return with joining and template. +// Ref: true + +#let f(text, caption: none) = { + text + if caption == none { + [\.] + return + } + [, ] + emph(caption) + [\.] +} + +#f(caption: [with caption])[My figure] + +#f[My other figure] + +--- // Test return outside of function. #for x in range(5) { |
