neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_expr_utf8.vim (1765B)


      1 " Tests for expressions using utf-8.
      2 
      3 func Test_strgetchar()
      4  call assert_equal(char2nr('á'), strgetchar('áxb', 0))
      5  call assert_equal(char2nr('x'), strgetchar('áxb', 1))
      6 
      7  call assert_equal(char2nr('a'), strgetchar('àxb', 0))
      8  call assert_equal(char2nr('̀'), strgetchar('àxb', 1))
      9  call assert_equal(char2nr('x'), strgetchar('àxb', 2))
     10 
     11  call assert_equal(char2nr('あ'), strgetchar('あaい', 0))
     12  call assert_equal(char2nr('a'), strgetchar('あaい', 1))
     13  call assert_equal(char2nr('い'), strgetchar('あaい', 2))
     14 endfunc
     15 
     16 func Test_strcharpart()
     17  call assert_equal('áxb', strcharpart('áxb', 0))
     18  call assert_equal('á', strcharpart('áxb', 0, 1))
     19  call assert_equal('x', strcharpart('áxb', 1, 1))
     20 
     21  call assert_equal('いうeお', strcharpart('あいうeお', 1))
     22  call assert_equal('い', strcharpart('あいうeお', 1, 1))
     23  call assert_equal('いう', strcharpart('あいうeお', 1, 2))
     24  call assert_equal('いうe', strcharpart('あいうeお', 1, 3))
     25  call assert_equal('いうeお', strcharpart('あいうeお', 1, 4))
     26  call assert_equal('eお', strcharpart('あいうeお', 3))
     27  call assert_equal('e', strcharpart('あいうeお', 3, 1))
     28 
     29  call assert_equal('あ', strcharpart('あいうeお', -3, 4))
     30 
     31  call assert_equal('a', strcharpart('àxb', 0, 1))
     32  call assert_equal('̀', strcharpart('àxb', 1, 1))
     33  call assert_equal('x', strcharpart('àxb', 2, 1))
     34 
     35 
     36  call assert_equal('a', strcharpart('àxb', 0, 1, 0))
     37  call assert_equal('à', strcharpart('àxb', 0, 1, 1))
     38  call assert_equal('x', strcharpart('àxb', 1, 1, 1))
     39 
     40  call assert_fails("let v = strcharpart('abc', 0, 0, [])", 'E745:')
     41  call assert_fails("let v = strcharpart('abc', 0, 0, 2)", 'E1023:')
     42 endfunc
     43 
     44 " vim: shiftwidth=2 sts=2 expandtab