blob: 371fab57a1b7be03cc10e19d49fc9a0a49a0838e [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
Bram Moolenaarc3c766e2017-03-08 22:55:19 +01006set belloff=all
7
Bram Moolenaar019b9c62016-03-05 17:26:00 +01008func Test_block_shift_multibyte()
Bram Moolenaarf8eb9c52017-01-02 17:31:24 +01009 " Uses double-wide character.
10 if !has('multi_byte')
11 return
12 endif
Bram Moolenaar019b9c62016-03-05 17:26:00 +010013 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
Bram Moolenaarf8eb9c52017-01-02 17:31:24 +010020
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
Bram Moolenaar23fa81d2017-02-01 21:50:21 +010028
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
Bram Moolenaar84b2a382017-02-17 11:40:00 +010041
42func Test_Visual_vapo()
43 new
44 normal oxx
45 normal vapo
46 bwipe!
47endfunc
Bram Moolenaar46522af2017-02-18 23:12:01 +010048
49func Test_Visual_inner_quote()
50 new
51 normal oxX
52 normal vki'
53 bwipe!
54endfunc