aboutsummaryrefslogtreecommitdiff
path: root/v_windows/v/vlib/builtin/utf8_test.v
diff options
context:
space:
mode:
Diffstat (limited to 'v_windows/v/vlib/builtin/utf8_test.v')
-rw-r--r--v_windows/v/vlib/builtin/utf8_test.v28
1 files changed, 28 insertions, 0 deletions
diff --git a/v_windows/v/vlib/builtin/utf8_test.v b/v_windows/v/vlib/builtin/utf8_test.v
new file mode 100644
index 0000000..46983f1
--- /dev/null
+++ b/v_windows/v/vlib/builtin/utf8_test.v
@@ -0,0 +1,28 @@
+fn test_utf8_char_len() {
+ assert utf8_char_len(`a`) == 1
+ println(utf8_char_len(`a`))
+ s := 'п'
+ assert utf8_char_len(s[0]) == 2
+}
+
+fn test_utf8_wide_char() {
+ $if msvc {
+ // TODO: make this test pass msvc too
+ return
+ }
+ r := `✔`
+ s := '✔'
+ println('r: $r')
+ println('s: $s')
+ rstr := r.str()
+ println('rstr: $rstr')
+ assert utf8_char_len(r) == 1
+ assert utf8_char_len(s[0]) == 3
+ assert s == rstr
+ val := rstr.str
+ unsafe {
+ assert val[0].hex() == 'e2'
+ assert val[1].hex() == '9c'
+ assert val[2].hex() == '94'
+ }
+}