blob: e8246ef383b190f5a267527e6231afa4ce9986b2 [file] [log] [blame]
Bram Moolenaar0f518a82016-04-14 16:57:10 +02001" Tests for expressions using utf-8.
2if !has('multi_byte')
3 finish
4endif
5set encoding=utf-8
6scriptencoding utf-8
7
8func Test_strgetchar()
Bram Moolenaarb22bd462016-04-14 22:52:50 +02009 call assert_equal(char2nr('á'), strgetchar('áxb', 0))
10 call assert_equal(char2nr('x'), strgetchar('áxb', 1))
Bram Moolenaar0f518a82016-04-14 16:57:10 +020011
Bram Moolenaarb22bd462016-04-14 22:52:50 +020012 call assert_equal(char2nr('a'), strgetchar('àxb', 0))
13 call assert_equal(char2nr('̀'), strgetchar('àxb', 1))
14 call assert_equal(char2nr('x'), strgetchar('àxb', 2))
Bram Moolenaar5d18e0e2016-04-14 22:54:24 +020015
16 call assert_equal(char2nr('あ'), strgetchar('あaい', 0))
17 call assert_equal(char2nr('a'), strgetchar('あaい', 1))
18 call assert_equal(char2nr('い'), strgetchar('あaい', 2))
Bram Moolenaar0f518a82016-04-14 16:57:10 +020019endfunc
20
21func Test_strcharpart()
22 call assert_equal('áxb', strcharpart('áxb', 0))
23 call assert_equal('á', strcharpart('áxb', 0, 1))
24 call assert_equal('x', strcharpart('áxb', 1, 1))
25
Bram Moolenaarfca66002016-04-23 15:30:09 +020026 call assert_equal('いうeお', strcharpart('あいうeお', 1))
27 call assert_equal('い', strcharpart('あいうeお', 1, 1))
28 call assert_equal('いう', strcharpart('あいうeお', 1, 2))
29 call assert_equal('いうe', strcharpart('あいうeお', 1, 3))
30 call assert_equal('いうeお', strcharpart('あいうeお', 1, 4))
31 call assert_equal('eお', strcharpart('あいうeお', 3))
32 call assert_equal('e', strcharpart('あいうeお', 3, 1))
33
34 call assert_equal('あ', strcharpart('あいうeお', -3, 4))
35
Bram Moolenaar0f518a82016-04-14 16:57:10 +020036 call assert_equal('a', strcharpart('àxb', 0, 1))
37 call assert_equal('̀', strcharpart('àxb', 1, 1))
38 call assert_equal('x', strcharpart('àxb', 2, 1))
39endfunc