Mercurial > vim
diff src/testdir/test_paste.vim @ 10682:d564e73ff9ee v8.0.0231
patch 8.0.0231: bracketed paste mode is not tested
commit https://github.com/vim/vim/commit/076e502199b19e6141e4c1e659ff3f21b71934e1
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 24 18:58:30 2017 +0100
patch 8.0.0231: bracketed paste mode is not tested
Problem: There are no tests for bracketed paste mode.
Solution: Add a test. Fix repeating with "normal .".
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 24 Jan 2017 19:00:06 +0100 |
parents | |
children | 23ada4caa13b |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/src/testdir/test_paste.vim @@ -0,0 +1,41 @@ +" Tests for bracketed paste. + +" Bracketed paste only works with "xterm". +set term=xterm + +func Test_paste_normal_mode() + new + call setline(1, ['a', 'b', 'c']) + 2 + call feedkeys("\<Esc>[200~foo\<CR>bar\<Esc>[201~", 'xt') + call assert_equal('bfoo', getline(2)) + call assert_equal('bar', getline(3)) + call assert_equal('c', getline(4)) + + normal . + call assert_equal('barfoo', getline(3)) + call assert_equal('bar', getline(4)) + call assert_equal('c', getline(5)) + bwipe! +endfunc + +func Test_paste_insert_mode() + new + call setline(1, ['a', 'b', 'c']) + 2 + call feedkeys("i\<Esc>[200~foo\<CR>bar\<Esc>[201~ done\<Esc>", 'xt') + call assert_equal('foo', getline(2)) + call assert_equal('bar doneb', getline(3)) + call assert_equal('c', getline(4)) + + normal . + call assert_equal('bar donfoo', getline(3)) + call assert_equal('bar doneeb', getline(4)) + call assert_equal('c', getline(5)) + bwipe! +endfunc + +func Test_paste_cmdline() + call feedkeys(":a\<Esc>[200~foo\<CR>bar\<Esc>[201~b\<Home>\"\<CR>", 'xt') + call assert_equal("\"afoo\<CR>barb", getreg(':')) +endfunc