mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
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)
This commit is contained in:
@@ -2251,7 +2251,6 @@ test_libvterm:
|
|||||||
# These do not depend on the executable, compile it when needed.
|
# These do not depend on the executable, compile it when needed.
|
||||||
test1 \
|
test1 \
|
||||||
test_eval \
|
test_eval \
|
||||||
test39 \
|
|
||||||
test42 test44 test49 \
|
test42 test44 test49 \
|
||||||
test52 test59 \
|
test52 test59 \
|
||||||
test64 test69 \
|
test64 test69 \
|
||||||
|
@@ -13,7 +13,6 @@ SCRIPTS_FIRST = \
|
|||||||
|
|
||||||
# Tests that run on all systems.
|
# Tests that run on all systems.
|
||||||
SCRIPTS_ALL = \
|
SCRIPTS_ALL = \
|
||||||
test39.out \
|
|
||||||
test42.out \
|
test42.out \
|
||||||
test44.out \
|
test44.out \
|
||||||
test64.out \
|
test64.out \
|
||||||
|
@@ -74,7 +74,6 @@ VIMPROG = <->vim.exe
|
|||||||
.SUFFIXES : .out .in
|
.SUFFIXES : .out .in
|
||||||
|
|
||||||
SCRIPT = test1.out \
|
SCRIPT = test1.out \
|
||||||
test39.out \
|
|
||||||
test42.out test44.out test49.out \
|
test42.out test44.out test49.out \
|
||||||
test64.out test69.out \
|
test64.out test69.out \
|
||||||
test72.out test77a.out test88.out \
|
test72.out test77a.out test88.out \
|
||||||
|
@@ -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\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
|
|
||||||
:/^aa/,/^$/w >> test.out
|
|
||||||
/xaaa$/
|
|
||||||
:exe ":norm! \<C-V>jjjI<>\<Left>p\<Esc>"
|
|
||||||
:/xaaa$/,/^$/w >> test.out
|
|
||||||
:" Test for Visual block was created with the last <C-v>$
|
|
||||||
/^A23$/
|
|
||||||
:exe ":norm! l\<C-V>j$Aab\<Esc>"
|
|
||||||
:.,/^$/w >> test.out
|
|
||||||
:" Test for Visual block was created with the middle <C-v>$ (1)
|
|
||||||
/^B23$/
|
|
||||||
:exe ":norm! l\<C-V>j$hAab\<Esc>"
|
|
||||||
:.,/^$/w >> test.out
|
|
||||||
:" Test for Visual block was created with the middle <C-v>$ (2)
|
|
||||||
/^C23$/
|
|
||||||
:exe ":norm! l\<C-V>j$hhAab\<Esc>"
|
|
||||||
:.,/^$/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\<C-V>jjIx\<Esc>"
|
|
||||||
:.,/^$/w >> test.out
|
|
||||||
:" Test for Visual block append when virtualedit=all
|
|
||||||
:exe ":norm! 012l\<C-v>jjAx\<Esc>"
|
|
||||||
:set ve= enc=latin1
|
|
||||||
:.,/^$/w >> test.out
|
|
||||||
:" gUe must uppercase a whole word, also when <20> changes to SS
|
|
||||||
Gothe youtu<74>euu endYpk0wgUe
|
|
||||||
:" gUfx must uppercase until x, inclusive.
|
|
||||||
O- you<6F>tu<74>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\<C-V>$gj\<Esc>"
|
|
||||||
: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\<C-V>2jI\<tab>\<esc>"
|
|
||||||
:/^the/,$w >> test.out
|
|
||||||
:qa!
|
|
||||||
ENDTEST
|
|
||||||
|
|
||||||
line1
|
|
||||||
line2
|
|
||||||
line3
|
|
||||||
|
|
||||||
aaaaaa
|
|
||||||
bbbbbb
|
|
||||||
cccccc
|
|
||||||
dddddd
|
|
||||||
|
|
||||||
xaaa
|
|
||||||
bbbb
|
|
||||||
cccc
|
|
||||||
dddd
|
|
||||||
|
|
||||||
yaaa
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
bbb
|
|
||||||
|
|
||||||
A23
|
|
||||||
4567
|
|
||||||
|
|
||||||
B23
|
|
||||||
4567
|
|
||||||
|
|
||||||
C23
|
|
||||||
4567
|
|
||||||
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
||||||
abcdefghijklm
|
|
Binary file not shown.
@@ -1,6 +1,5 @@
|
|||||||
" Test for block inserting
|
" Test for block inserting
|
||||||
"
|
"
|
||||||
" TODO: rewrite test39.in into this new style test
|
|
||||||
|
|
||||||
func Test_blockinsert_indent()
|
func Test_blockinsert_indent()
|
||||||
new
|
new
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
" Tests for various Visual mode.
|
" Tests for various Visual modes.
|
||||||
|
|
||||||
func Test_block_shift_multibyte()
|
func Test_block_shift_multibyte()
|
||||||
" Uses double-wide character.
|
" Uses double-wide character.
|
||||||
@@ -740,4 +740,158 @@ func Test_select_mode_gv()
|
|||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
" Tests for the visual block mode commands
|
||||||
|
func Test_visual_block_mode()
|
||||||
|
new
|
||||||
|
call append(0, '')
|
||||||
|
call setline(1, ['abcdefghijklm', 'abcdefghijklm', 'abcdefghijklm',
|
||||||
|
\ 'abcdefghijklm', 'abcdefghijklm'])
|
||||||
|
call cursor(1, 1)
|
||||||
|
|
||||||
|
" Test shift-right of a block
|
||||||
|
exe "normal jllll\<C-V>jj>wll\<C-V>jlll>"
|
||||||
|
" Test shift-left of a block
|
||||||
|
exe "normal G$hhhh\<C-V>kk<"
|
||||||
|
" Test block-insert
|
||||||
|
exe "normal Gkl\<C-V>kkkIxyz"
|
||||||
|
" Test block-replace
|
||||||
|
exe "normal Gllll\<C-V>kkklllrq"
|
||||||
|
" Test block-change
|
||||||
|
exe "normal G$khhh\<C-V>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\<C-V>jjjlllI\<Right>\<Right> \<Esc>"
|
||||||
|
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! \<C-V>jjjI<>\<Left>p\<Esc>"
|
||||||
|
call assert_equal(['<p>xaaa', '<p>bbbb', '<p>cccc', '<p>dddd'],
|
||||||
|
\ getline(1, 4))
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_visual_block_create()
|
||||||
|
new
|
||||||
|
call append(0, '')
|
||||||
|
" Test for Visual block was created with the last <C-v>$
|
||||||
|
call setline(1, ['A23', '4567'])
|
||||||
|
call cursor(1, 1)
|
||||||
|
exe "norm! l\<C-V>j$Aab\<Esc>"
|
||||||
|
call assert_equal(['A23ab', '4567ab'], getline(1, 2))
|
||||||
|
|
||||||
|
" Test for Visual block was created with the middle <C-v>$ (1)
|
||||||
|
call deletebufline('', 1, '$')
|
||||||
|
call setline(1, ['B23', '4567'])
|
||||||
|
call cursor(1, 1)
|
||||||
|
exe "norm! l\<C-V>j$hAab\<Esc>"
|
||||||
|
call assert_equal(['B23 ab', '4567ab'], getline(1, 2))
|
||||||
|
|
||||||
|
" Test for Visual block was created with the middle <C-v>$ (2)
|
||||||
|
call deletebufline('', 1, '$')
|
||||||
|
call setline(1, ['C23', '4567'])
|
||||||
|
call cursor(1, 1)
|
||||||
|
exe "norm! l\<C-V>j$hhAab\<Esc>"
|
||||||
|
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\<C-V>jjIx\<Esc>"
|
||||||
|
call assert_equal([" x \tline1",
|
||||||
|
\ " x \tline2",
|
||||||
|
\ " x \tline3"], getline(1, 3))
|
||||||
|
|
||||||
|
" Test for Visual block append when virtualedit=all
|
||||||
|
exe "norm! 012l\<C-v>jjAx\<Esc>"
|
||||||
|
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\<Esc>Ypk0wgUe\r"
|
||||||
|
" gUfx must uppercase until x, inclusive.
|
||||||
|
exe "normal O- youßtußexu -\<Esc>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\<Esc>VUddP\r"
|
||||||
|
" Uppercase two lines
|
||||||
|
exe "normal Oblah di\rdoh dut\<Esc>VkUj\r"
|
||||||
|
" Uppercase part of two lines
|
||||||
|
exe "normal ddppi333\<Esc>k0i222\<Esc>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\<C-V>2jr\r"
|
||||||
|
exe "normal G3o98765\e2k02l\<C-V>2jr\<C-V>\r\n"
|
||||||
|
exe "normal G3o123456789\e2k05l\<C-V>2jr\n"
|
||||||
|
exe "normal G3o98765\e2k02l\<C-V>2jr\<C-V>\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! \<C-V>$gj\<Esc>"
|
||||||
|
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\<C-V>2jI\<tab>\<esc>"
|
||||||
|
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
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -742,6 +742,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2400,
|
||||||
/**/
|
/**/
|
||||||
2399,
|
2399,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user