From 8b58171d7ca036d71b32749286c251cc91bdd10e Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 18 May 2021 00:36:11 +0200 Subject: Reorganize test cases --- tests/typ/code/let.typ | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 tests/typ/code/let.typ (limited to 'tests/typ/code/let.typ') diff --git a/tests/typ/code/let.typ b/tests/typ/code/let.typ new file mode 100644 index 00000000..4f84aa67 --- /dev/null +++ b/tests/typ/code/let.typ @@ -0,0 +1,63 @@ +// Test let bindings. + +--- +// Ref: false + +// Automatically initialized with none. +#let x +#test(x, none) + +// Error: 9 expected expression +#let y = +#test(y, none) + +// Manually initialized with one. +#let z = 1 +#test(z, 1) + +--- +// Syntax sugar for function definitions. +#let background = #9feb52 +#let rect(body) = rect(width: 2cm, fill: background, pad(5pt, body)) +#rect[Hi!] + +// Error: 13 expected body +#let func(x) + +// Error: 2-6 unknown variable +{func} + +// Error: 15 expected expression +#let func(x) = + +// Error: 2-6 unknown variable +{func} + +--- +// Termination. + +// Terminated by line break. +#let v1 = 1 +One + +// Terminated by semicolon. +#let v2 = 2; Two + +// Terminated by semicolon and line break. +#let v3 = 3; +Three + +// Terminated because expression ends. +// Error: 12 expected semicolon or line break +#let v4 = 4 Four + +// Terminated by semicolon even though we are in a paren group. +// Error: 2:19 expected expression +// Error: 1:19 expected closing paren +#let v5 = (1, 2 + ; Five + +#test(v1, 1) +#test(v2, 2) +#test(v3, 3) +#test(v4, 4) +#test(v5, (1, 2)) -- cgit v1.2.3