summaryrefslogtreecommitdiff
path: root/tests/typ/compiler/array.typ
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-01-27 11:54:30 +0100
committerLaurenz <laurmaedje@gmail.com>2023-01-27 11:54:30 +0100
commita8fd64f9289b92614b9e6c16e909ec0c45429027 (patch)
tree76ce8797a6fe9c8b8c0bb1783910ba4b9e22da8b /tests/typ/compiler/array.typ
parent33585d9a3fbab8a76d3fd8e9c2560f929202a518 (diff)
Hashtags everywhere!
Diffstat (limited to 'tests/typ/compiler/array.typ')
-rw-r--r--tests/typ/compiler/array.typ109
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)}