blob: 1737a9f745f6cd09503b0db398676b7b3a72d9df [file] [log] [blame]
Bram Moolenaar0f518a82016-04-14 16:57:10 +02001" Tests for expressions using utf-8.
2if !has('multi_byte')
3 finish
4endif
Bram Moolenaar0f518a82016-04-14 16:57:10 +02005
6func Test_strgetchar()
Bram Moolenaarb22bd462016-04-14 22:52:50 +02007 call assert_equal(char2nr('á'), strgetchar('áxb', 0))
8 call assert_equal(char2nr('x'), strgetchar('áxb', 1))
Bram Moolenaar0f518a82016-04-14 16:57:10 +02009
Bram Moolenaarb22bd462016-04-14 22:52:50 +020010 call assert_equal(char2nr('a'), strgetchar('àxb', 0))
11 call assert_equal(char2nr('̀'), strgetchar('àxb', 1))
12 call assert_equal(char2nr('x'), strgetchar('àxb', 2))
Bram Moolenaar5d18e0e2016-04-14 22:54:24 +020013
14 call assert_equal(char2nr('あ'), strgetchar('あaい', 0))
15 call assert_equal(char2nr('a'), strgetchar('あaい', 1))
16 call assert_equal(char2nr('い'), strgetchar('あaい', 2))
Bram Moolenaar0f518a82016-04-14 16:57:10 +020017endfunc
18
19func Test_strcharpart()
20 call assert_equal('áxb', strcharpart('áxb', 0))
21 call assert_equal('á', strcharpart('áxb', 0, 1))
22 call assert_equal('x', strcharpart('áxb', 1, 1))
23
Bram Moolenaarfca66002016-04-23 15:30:09 +020024 call assert_equal('いうeお', strcharpart('あいうeお', 1))
25 call assert_equal('い', strcharpart('あいうeお', 1, 1))
26 call assert_equal('いう', strcharpart('あいうeお', 1, 2))
27 call assert_equal('いうe', strcharpart('あいうeお', 1, 3))
28 call assert_equal('いうeお', strcharpart('あいうeお', 1, 4))
29 call assert_equal('eお', strcharpart('あいうeお', 3))
30 call assert_equal('e', strcharpart('あいうeお', 3, 1))
31
32 call assert_equal('あ', strcharpart('あいうeお', -3, 4))
33
Bram Moolenaar0f518a82016-04-14 16:57:10 +020034 call assert_equal('a', strcharpart('àxb', 0, 1))
35 call assert_equal('̀', strcharpart('àxb', 1, 1))
36 call assert_equal('x', strcharpart('àxb', 2, 1))
37endfunc