blob: 227da87f830c0d207614d3864078ce68c779a27a [file] [log] [blame]
Bram Moolenaarf8eb9c52017-01-02 17:31:24 +01001" Tests for various Visual mode.
Bram Moolenaar019b9c62016-03-05 17:26:00 +01002if !has('visual')
3 finish
4endif
5
6func Test_block_shift_multibyte()
Bram Moolenaarf8eb9c52017-01-02 17:31:24 +01007 " Uses double-wide character.
8 if !has('multi_byte')
9 return
10 endif
Bram Moolenaar019b9c62016-03-05 17:26:00 +010011 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
Bram Moolenaarf8eb9c52017-01-02 17:31:24 +010018
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
Bram Moolenaar23fa81d2017-02-01 21:50:21 +010026
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
Bram Moolenaar84b2a382017-02-17 11:40:00 +010039
40func Test_Visual_vapo()
41 new
42 normal oxx
43 normal vapo
44 bwipe!
45endfunc
Bram Moolenaar46522af2017-02-18 23:12:01 +010046
47func Test_Visual_inner_quote()
48 new
49 normal oxX
50 normal vki'
51 bwipe!
52endfunc