diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-01-27 11:54:30 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-01-27 11:54:30 +0100 |
| commit | a8fd64f9289b92614b9e6c16e909ec0c45429027 (patch) | |
| tree | 76ce8797a6fe9c8b8c0bb1783910ba4b9e22da8b /tests/typ/compiler/array.typ | |
| parent | 33585d9a3fbab8a76d3fd8e9c2560f929202a518 (diff) | |
Hashtags everywhere!
Diffstat (limited to 'tests/typ/compiler/array.typ')
| -rw-r--r-- | tests/typ/compiler/array.typ | 109 |
1 files changed, 55 insertions, 54 deletions
diff --git a/tests/typ/compiler/array.typ b/tests/typ/compiler/array.typ index e01f8896..3d4d6106 100644 --- a/tests/typ/compiler/array.typ +++ b/tests/typ/compiler/array.typ @@ -7,19 +7,19 @@ #set page(width: 150pt) // Empty. -{()} +#{()} // Not an array, just a parenthesized expression. -{(1)} +#{(1)} // One item and trailing comma. -{(-1,)} +#{(-1,)} // No trailing comma. -{(true, false)} +#{(true, false)} // Multiple lines and items and trailing comma. -{("1" +#{("1" , rgb("002") ,)} @@ -30,7 +30,7 @@ --- // Test lvalue and rvalue access. -{ +#{ let array = (1, 2) array.at(1) += 5 + array.at(0) test(array, (1, 8)) @@ -38,7 +38,7 @@ --- // Test different lvalue method. -{ +#{ let array = (1, 2, 3) array.first() = 7 array.at(1) *= 8 @@ -47,12 +47,12 @@ --- // Test rvalue out of bounds. -// Error: 2-17 array index out of bounds (index: 5, len: 3) -{(1, 2, 3).at(5)} +// Error: 3-18 array index out of bounds (index: 5, len: 3) +#{(1, 2, 3).at(5)} --- // Test lvalue out of bounds. -{ +#{ let array = (1, 2, 3) // Error: 3-14 array index out of bounds (index: 3, len: 3) array.at(3) = 5 @@ -60,19 +60,19 @@ --- // Test bad lvalue. -// Error: 2:3-2:14 cannot mutate a temporary value +// Error: 2:4-2:15 cannot mutate a temporary value #let array = (1, 2, 3) -{ array.len() = 4 } +#{ array.len() = 4 } --- // Test bad lvalue. -// Error: 2:3-2:15 type array has no method `yolo` +// Error: 2:4-2:16 type array has no method `yolo` #let array = (1, 2, 3) -{ array.yolo() = 4 } +#{ array.yolo() = 4 } --- // Test negative indices. -{ +#{ let array = (1, 2, 3, 4) test(array.at(0), 1) test(array.at(-1), 4) @@ -89,16 +89,16 @@ #test((1, 2, 3).last(), 3) --- -// Error: 3-13 array is empty -{ ().first() } +// Error: 4-14 array is empty +#{ ().first() } --- -// Error: 3-12 array is empty -{ ().last() } +// Error: 4-13 array is empty +#{ ().last() } --- // Test the `push` and `pop` methods. -{ +#{ let tasks = (a: (1, 2, 3), b: (4, 5, 6)) tasks.at("a").pop() tasks.b.push(7) @@ -108,7 +108,7 @@ --- // Test the `insert` and `remove` methods. -{ +#{ let array = (0, 1, 2, 4, 5) array.insert(3, 3) test(array, range(6)) @@ -117,9 +117,10 @@ } --- -// Error: 2:17-2:19 missing argument: index +// Error: 2:18-2:20 missing argument: index #let numbers = () -{ numbers.insert() } +#{ numbers.insert() } + --- // Test the `slice` method. #test((1, 2, 3, 4).slice(2), (3, 4)) @@ -132,12 +133,12 @@ #test("ABCD".split("").slice(1, -1).join("-"), "A-B-C-D") --- -// Error: 3-31 array index out of bounds (index: 12, len: 10) -{ range(10).slice(9, count: 3) } +// Error: 4-32 array index out of bounds (index: 12, len: 10) +#{ range(10).slice(9, count: 3) } --- -// Error: 3-25 array index out of bounds (index: -4, len: 3) -{ (1, 2, 3).slice(0, -4) } +// Error: 4-26 array index out of bounds (index: -4, len: 3) +#{ (1, 2, 3).slice(0, -4) } --- // Test the `position` method. @@ -162,8 +163,8 @@ #test((1, 2, 3, 4).fold(0, (s, x) => s + x), 10) --- -// Error: 21-31 function must have exactly two parameters -{ (1, 2, 3).fold(0, () => none) } +// Error: 22-32 function must have exactly two parameters +#{ (1, 2, 3).fold(0, () => none) } --- // Test the `rev` method. @@ -177,17 +178,17 @@ #test("(" + ("a", "b", "c").join(", ") + ")", "(a, b, c)") --- -// Error: 2-22 cannot join boolean with boolean -{(true, false).join()} +// Error: 3-23 cannot join boolean with boolean +#{(true, false).join()} --- -// Error: 2-20 cannot join string with integer -{("a", "b").join(1)} +// Error: 3-21 cannot join string with integer +#{("a", "b").join(1)} --- // Test joining content. // Ref: true -{([One], [Two], [Three]).join([, ], last: [ and ])}. +#{([One], [Two], [Three]).join([, ], last: [ and ])}. --- // Test the `sorted` method. @@ -197,37 +198,37 @@ #test((2, 1, 3, 10, 5, 8, 6, -7, 2).sorted(), (-7, 1, 2, 2, 3, 5, 6, 8, 10)) --- -// Error: 2-26 cannot order content and content -{([Hi], [There]).sorted()} +// Error: 3-27 cannot order content and content +#{([Hi], [There]).sorted()} --- -// Error: 2-18 array index out of bounds (index: -4, len: 3) -{(1, 2, 3).at(-4)} +// Error: 3-19 array index out of bounds (index: -4, len: 3) +#{(1, 2, 3).at(-4)} --- -// Error: 3 expected closing paren -{(} +// Error: 4 expected closing paren +#{(} -// Error: 2-3 unexpected closing paren -{)} +// Error: 3-4 unexpected closing paren +#{)} -// Error: 4-6 unexpected end of block comment -{(1*/2)} +// Error: 5-7 unexpected end of block comment +#{(1*/2)} -// Error: 6-8 invalid number suffix -{(1, 1u 2)} +// Error: 7-9 invalid number suffix +#{(1, 1u 2)} -// Error: 3-4 unexpected comma -{(,1)} +// Error: 4-5 unexpected comma +#{(,1)} // Missing expression makes named pair incomplete, making this an empty array. -// Error: 5 expected expression -{(a:)} +// Error: 6 expected expression +#{(a:)} // Named pair after this is already identified as an array. -// Error: 6-10 expected expression, found named pair -{(1, b: 2)} +// Error: 7-11 expected expression, found named pair +#{(1, b: 2)} // Keyed pair after this is already identified as an array. -// Error: 6-14 expected expression, found keyed pair -{(1, "key": 2)} +// Error: 7-15 expected expression, found keyed pair +#{(1, "key": 2)} |
