1" Tests for bracketed paste. 2 3" Bracketed paste only works with "xterm". Not in GUI. 4if has('gui_running') 5 finish 6endif 7set 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)) 38 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 48 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 55