view src/testdir/test_paste.vim @ 10802:61c9e63e1017

Added tag v8.0.0290 for changeset e7b8be5ecacd054ff52428115062809ad125f307
author Christian Brabandt <cb@256bit.org>
date Wed, 01 Feb 2017 21:30:05 +0100
parents 689e88afdd11
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