xref: /vim-8.2.3635/src/testdir/test_paste.vim (revision 076e5021)
1" Tests for bracketed paste.
2
3" Bracketed paste only works with "xterm".
4set term=xterm
5
6func Test_paste_normal_mode()
7  new
8  call setline(1, ['a', 'b', 'c'])
9  2
10  call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
11  call assert_equal('bfoo', getline(2))
12  call assert_equal('bar', getline(3))
13  call assert_equal('c', getline(4))
14
15  normal .
16  call assert_equal('barfoo', getline(3))
17  call assert_equal('bar', getline(4))
18  call assert_equal('c', getline(5))
19  bwipe!
20endfunc
21
22func Test_paste_insert_mode()
23  new
24  call setline(1, ['a', 'b', 'c'])
25  2
26  call feedkeys("i\<Esc>[200~foo\<CR>bar\<Esc>[201~ done\<Esc>", 'xt')
27  call assert_equal('foo', getline(2))
28  call assert_equal('bar doneb', getline(3))
29  call assert_equal('c', getline(4))
30
31  normal .
32  call assert_equal('bar donfoo', getline(3))
33  call assert_equal('bar doneeb', getline(4))
34  call assert_equal('c', getline(5))
35  bwipe!
36endfunc
37
38func Test_paste_cmdline()
39  call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt')
40  call assert_equal("\"afoo\<CR>barb", getreg(':'))
41endfunc
42