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