summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-01-24 18:58:30 +0100
committerBram Moolenaar <Bram@vim.org>2017-01-24 18:58:30 +0100
commit076e502199b19e6141e4c1e659ff3f21b71934e1 (patch)
treed14fa6a4bf61387ea272784faec0a6a34ee7a05f /src/testdir
parent915350edec02f0326ecbe49f3b6cf2cbcd105f7d (diff)
patch 8.0.0231: bracketed paste mode is not testedv8.0.0231
Problem: There are no tests for bracketed paste mode. Solution: Add a test. Fix repeating with "normal .".
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/Make_all.mak1
-rw-r--r--src/testdir/test_paste.vim41
2 files changed, 42 insertions, 0 deletions
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index e0da1b408d..613b86804e 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -173,6 +173,7 @@ NEW_TESTS = test_arglist.res \
test_nested_function.res \
test_netbeans.res \
test_normal.res \
+ test_paste.res \
test_packadd.res \
test_perl.res \
test_profile.res \
diff --git a/src/testdir/test_paste.vim b/src/testdir/test_paste.vim
new file mode 100644
index 0000000000..ffd2dfa32f
--- /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