xref: /vim-8.2.3635/src/testdir/test_visual.vim (revision 214641f7)
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