blob: 996177142129727fd823485c89895850beeaeb1e [file] [log] [blame]
Bram Moolenaar076e5022017-01-24 18:58:30 +01001" Tests for bracketed paste.
2
Bram Moolenaarbff6ad12017-01-24 19:18:13 +01003" Bracketed paste only works with "xterm". Not in GUI.
4if has('gui_running')
5 finish
6endif
Bram Moolenaar076e5022017-01-24 18:58:30 +01007set term=xterm
8
9func Test_paste_normal_mode()
10 new
11 call setline(1, ['a', 'b', 'c'])
12 2
13 call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
14 call assert_equal('bfoo', getline(2))
15 call assert_equal('bar', getline(3))
16 call assert_equal('c', getline(4))
17
18 normal .
19 call assert_equal('barfoo', getline(3))
20 call assert_equal('bar', getline(4))
21 call assert_equal('c', getline(5))
22 bwipe!
23endfunc
24
25func Test_paste_insert_mode()
26 new
27 call setline(1, ['a', 'b', 'c'])
28 2
29 call feedkeys("i\<Esc>[200~foo\<CR>bar\<Esc>[201~ done\<Esc>", 'xt')
30 call assert_equal('foo', getline(2))
31 call assert_equal('bar doneb', getline(3))
32 call assert_equal('c', getline(4))
33
34 normal .
35 call assert_equal('bar donfoo', getline(3))
36 call assert_equal('bar doneeb', getline(4))
37 call assert_equal('c', getline(5))
Bram Moolenaar9e817c82017-01-25 21:36:17 +010038
39 set ai et tw=10
40 call setline(1, ['a', ' b', 'c'])
41 2
42 call feedkeys("A\<Esc>[200~foo\<CR> bar bar bar\<Esc>[201~\<Esc>", 'xt')
43 call assert_equal(' bfoo', getline(2))
44 call assert_equal(' bar bar bar', getline(3))
45 call assert_equal('c', getline(4))
46
47 set ai& et& tw=0
Bram Moolenaar076e5022017-01-24 18:58:30 +010048 bwipe!
49endfunc
50
51func Test_paste_cmdline()
52 call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt')
53 call assert_equal("\"afoo\<CR>barb", getreg(':'))
54endfunc