diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-01-31 22:43:11 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-01-31 22:43:11 +0100 |
| commit | 6fcef9973be4253e5b377251dd9d1921f9738fc1 (patch) | |
| tree | b849a6a8707d207c5cec5a1dcbeb60e4bf52b73c /tests/lang/typ/expr-invalid.typ | |
| parent | e3139ed3ee8c96b89f7f10f4ed72b4893d724689 (diff) | |
Refresh tests 🔄
Diffstat (limited to 'tests/lang/typ/expr-invalid.typ')
| -rw-r--r-- | tests/lang/typ/expr-invalid.typ | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/tests/lang/typ/expr-invalid.typ b/tests/lang/typ/expr-invalid.typ new file mode 100644 index 00000000..2d16034b --- /dev/null +++ b/tests/lang/typ/expr-invalid.typ @@ -0,0 +1,59 @@ +// Test invalid expressions. +// Ref: false + +--- +// Missing expressions. + +// Error: 3-3 expected expression +{-} + +// Error: 11-11 expected expression +#[test {1+}, 1] + +// Error: 11-11 expected expression +#[test {2*}, 2] + +--- +// Mismatched types. + +// Error: 2-12 cannot apply '+' to template +{+([] + [])} + +// Error: 2-5 cannot apply '-' to string +{-""} + +// Error: 2-8 cannot apply 'not' to array +{not ()} + +// Error: 1:2-1:12 cannot apply '<=' to relative and relative +{30% <= 40%} + +// Special messages for +, -, * and /. +// Error: 4:03-4:10 cannot add integer and string +// Error: 3:12-3:19 cannot subtract integer from relative +// Error: 2:21-2:29 cannot multiply integer with boolean +// Error: 1:31-1:39 cannot divide integer by length +{(1 + "2", 40% - 1, 2 * true, 3 / 12pt)} + +// Error: 15-23 cannot apply '+=' to integer and string +{ #let x = 1; x += "2" } + +--- +// Bad left-hand sides of assignment. + +// Error: 1:3-1:6 cannot assign to this expression +{ (x) = "" } + +// Error: 1:3-1:8 cannot assign to this expression +{ 1 + 2 += 3 } + +// Error: 1:3-1:4 unknown variable +{ z = 1 } + +// Error: 1:3-1:6 cannot assign to a constant +{ box = "hi" } + +// Works if we define box beforehand +// (since then it doesn't resolve to the standard library version anymore). +#let box = "" +{ box = "hi" } |
