10f518a8fSBram Moolenaar" Tests for expressions using utf-8. 20f518a8fSBram Moolenaar 30f518a8fSBram Moolenaarfunc Test_strgetchar() 4b22bd46bSBram Moolenaar call assert_equal(char2nr('á'), strgetchar('áxb', 0)) 5b22bd46bSBram Moolenaar call assert_equal(char2nr('x'), strgetchar('áxb', 1)) 60f518a8fSBram Moolenaar 7b22bd46bSBram Moolenaar call assert_equal(char2nr('a'), strgetchar('àxb', 0)) 8b22bd46bSBram Moolenaar call assert_equal(char2nr('̀'), strgetchar('àxb', 1)) 9b22bd46bSBram Moolenaar call assert_equal(char2nr('x'), strgetchar('àxb', 2)) 105d18e0ecSBram Moolenaar 115d18e0ecSBram Moolenaar call assert_equal(char2nr('あ'), strgetchar('あaい', 0)) 125d18e0ecSBram Moolenaar call assert_equal(char2nr('a'), strgetchar('あaい', 1)) 135d18e0ecSBram Moolenaar call assert_equal(char2nr('い'), strgetchar('あaい', 2)) 140f518a8fSBram Moolenaarendfunc 150f518a8fSBram Moolenaar 160f518a8fSBram Moolenaarfunc Test_strcharpart() 170f518a8fSBram Moolenaar call assert_equal('áxb', strcharpart('áxb', 0)) 180f518a8fSBram Moolenaar call assert_equal('á', strcharpart('áxb', 0, 1)) 190f518a8fSBram Moolenaar call assert_equal('x', strcharpart('áxb', 1, 1)) 200f518a8fSBram Moolenaar 21fca66003SBram Moolenaar call assert_equal('いうeお', strcharpart('あいうeお', 1)) 22fca66003SBram Moolenaar call assert_equal('い', strcharpart('あいうeお', 1, 1)) 23fca66003SBram Moolenaar call assert_equal('いう', strcharpart('あいうeお', 1, 2)) 24fca66003SBram Moolenaar call assert_equal('いうe', strcharpart('あいうeお', 1, 3)) 25fca66003SBram Moolenaar call assert_equal('いうeお', strcharpart('あいうeお', 1, 4)) 26fca66003SBram Moolenaar call assert_equal('eお', strcharpart('あいうeお', 3)) 27fca66003SBram Moolenaar call assert_equal('e', strcharpart('あいうeお', 3, 1)) 28fca66003SBram Moolenaar 29fca66003SBram Moolenaar call assert_equal('あ', strcharpart('あいうeお', -3, 4)) 30fca66003SBram Moolenaar 310f518a8fSBram Moolenaar call assert_equal('a', strcharpart('àxb', 0, 1)) 320f518a8fSBram Moolenaar call assert_equal('̀', strcharpart('àxb', 1, 1)) 330f518a8fSBram Moolenaar call assert_equal('x', strcharpart('àxb', 2, 1)) 34*02b4d9b1SBram Moolenaar 35*02b4d9b1SBram Moolenaar 36*02b4d9b1SBram Moolenaar call assert_equal('a', strcharpart('àxb', 0, 1, 0)) 37*02b4d9b1SBram Moolenaar call assert_equal('à', strcharpart('àxb', 0, 1, 1)) 38*02b4d9b1SBram Moolenaar call assert_equal('x', strcharpart('àxb', 1, 1, 1)) 39*02b4d9b1SBram Moolenaar 40*02b4d9b1SBram Moolenaar call assert_fails("let v = strcharpart('abc', 0, 0, [])", 'E745:') 41*02b4d9b1SBram Moolenaar call assert_fails("let v = strcharpart('abc', 0, 0, 2)", 'E1023:') 420f518a8fSBram Moolenaarendfunc 436d91bcb4SBram Moolenaar 446d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 45