1" Tests for various Visual mode. 2if !has('visual') 3 finish 4endif 5 6func Test_block_shift_multibyte() 7 " Uses double-wide character. 8 if !has('multi_byte') 9 return 10 endif 11 split 12 call setline(1, ['xヹxxx', 'ヹxxx']) 13 exe "normal 1G0l\<C-V>jl>" 14 call assert_equal('x ヹxxx', getline(1)) 15 call assert_equal(' ヹxxx', getline(2)) 16 q! 17endfunc 18 19func Test_dotregister_paste() 20 new 21 exe "norm! ihello world\<esc>" 22 norm! 0ve".p 23 call assert_equal('hello world world', getline(1)) 24 q! 25endfunc 26 27func Test_Visual_ctrl_o() 28 new 29 call setline(1, ['one', 'two', 'three']) 30 call cursor(1,2) 31 set noshowmode 32 set tw=0 33 call feedkeys("\<c-v>jjlIa\<c-\>\<c-o>:set tw=88\<cr>\<esc>", 'tx') 34 call assert_equal(['oane', 'tawo', 'tahree'], getline(1, 3)) 35 call assert_equal(88, &tw) 36 set tw& 37 bw! 38endfu 39 40func Test_Visual_vapo() 41 new 42 normal oxx 43 normal vapo 44 bwipe! 45endfunc 46 47func Test_Visual_inner_quote() 48 new 49 normal oxX 50 normal vki' 51 bwipe! 52endfunc 53