# HG changeset patch # User Bram Moolenaar # Date 1575661505 -3600 # Node ID 70f1e352d5995551ca30d1c305b4a5f747a15bb6 # Parent 591bca01afa1f2c537cc08c8b421b2ec44c90eca patch 8.1.2400: test39 is old style Commit: https://github.com/vim/vim/commit/1f3e7d3bf0aa1e015a591ce8f7ee7ab56589b452 Author: Bram Moolenaar Date: Fri Dec 6 20:43:36 2019 +0100 patch 8.1.2400: test39 is old style Problem: Test39 is old style. Solution: Convert the test cases into new style. (Yegappan Lakshmanan, closes #5324) diff --git a/src/Makefile b/src/Makefile --- a/src/Makefile +++ b/src/Makefile @@ -2251,7 +2251,6 @@ test_libvterm: # These do not depend on the executable, compile it when needed. test1 \ test_eval \ - test39 \ test42 test44 test49 \ test52 test59 \ test64 test69 \ diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -13,7 +13,6 @@ SCRIPTS_FIRST = \ # Tests that run on all systems. SCRIPTS_ALL = \ - test39.out \ test42.out \ test44.out \ test64.out \ diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -74,7 +74,6 @@ VIMPROG = <->vim.exe .SUFFIXES : .out .in SCRIPT = test1.out \ - test39.out \ test42.out test44.out test49.out \ test64.out test69.out \ test72.out test77a.out test88.out \ diff --git a/src/testdir/test39.in b/src/testdir/test39.in deleted file mode 100644 --- a/src/testdir/test39.in +++ /dev/null @@ -1,118 +0,0 @@ - -Test Visual block mode commands -And test "U" in Visual mode, also on German sharp S. - -#define BO_ALL 0x0001 -#define BO_BS 0x0002 -#define BO_CRSR 0x0004 - -STARTTEST -:so small.vim -:so mbyte.vim -:" This only works when 'encoding' is "latin1", don't depend on the environment -:set enc=latin1 -/^abcde -:" Test shift-right of a block -jlllljj>wlljlll> -:" Test shift-left of a block -G$hhhhkk< -:" Test block-insert -GklkkkIxyz -:" Test block-replace -Gllllkkklllrq -:" Test block-change -G$khhhhhkkcmno -:$-4,$w! test.out -:" Test block-insert using cursor keys for movement -/^aaaa/ -:exe ":norm! l\jjjlllI\\ \" -:/^aa/,/^$/w >> test.out -/xaaa$/ -:exe ":norm! \jjjI<>\p\" -:/xaaa$/,/^$/w >> test.out -:" Test for Visual block was created with the last $ -/^A23$/ -:exe ":norm! l\j$Aab\" -:.,/^$/w >> test.out -:" Test for Visual block was created with the middle $ (1) -/^B23$/ -:exe ":norm! l\j$hAab\" -:.,/^$/w >> test.out -:" Test for Visual block was created with the middle $ (2) -/^C23$/ -:exe ":norm! l\j$hhAab\" -:.,/^$/w >> test.out -:" Test for Visual block insert when virtualedit=all and utf-8 encoding -:set ve=all enc=utf-8 -:/\t\tline -:exe ":norm! 07l\jjIx\" -:.,/^$/w >> test.out -:" Test for Visual block append when virtualedit=all -:exe ":norm! 012l\jjAx\" -:set ve= enc=latin1 -:.,/^$/w >> test.out -:" gUe must uppercase a whole word, also when ß changes to SS -Gothe youtußeuu endYpk0wgUe -:" gUfx must uppercase until x, inclusive. -O- youßtußexu -0fogUfx -:" VU must uppercase a whole line -YpkVU -:" same, when it's the last line in the buffer -YPGi111VUddP -:" Uppercase two lines -Oblah di -doh dutVkUj -:" Uppercase part of two lines -ddppi333k0i222fyllvjfuUk -:" visual replace using Enter or NL -G3o1234567892k05l2jr G3o987652k02l2jr -G3o1234567892k05l2jr -G3o987652k02l2jr -:" -:" Test cursor position. When ve=block and Visual block mode and $gj -:set ve=block -:exe ":norm! 2k\$gj\" -:let cpos=getpos("'>") -:$put ='col:'.cpos[2].' off:'.cpos[3] -:" -:" block_insert when replacing spaces in front of the block with tabs -:set ts=8 sts=4 sw=4 -:4,7y -Gp -:exe ":norm! f0\2jI\\" -:/^the/,$w >> test.out -:qa! -ENDTEST - - line1 - line2 - line3 - -aaaaaa -bbbbbb -cccccc -dddddd - -xaaa -bbbb -cccc -dddd - -yaaa -¿¿¿ -bbb - -A23 -4567 - -B23 -4567 - -C23 -4567 - -abcdefghijklm -abcdefghijklm -abcdefghijklm -abcdefghijklm -abcdefghijklm diff --git a/src/testdir/test39.ok b/src/testdir/test39.ok deleted file mode 100644 index 349d67fe775b797974d039d14e918edecdee245f..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 GIT binary patch literal 0 Hc$@jj>wll\jlll>" + " Test shift-left of a block + exe "normal G$hhhh\kk<" + " Test block-insert + exe "normal Gkl\kkkIxyz" + " Test block-replace + exe "normal Gllll\kkklllrq" + " Test block-change + exe "normal G$khhh\hhkkcmno" + call assert_equal(['axyzbcdefghijklm', + \ 'axyzqqqq mno ghijklm', + \ 'axyzqqqqef mno ghijklm', + \ 'axyzqqqqefgmnoklm', + \ 'abcdqqqqijklm'], getline(1, 5)) + + bwipe! +endfunc + +" Test block-insert using cursor keys for movement +func Test_visual_block_insert_cursor_keys() + new + call append(0, ['aaaaaa', 'bbbbbb', 'cccccc', 'dddddd']) + call cursor(1, 1) + + exe "norm! l\jjjlllI\\ \" + call assert_equal(['aaa aaa', 'bbb bbb', 'ccc ccc', 'ddd ddd'], + \ getline(1, 4)) + + call deletebufline('', 1, '$') + call setline(1, ['xaaa', 'bbbb', 'cccc', 'dddd']) + call cursor(1, 1) + exe "norm! \jjjI<>\p\" + call assert_equal(['

