summaryrefslogtreecommitdiff
path: root/tests/modules/utf8/test.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2026-01-21 00:46:38 +0800
committerruki <[email protected]>2026-01-21 00:46:38 +0800
commitf10baca5c10b1d21c6d9900ad3d6b382c37258c6 (patch)
tree01799807de63410f747c1132dc1fefd7df699959 /tests/modules/utf8/test.lua
parentb5a506803e4f3c8b11858be2a57c509d479683e1 (diff)
add utf8.byte
Diffstat (limited to 'tests/modules/utf8/test.lua')
-rw-r--r--tests/modules/utf8/test.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/modules/utf8/test.lua b/tests/modules/utf8/test.lua
index bab3ce896..329672d50 100644
--- a/tests/modules/utf8/test.lua
+++ b/tests/modules/utf8/test.lua
@@ -159,4 +159,23 @@ function test_width(t)
t:are_equal(utf8.width("A\tB"), 6) -- 1 + 4 + 1
end
+function test_byte(t)
+ t:are_equal({utf8.byte("A")}, {65})
+ t:are_equal({utf8.byte("€")}, {0x20AC})
+ t:are_equal({utf8.byte("ABC")}, {65})
+ t:are_equal({utf8.byte("ABC", 2)}, {66})
+ t:are_equal({utf8.byte("ABC", 2, 2)}, {66})
+ t:are_equal({utf8.byte("ABC", 1, 3)}, {65, 66, 67})
+ t:are_equal({utf8.byte("你好")}, {utf8.codepoint("你好", 1, 1)})
+ t:are_equal({utf8.byte("你好", 1, 2)}, {20320, 22909})
+ -- negative indices
+ t:are_equal({utf8.byte("ABC", -1)}, {67})
+ t:are_equal({utf8.byte("ABC", -2)}, {66})
+ t:are_equal({utf8.byte("ABC", -2, -1)}, {66, 67})
+ t:are_equal({utf8.byte("ABC", 1, -1)}, {65, 66, 67})
+
+ -- out of bounds
+ t:are_equal({utf8.byte("ABC", 4)}, {})
+ t:are_equal({utf8.byte("ABC", 1, 0)}, {})
+end