1" Tests for 'virtualedit'.
2
3func Test_yank_move_change()
4  new
5  call setline(1, [
6	\ "func foo() error {",
7	\ "\tif n, err := bar();",
8	\ "\terr != nil {",
9	\ "\t\treturn err",
10	\ "\t}",
11	\ "\tn = n * n",
12	\ ])
13  set virtualedit=all
14  set ts=4
15  function! MoveSelectionDown(count) abort
16    normal! m`
17    silent! exe "'<,'>move'>+".a:count
18    norm! ``
19  endfunction
20
21  xmap ]e :<C-U>call MoveSelectionDown(v:count1)<CR>
22  2
23  normal 2gg
24  normal J
25  normal jVj
26  normal ]e
27  normal ce
28  bwipe!
29  set virtualedit=
30  set ts=8
31endfunc
32
33func Test_paste_end_of_line()
34  new
35  set virtualedit=all
36  call setline(1, ['456', '123'])
37  normal! gg0"ay$
38  exe "normal! 2G$lllA\<C-O>:normal! \"agP\r"
39  call assert_equal('123456', getline(2))
40
41  bwipe!
42  set virtualedit=
43endfunc
44