18c87a2b1SBram Moolenaar" Test for block inserting 28c87a2b1SBram Moolenaar 38c87a2b1SBram Moolenaarfunc Test_blockinsert_indent() 48c87a2b1SBram Moolenaar new 58c87a2b1SBram Moolenaar filetype plugin indent on 68c87a2b1SBram Moolenaar setlocal sw=2 et ft=vim 78c87a2b1SBram Moolenaar call setline(1, ['let a=[', ' ''eins'',', ' ''zwei'',', ' ''drei'']']) 88c87a2b1SBram Moolenaar call cursor(2, 3) 98c87a2b1SBram Moolenaar exe "norm! \<c-v>2jI\\ \<esc>" 108c87a2b1SBram Moolenaar call assert_equal(['let a=[', ' \ ''eins'',', ' \ ''zwei'',', ' \ ''drei'']'], 118c87a2b1SBram Moolenaar \ getline(1,'$')) 128c87a2b1SBram Moolenaar " reset to sane state 138c87a2b1SBram Moolenaar filetype off 148c87a2b1SBram Moolenaar bwipe! 158c87a2b1SBram Moolenaarendfunc 168c87a2b1SBram Moolenaar 1735e802e7SBram Moolenaarfunc Test_blockinsert_delete() 1835e802e7SBram Moolenaar new 1935e802e7SBram Moolenaar let _bs = &bs 2035e802e7SBram Moolenaar set bs=2 2135e802e7SBram Moolenaar call setline(1, ['case Arg is ', ' when Name_Async,', ' when Name_Num_Gangs,', 'end if;']) 2235e802e7SBram Moolenaar exe "norm! ggjVj\<c-v>$o$A\<bs>\<esc>" 2335e802e7SBram Moolenaar "call feedkeys("Vj\<c-v>$o$A\<bs>\<esc>", 'ti') 2435e802e7SBram Moolenaar call assert_equal(["case Arg is ", " when Name_Async", " when Name_Num_Gangs,", "end if;"], 2535e802e7SBram Moolenaar \ getline(1,'$')) 2635e802e7SBram Moolenaar " reset to sane state 2735e802e7SBram Moolenaar let &bs = _bs 2835e802e7SBram Moolenaar bwipe! 2935e802e7SBram Moolenaarendfunc 308c87a2b1SBram Moolenaar 31*4067bd36SBram Moolenaarfunc Test_blockappend_eol_cursor() 32*4067bd36SBram Moolenaar new 33*4067bd36SBram Moolenaar " Test 1 Move 1 char left 34*4067bd36SBram Moolenaar call setline(1, ['aaa', 'bbb', 'ccc']) 35*4067bd36SBram Moolenaar exe "norm! gg$\<c-v>2jA\<left>x\<esc>" 36*4067bd36SBram Moolenaar call assert_equal(['aaxa', 'bbxb', 'ccxc'], getline(1, '$')) 37*4067bd36SBram Moolenaar " Test 2 Move 2 chars left 38*4067bd36SBram Moolenaar sil %d 39*4067bd36SBram Moolenaar call setline(1, ['aaa', 'bbb', 'ccc']) 40*4067bd36SBram Moolenaar exe "norm! gg$\<c-v>2jA\<left>\<left>x\<esc>" 41*4067bd36SBram Moolenaar call assert_equal(['axaa', 'bxbb', 'cxcc'], getline(1, '$')) 42*4067bd36SBram Moolenaar " Test 3 Move 3 chars left (outside of the visual selection) 43*4067bd36SBram Moolenaar sil %d 44*4067bd36SBram Moolenaar call setline(1, ['aaa', 'bbb', 'ccc']) 45*4067bd36SBram Moolenaar exe "norm! ggl$\<c-v>2jA\<left>\<left>\<left>x\<esc>" 46*4067bd36SBram Moolenaar call assert_equal(['xaaa', 'bbb', 'ccc'], getline(1, '$')) 47*4067bd36SBram Moolenaar bw! 48*4067bd36SBram Moolenaarendfunc 49*4067bd36SBram Moolenaar 50*4067bd36SBram Moolenaarfunc Test_blockappend_eol_cursor2() 51*4067bd36SBram Moolenaar new 52*4067bd36SBram Moolenaar " Test 1 Move 1 char left 53*4067bd36SBram Moolenaar call setline(1, ['aaaaa', 'bbb', 'ccccc']) 54*4067bd36SBram Moolenaar exe "norm! gg\<c-v>$2jA\<left>x\<esc>" 55*4067bd36SBram Moolenaar call assert_equal(['aaaaxa', 'bbbx', 'ccccxc'], getline(1, '$')) 56*4067bd36SBram Moolenaar " Test 2 Move 2 chars left 57*4067bd36SBram Moolenaar sil %d 58*4067bd36SBram Moolenaar call setline(1, ['aaaaa', 'bbb', 'ccccc']) 59*4067bd36SBram Moolenaar exe "norm! gg\<c-v>$2jA\<left>\<left>x\<esc>" 60*4067bd36SBram Moolenaar call assert_equal(['aaaxaa', 'bbbx', 'cccxcc'], getline(1, '$')) 61*4067bd36SBram Moolenaar " Test 3 Move 3 chars left (to the beginning of the visual selection) 62*4067bd36SBram Moolenaar sil %d 63*4067bd36SBram Moolenaar call setline(1, ['aaaaa', 'bbb', 'ccccc']) 64*4067bd36SBram Moolenaar exe "norm! gg\<c-v>$2jA\<left>\<left>\<left>x\<esc>" 65*4067bd36SBram Moolenaar call assert_equal(['aaxaaa', 'bbxb', 'ccxccc'], getline(1, '$')) 66*4067bd36SBram Moolenaar " Test 4 Move 3 chars left (outside of the visual selection) 67*4067bd36SBram Moolenaar sil %d 68*4067bd36SBram Moolenaar call setline(1, ['aaaaa', 'bbb', 'ccccc']) 69*4067bd36SBram Moolenaar exe "norm! ggl\<c-v>$2jA\<left>\<left>\<left>x\<esc>" 70*4067bd36SBram Moolenaar call assert_equal(['aaxaaa', 'bbxb', 'ccxccc'], getline(1, '$')) 71*4067bd36SBram Moolenaar " Test 5 Move 4 chars left (outside of the visual selection) 72*4067bd36SBram Moolenaar sil %d 73*4067bd36SBram Moolenaar call setline(1, ['aaaaa', 'bbb', 'ccccc']) 74*4067bd36SBram Moolenaar exe "norm! ggl\<c-v>$2jA\<left>\<left>\<left>\<left>x\<esc>" 75*4067bd36SBram Moolenaar call assert_equal(['axaaaa', 'bxbb', 'cxcccc'], getline(1, '$')) 76*4067bd36SBram Moolenaar bw! 77*4067bd36SBram Moolenaarendfunc 78*4067bd36SBram Moolenaar 798c87a2b1SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab 80