29 lines
529 B
V
29 lines
529 B
V
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'
|
|
}
|
|
}
|