xaaa', '

bbbb', '

cccc', '

dddd'], + \ getline(1, 4)) + bwipe! +endfunc + +func Test_visual_block_create() + new + call append(0, '') + " Test for Visual block was created with the last $ + call setline(1, ['A23', '4567']) + call cursor(1, 1) + exe "norm! l\j$Aab\" + call assert_equal(['A23ab', '4567ab'], getline(1, 2)) + + " Test for Visual block was created with the middle $ (1) + call deletebufline('', 1, '$') + call setline(1, ['B23', '4567']) + call cursor(1, 1) + exe "norm! l\j$hAab\" + call assert_equal(['B23 ab', '4567ab'], getline(1, 2)) + + " Test for Visual block was created with the middle $ (2) + call deletebufline('', 1, '$') + call setline(1, ['C23', '4567']) + call cursor(1, 1) + exe "norm! l\j$hhAab\" + call assert_equal(['C23ab', '456ab7'], getline(1, 2)) + bwipe! +endfunc + +" Test for Visual block insert when virtualedit=all +func Test_virtualedit_visual_block() + set ve=all + new + call append(0, ["\t\tline1", "\t\tline2", "\t\tline3"]) + call cursor(1, 1) + exe "norm! 07l\jjIx\" + call assert_equal([" x \tline1", + \ " x \tline2", + \ " x \tline3"], getline(1, 3)) + + " Test for Visual block append when virtualedit=all + exe "norm! 012l\jjAx\" + call assert_equal([' x x line1', + \ ' x x line2', + \ ' x x line3'], getline(1, 3)) + set ve= + bwipe! +endfunc + +" Test for changing case +func Test_visual_change_case() + new + " gUe must uppercase a whole word, also when ß changes to SS + exe "normal Gothe youtußeuu end\Ypk0wgUe\r" + " gUfx must uppercase until x, inclusive. + exe "normal O- youßtußexu -\0fogUfx\r" + " VU must uppercase a whole line + exe "normal YpkVU\r" + " same, when it's the last line in the buffer + exe "normal YPGi111\VUddP\r" + " Uppercase two lines + exe "normal Oblah di\rdoh dut\VkUj\r" + " Uppercase part of two lines + exe "normal ddppi333\k0i222\fyllvjfuUk" + call assert_equal(['the YOUTUSSEUU end', '- yOUSSTUSSEXu -', + \ 'THE YOUTUSSEUU END', '111THE YOUTUSSEUU END', 'BLAH DI', 'DOH DUT', + \ '222the yoUTUSSEUU END', '333THE YOUTUßeuu end'], getline(2, '$')) + bwipe! +endfunc + +" Test for Visual replace using Enter or NL +func Test_visual_replace_crnl() + new + exe "normal G3o123456789\e2k05l\2jr\r" + exe "normal G3o98765\e2k02l\2jr\\r\n" + exe "normal G3o123456789\e2k05l\2jr\n" + exe "normal G3o98765\e2k02l\2jr\\n" + call assert_equal(['12345', '789', '12345', '789', '12345', '789', "98\r65", + \ "98\r65", "98\r65", '12345', '789', '12345', '789', '12345', '789', + \ "98\n65", "98\n65", "98\n65"], getline(2, '$')) + bwipe! +endfunc + +func Test_ve_block_curpos() + new + " Test cursor position. When ve=block and Visual block mode and $gj + call append(0, ['12345', '789']) + call cursor(1, 3) + set virtualedit=block + exe "norm! \$gj\" + call assert_equal([0, 2, 4, 0], getpos("'>")) + set virtualedit= + bwipe! +endfunc + +" Test for block_insert when replacing spaces in front of the a with tabs +func Test_block_insert_replace_tabs() + new + set ts=8 sts=4 sw=4 + call append(0, ["#define BO_ALL\t 0x0001", + \ "#define BO_BS\t 0x0002", + \ "#define BO_CRSR\t 0x0004"]) + call cursor(1, 1) + exe "norm! f0\2jI\\" + call assert_equal([ + \ "#define BO_ALL\t\t0x0001", + \ "#define BO_BS\t \t0x0002", + \ "#define BO_CRSR\t \t0x0004", ''], getline(1, '$')) + set ts& sts& sw& + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2400, +/**/ 2399, /**/ 2398,