xref: /vim-8.2.3635/src/testdir/test_paste.vim (revision 9e817c8a)
1076e5021SBram Moolenaar" Tests for bracketed paste.
2076e5021SBram Moolenaar
3bff6ad13SBram Moolenaar" Bracketed paste only works with "xterm".  Not in GUI.
4bff6ad13SBram Moolenaarif has('gui_running')
5bff6ad13SBram Moolenaar  finish
6bff6ad13SBram Moolenaarendif
7076e5021SBram Moolenaarset term=xterm
8076e5021SBram Moolenaar
9076e5021SBram Moolenaarfunc Test_paste_normal_mode()
10076e5021SBram Moolenaar  new
11076e5021SBram Moolenaar  call setline(1, ['a', 'b', 'c'])
12076e5021SBram Moolenaar  2
13076e5021SBram Moolenaar  call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt')
14076e5021SBram Moolenaar  call assert_equal('bfoo', getline(2))
15076e5021SBram Moolenaar  call assert_equal('bar', getline(3))
16076e5021SBram Moolenaar  call assert_equal('c', getline(4))
17076e5021SBram Moolenaar
18076e5021SBram Moolenaar  normal .
19076e5021SBram Moolenaar  call assert_equal('barfoo', getline(3))
20076e5021SBram Moolenaar  call assert_equal('bar', getline(4))
21076e5021SBram Moolenaar  call assert_equal('c', getline(5))
22076e5021SBram Moolenaar  bwipe!
23076e5021SBram Moolenaarendfunc
24076e5021SBram Moolenaar
25076e5021SBram Moolenaarfunc Test_paste_insert_mode()
26076e5021SBram Moolenaar  new
27076e5021SBram Moolenaar  call setline(1, ['a', 'b', 'c'])
28076e5021SBram Moolenaar  2
29076e5021SBram Moolenaar  call feedkeys("i\<Esc>[200~foo\<CR>bar\<Esc>[201~ done\<Esc>", 'xt')
30076e5021SBram Moolenaar  call assert_equal('foo', getline(2))
31076e5021SBram Moolenaar  call assert_equal('bar doneb', getline(3))
32076e5021SBram Moolenaar  call assert_equal('c', getline(4))
33076e5021SBram Moolenaar
34076e5021SBram Moolenaar  normal .
35076e5021SBram Moolenaar  call assert_equal('bar donfoo', getline(3))
36076e5021SBram Moolenaar  call assert_equal('bar doneeb', getline(4))
37076e5021SBram Moolenaar  call assert_equal('c', getline(5))
38*9e817c8aSBram Moolenaar
39*9e817c8aSBram Moolenaar  set ai et tw=10
40*9e817c8aSBram Moolenaar  call setline(1, ['a', '    b', 'c'])
41*9e817c8aSBram Moolenaar  2
42*9e817c8aSBram Moolenaar  call feedkeys("A\<Esc>[200~foo\<CR> bar bar bar\<Esc>[201~\<Esc>", 'xt')
43*9e817c8aSBram Moolenaar  call assert_equal('    bfoo', getline(2))
44*9e817c8aSBram Moolenaar  call assert_equal(' bar bar bar', getline(3))
45*9e817c8aSBram Moolenaar  call assert_equal('c', getline(4))
46*9e817c8aSBram Moolenaar
47*9e817c8aSBram Moolenaar  set ai& et& tw=0
48076e5021SBram Moolenaar  bwipe!
49076e5021SBram Moolenaarendfunc
50076e5021SBram Moolenaar
51076e5021SBram Moolenaarfunc Test_paste_cmdline()
52076e5021SBram Moolenaar  call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt')
53076e5021SBram Moolenaar  call assert_equal("\"afoo\<CR>barb", getreg(':'))
54076e5021SBram Moolenaarendfunc
55