Mercurial > vim
view src/testdir/test_paste.vim @ 10696:689e88afdd11 v8.0.0238
patch 8.0.0238: bracketed paste does not disable autoindent
commit https://github.com/vim/vim/commit/9e817c8a31232eda57963215eb16ee5b1ceefa7b
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jan 25 21:36:17 2017 +0100
patch 8.0.0238: bracketed paste does not disable autoindent
Problem: When using bracketed paste autoindent causes indent to be
increased.
Solution: Disable 'ai' and set 'paste' temporarily. (Ken Takata)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 25 Jan 2017 21:45:04 +0100 |
parents | 23ada4caa13b |
children | 09eb5fd275e0 |
line wrap: on
line source
" Tests for bracketed paste. " Bracketed paste only works with "xterm". Not in GUI. if has('gui_running') finish endif 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)) set ai et tw=10 call setline(1, ['a', ' b', 'c']) 2 call feedkeys("A\<Esc>[200~foo\<CR> bar bar bar\<Esc>[201~\<Esc>", 'xt') call assert_equal(' bfoo', getline(2)) call assert_equal(' bar bar bar', getline(3)) call assert_equal('c', getline(4)) set ai& et& tw=0 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