2019-07-10 07:07:04 +00:00
|
|
|
fn test_utf8_char_len() {
|
2020-03-26 16:14:24 +00:00
|
|
|
assert utf8_char_len(`a`) == 1
|
|
|
|
println(utf8_char_len(`a`))
|
|
|
|
s := 'п'
|
|
|
|
assert utf8_char_len(s[0]) == 2
|
2019-07-10 07:07:04 +00:00
|
|
|
}
|
2021-01-01 09:06:09 +00:00
|
|
|
|
|
|
|
fn test_utf8_wide_char() {
|
2021-01-03 22:03:45 +00:00
|
|
|
$if msvc {
|
|
|
|
// TODO: make this test pass msvc too
|
|
|
|
return
|
|
|
|
}
|
2021-01-02 12:55:21 +00:00
|
|
|
r := `✔`
|
2021-01-03 19:29:02 +00:00
|
|
|
s := '✔'
|
|
|
|
println('r: $r')
|
|
|
|
println('s: $s')
|
|
|
|
rstr := r.str()
|
|
|
|
println('rstr: $rstr')
|
2021-01-03 22:03:45 +00:00
|
|
|
assert utf8_char_len(r) == 1
|
|
|
|
assert utf8_char_len(s[0]) == 3
|
2021-01-03 19:29:02 +00:00
|
|
|
assert s == rstr
|
|
|
|
val := rstr.str
|
2021-01-01 09:06:09 +00:00
|
|
|
unsafe {
|
2021-01-03 19:29:02 +00:00
|
|
|
assert val[0].hex() == 'e2'
|
|
|
|
assert val[1].hex() == '9c'
|
|
|
|
assert val[2].hex() == '94'
|
2021-01-01 09:06:09 +00:00
|
|
|
}
|
|
|
|
}
|