summaryrefslogtreecommitdiff
path: root/tests/suite/foundations/bytes.typ
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2024-04-13 10:39:45 +0200
committerGitHub <noreply@github.com>2024-04-13 08:39:45 +0000
commit020294fca9a7065d4b9cf4e677f606ebaaa29b00 (patch)
treec0027ad22046e2726c22298461327823d6b88d53 /tests/suite/foundations/bytes.typ
parent72dd79210602ecc799726fc096b078afbb47f299 (diff)
Better test runner (#3922)
Diffstat (limited to 'tests/suite/foundations/bytes.typ')
-rw-r--r--tests/suite/foundations/bytes.typ31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/suite/foundations/bytes.typ b/tests/suite/foundations/bytes.typ
new file mode 100644
index 00000000..c7089278
--- /dev/null
+++ b/tests/suite/foundations/bytes.typ
@@ -0,0 +1,31 @@
+// Test the bytes type.
+
+--- bytes-basic ---
+#let data = read("/assets/images/rhino.png", encoding: none)
+#test(data.len(), 232243)
+#test(data.slice(0, count: 5), bytes((137, 80, 78, 71, 13)))
+#test(str(data.slice(1, 4)), "PNG")
+#test(repr(data), "bytes(232243)")
+
+--- bytes-string-conversion ---
+#test(str(bytes(range(0x41, 0x50))), "ABCDEFGHIJKLMNO")
+
+--- bytes-array-conversion ---
+#test(array(bytes("Hello")), (0x48, 0x65, 0x6C, 0x6C, 0x6F))
+
+--- bytes-addition ---
+// Test addition and joining.
+#test(bytes((1, 2)) + bytes(()), bytes((1, 2)))
+#test(bytes((1, 2)) + bytes((3, 4)), bytes((1, 2, 3, 4)))
+#test(bytes(()) + bytes((3, 4)), bytes((3, 4)))
+
+--- bytes-joining ---
+#test(str({
+ bytes("Hello")
+ bytes((0x20,))
+ bytes("World")
+}), "Hello World")
+
+--- bytes-bad-conversion-from-dict ---
+// Error: 8-14 expected string, array, or bytes, found dictionary
+#bytes((a: 1))