0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.0.0861: still many old style tests

Problem:    Still many old style tests.
Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
This commit is contained in:
Bram Moolenaar
2017-08-04 22:37:11 +02:00
parent 6b7355a30d
commit 4a137b4586
23 changed files with 169 additions and 210 deletions

View File

@@ -2137,6 +2137,7 @@ test_arglist \
test_crypt \ test_crypt \
test_cscope \ test_cscope \
test_cursor_func \ test_cursor_func \
test_curswant \
test_delete \ test_delete \
test_diffmode \ test_diffmode \
test_digraph \ test_digraph \
@@ -2155,6 +2156,7 @@ test_arglist \
test_farsi \ test_farsi \
test_feedkeys \ test_feedkeys \
test_file_perm \ test_file_perm \
test_file_size \
test_fileformat \ test_fileformat \
test_filetype \ test_filetype \
test_filter_cmd \ test_filter_cmd \
@@ -2189,6 +2191,8 @@ test_arglist \
test_lambda \ test_lambda \
test_langmap \ test_langmap \
test_largefile \ test_largefile \
test_let \
test_lineending \
test_lispwords \ test_lispwords \
test_listlbr \ test_listlbr \
test_listlbr_utf8 \ test_listlbr_utf8 \
@@ -2233,6 +2237,7 @@ test_arglist \
test_reltime \ test_reltime \
test_retab \ test_retab \
test_ruby \ test_ruby \
test_scrollbind \
test_search \ test_search \
test_searchpos \ test_searchpos \
test_set \ test_set \

View File

@@ -18,12 +18,10 @@ SCRIPTS_ALL = \
test5.out \ test5.out \
test7.out \ test7.out \
test8.out \ test8.out \
test9.out \
test14.out \ test14.out \
test15.out \ test15.out \
test19.out \ test19.out \
test20.out \ test20.out \
test22.out \
test28.out \ test28.out \
test29.out \ test29.out \
test31.out \ test31.out \
@@ -52,18 +50,14 @@ SCRIPTS_ALL = \
test69.out \ test69.out \
test70.out \ test70.out \
test73.out \ test73.out \
test77.out \
test79.out \ test79.out \
test80.out \ test80.out \
test84.out \
test88.out \ test88.out \
test91.out \ test91.out \
test94.out \ test94.out \
test95.out \ test95.out \
test98.out \
test99.out \ test99.out \
test103.out \ test103.out \
test104.out \
test107.out \ test107.out \
test108.out \ test108.out \
test_autoformat_join.out \ test_autoformat_join.out \
@@ -137,11 +131,13 @@ NEW_TESTS = test_arabic.res \
test_command_count.res \ test_command_count.res \
test_crypt.res \ test_crypt.res \
test_cscope.res \ test_cscope.res \
test_curswant.res \
test_diffmode.res \ test_diffmode.res \
test_digraph.res \ test_digraph.res \
test_display.res \ test_display.res \
test_edit.res \ test_edit.res \
test_farsi.res \ test_farsi.res \
test_file_size.res \
test_fnameescape.res \ test_fnameescape.res \
test_fold.res \ test_fold.res \
test_gf.res \ test_gf.res \
@@ -158,6 +154,8 @@ NEW_TESTS = test_arabic.res \
test_job_fails.res \ test_job_fails.res \
test_json.res \ test_json.res \
test_langmap.res \ test_langmap.res \
test_let.res \
test_lineending.res \
test_listlbr.res \ test_listlbr.res \
test_listlbr_utf8.res \ test_listlbr_utf8.res \
test_lua.res \ test_lua.res \
@@ -186,6 +184,7 @@ NEW_TESTS = test_arabic.res \
test_retab.res \ test_retab.res \
test_registers.res \ test_registers.res \
test_ruby.res \ test_ruby.res \
test_scrollbind.res \
test_search.res \ test_search.res \
test_signs.res \ test_signs.res \
test_smartindent.res \ test_smartindent.res \

View File

@@ -54,9 +54,6 @@
# Comment out if you have GNU compatible diff on your system # Comment out if you have GNU compatible diff on your system
# HAVE_GDIFF = YES # HAVE_GDIFF = YES
# Comment out if you have GNU compatible cksum on your system
# HAVE_CKSUM = YES
# Comment out if you have ICONV support # Comment out if you have ICONV support
# HAVE_ICONV = YES # HAVE_ICONV = YES
@@ -77,9 +74,9 @@ VIMPROG = <->vim.exe
.SUFFIXES : .out .in .SUFFIXES : .out .in
SCRIPT = test1.out test3.out test4.out test5.out \ SCRIPT = test1.out test3.out test4.out test5.out \
test7.out test8.out test9.out \ test7.out test8.out \
test14.out test15.out \ test14.out test15.out \
test19.out test20.out test22.out \ test19.out test20.out \
test28.out test29.out test30.out test31.out test32.out \ test28.out test29.out test30.out test31.out test32.out \
test33.out test34.out test36.out test37.out \ test33.out test34.out test36.out test37.out \
test38.out test39.out test40.out test41.out test42.out \ test38.out test39.out test40.out test41.out test42.out \
@@ -90,10 +87,10 @@ SCRIPT = test1.out test3.out test4.out test5.out \
test66.out test68.out test69.out \ test66.out test68.out test69.out \
test72.out \ test72.out \
test77a.out test78.out test79.out test80.out \ test77a.out test78.out test79.out test80.out \
test84.out test88.out \ test88.out \
test91.out test94.out \ test91.out test94.out \
test95.out test98.out test99.out \ test95.out test99.out \
test103.out test104.out \ test103.out \
test107.out test108.out\ test107.out test108.out\
test_autocmd_option.out \ test_autocmd_option.out \
test_autoformat_join.out \ test_autoformat_join.out \
@@ -164,10 +161,6 @@ SCRIPT_GZIP = test11.out
SCRIPT_GDIFF = test47.out SCRIPT_GDIFF = test47.out
.ENDIF .ENDIF
.IFDEF HAVE_CKSUM
SCRIPT_CKSUM = test77.out
.ENDIF
.IFDEF HAVE_ICONV .IFDEF HAVE_ICONV
SCRIPT_ICONV = test83.out SCRIPT_ICONV = test83.out
.ENDIF .ENDIF
@@ -201,7 +194,7 @@ SCRIPT_PYTHON = test86.out test87.out
-@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.* -@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \ all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
$(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog $(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
-@ write sys$output " " -@ write sys$output " "
-@ write sys$output "-----------------------------------------------" -@ write sys$output "-----------------------------------------------"
-@ write sys$output " All done" -@ write sys$output " All done"
@@ -232,7 +225,6 @@ nolog :
-@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" " -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" "
-@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" "
-@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" " -@ write sys$output " HAVE_GDIFF = ""$(HAVE_GDIFF)"" "
-@ write sys$output " HAVE_CKSUM = ""$(HAVE_CKSUM)"" "
-@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" " -@ write sys$output " HAVE_ICONV = ""$(HAVE_ICONV)"" "
-@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" " -@ write sys$output " HAVE_LUA = ""$(HAVE_LUA)"" "
-@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" " -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" "

View File

@@ -5,9 +5,9 @@
VimProg ?= ../vim VimProg ?= ../vim
Scripts = test1.out test2.out test3.out test4.out test5.out test6.out Scripts = test1.out test2.out test3.out test4.out test5.out test6.out
test7.out test8.out test9.out test11.out test7.out test8.out test11.out
test12.out test13.out test14.out test15.out test17.out test12.out test13.out test14.out test15.out test17.out
test18.out test19.out test20.out test21.out test22.out test18.out test19.out test20.out test21.out
test25.out test27.out test25.out test27.out
test28.out test29.out test30.out test31.out test32.out test28.out test29.out test30.out test31.out test32.out
test33.out test34.out test36.out test37.out test33.out test34.out test36.out test37.out

View File

@@ -1,30 +0,0 @@
Tests for :let. vim: set ft=vim ts=8 :
STARTTEST
:so small.vim
:set runtimepath+=./sautest
:" Test to not autoload when assigning. It causes internal error.
:try
: let Test104#numvar = function('tr')
: $put ='OK: ' . string(Test104#numvar)
:catch
: $put ='FAIL: ' . v:exception
:endtry
:let a = 1
:let b = 2
:for letargs in ['a b', '{0 == 1 ? "a" : "b"}', '{0 == 1 ? "a" : "b"} a', 'a {0 == 1 ? "a" : "b"}']
: try
: redir => messages
: execute 'let' letargs
: redir END
: $put ='OK:'
: $put =split(substitute(messages, '\n', '\0 ', 'g'), '\n')
: catch
: $put ='FAIL: ' . v:exception
: redir END
: endtry
:endfor
:/^Results/,$wq! test.out
ENDTEST
Results of test104:

View File

@@ -1,13 +0,0 @@
Results of test104:
OK: function('tr')
OK:
a #1
b #2
OK:
b #2
OK:
b #2
a #1
OK:
a #1
b #2

View File

@@ -1,13 +0,0 @@
Tests for file with some lines ending in CTRL-M, some not
STARTTEST
:set ta tx
:e!
:$-3,$w! test.out
:qa!
ENDTEST
this lines ends in a
this one doesn't
this one does
and the last one doesn't

View File

@@ -1,4 +0,0 @@
this lines ends in a
this one doesn't
this one does
and the last one doesn't

View File

@@ -1,31 +0,0 @@
Inserts 2 million lines with consecutive integers starting from 1
(essentially, the output of GNU's seq 1 2000000), writes them to Xtest
and writes its cksum to test.out.
We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
up the lines the checksum would differ.
cksum is part of POSIX and so should be available on most Unixes.
If it isn't available then the test will be skipped.
STARTTEST
:so small.vim
:set belloff=all
:if !executable("cksum")
: e! test.ok
: w! test.out
: qa!
:endif
:set fileformat=unix undolevels=-1
ggdG
:let i = 1
:while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile
ggdd
:w! Xtest
:r !cksum Xtest
:s/\s/ /g
:set fileformat&
:.w! test.out
:qa!
ENDTEST

View File

@@ -1 +0,0 @@
3678979763 14888896 Xtest

View File

@@ -1,35 +0,0 @@
Tests for curswant not changing when setting an option
STARTTEST
:so small.vim
:/^start target options$/+1,/^end target options$/-1 yank
:let target_option_names = split(@0)
:function TestCurswant(option_name)
: normal! ggf8j
: let curswant_before = winsaveview().curswant
: execute 'let' '&'.a:option_name '=' '&'.a:option_name
: let curswant_after = winsaveview().curswant
: return [a:option_name, curswant_before, curswant_after]
:endfunction
:
:new
:put =['1234567890', '12345']
:1 delete _
:let result = []
:for option_name in target_option_names
: call add(result, TestCurswant(option_name))
:endfor
:
:new
:put =map(copy(result), 'join(v:val, '' '')')
:1 delete _
:write test.out
:
:qall!
ENDTEST
start target options
tabstop
timeoutlen
ttimeoutlen
end target options

View File

@@ -1,3 +0,0 @@
tabstop 7 4
timeoutlen 7 7
ttimeoutlen 7 7

View File

@@ -1,12 +0,0 @@
Test for Bufleave autocommand that deletes the buffer we are about to edit.
STARTTEST
:so small.vim
:au BufLeave test9.in bwipe yy
:e yy
:/^start of/,$w! test.out " Write contents of this file
:qa!
ENDTEST
start of test file xx
end of test file xx

View File

@@ -1,2 +0,0 @@
start of test file xx
end of test file xx

View File

@@ -1,43 +0,0 @@
Test for 'scrollbind' causing an unexpected scroll of one of the windows.
STARTTEST
:so small.vim
:" We don't want the status line to cause problems:
:set laststatus=0
:let g:totalLines = &lines * 20
:let middle = g:totalLines / 2
:wincmd n
:wincmd o
:for i in range(1, g:totalLines)
: call setline(i, 'LINE ' . i)
:endfor
:exe string(middle)
:normal zt
:normal M
:aboveleft vert new
:for i in range(1, g:totalLines)
: call setline(i, 'line ' . i)
:endfor
:exe string(middle)
:normal zt
:normal M
:" Execute the following two command at once to reproduce the problem.
:setl scb | wincmd p
:setl scb
:wincmd w
:let topLineLeft = line('w0')
:wincmd p
:let topLineRight = line('w0')
:setl noscrollbind
:wincmd p
:setl noscrollbind
:q!
:%del _
:call setline(1, 'Difference between the top lines (left - right): ' . string(topLineLeft - topLineRight))
:w! test.out
:brewind
ENDTEST
STARTTEST
:qa!
ENDTEST

View File

@@ -1 +0,0 @@
Difference between the top lines (left - right): 0

View File

@@ -613,3 +613,22 @@ func Test_OptionSet_diffmode_close()
call test_override('starting', 0) call test_override('starting', 0)
"delfunc! AutoCommandOptionSet "delfunc! AutoCommandOptionSet
endfunc endfunc
" Test for Bufleave autocommand that deletes the buffer we are about to edit.
func Test_BufleaveWithDelete()
new | edit Xfile1
augroup test_bufleavewithdelete
autocmd!
autocmd BufLeave Xfile1 bwipe Xfile2
augroup END
call assert_fails('edit Xfile2', 'E143:')
call assert_equal('Xfile1', bufname('%'))
autocmd! test_bufleavewithdelete BufLeave Xfile1
augroup! test_bufleavewithdelete
new
bwipe! Xfile1
endfunc

View File

@@ -0,0 +1,23 @@
" Tests for curswant not changing when setting an option
func Test_curswant()
new
call append(0, ['1234567890', '12345'])
normal! ggf8j
call assert_equal(7, winsaveview().curswant)
let &tabstop=&tabstop
call assert_equal(4, winsaveview().curswant)
normal! ggf8j
call assert_equal(7, winsaveview().curswant)
let &timeoutlen=&timeoutlen
call assert_equal(7, winsaveview().curswant)
normal! ggf8j
call assert_equal(7, winsaveview().curswant)
let &ttimeoutlen=&ttimeoutlen
call assert_equal(7, winsaveview().curswant)
enew!
endfunc

View File

@@ -0,0 +1,29 @@
" Inserts 2 million lines with consecutive integers starting from 1
" (essentially, the output of GNU's seq 1 2000000), writes them to Xtest
" and writes its cksum to test.out.
"
" We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess
" up the lines the checksum would differ.
"
" cksum is part of POSIX and so should be available on most Unixes.
" If it isn't available then the test will be skipped.
func Test_File_Size()
if !executable('cksum')
return
endif
set belloff=all fileformat=unix undolevels=-1
new
for i in range(1, 2000000, 100)
call append(i, range(i, i + 99))
endfor
1delete
w! Xtest
let l = systemlist('cksum Xtest')
call assert_equal('3678979763 14888896 Xtest', l[0])
enew!
call delete('Xtest')
set belloff& fileformat& undolevels&
endfunc

27
src/testdir/test_let.vim Normal file
View File

@@ -0,0 +1,27 @@
" Tests for the :let command.
func Test_let()
" Test to not autoload when assigning. It causes internal error.
set runtimepath+=./sautest
let Test104#numvar = function('tr')
call assert_equal("function('tr')", string(Test104#numvar))
let a = 1
let b = 2
let out = execute('let a b')
let s = "\na #1\nb #2"
call assert_equal(s, out)
let out = execute('let {0 == 1 ? "a" : "b"}')
let s = "\nb #2"
call assert_equal(s, out)
let out = execute('let {0 == 1 ? "a" : "b"} a')
let s = "\nb #2\na #1"
call assert_equal(s, out)
let out = execute('let a {0 == 1 ? "a" : "b"}')
let s = "\na #1\nb #2"
call assert_equal(s, out)
endfunc

View File

@@ -0,0 +1,19 @@
" Tests for saving/loading a file with some lines ending in
" CTRL-M, some not
func Test_lineending()
let l = ["this line ends in a\<CR>",
\ "this one doesn't",
\ "this one does\<CR>",
\ "and the last one doesn't"]
set ta tx
enew!
call append(0, l)
$delete
write Xfile1
bwipe Xfile1
edit Xfile1
let t = getline(1, '$')
call assert_equal(l, t)
new | only
call delete('Xfile1')
endfunc

View File

@@ -0,0 +1,32 @@
" Test for 'scrollbind' causing an unexpected scroll of one of the windows.
func Test_scrollbind()
" We don't want the status line to cause problems:
set laststatus=0
let totalLines = &lines * 20
let middle = totalLines / 2
new | only
for i in range(1, totalLines)
call setline(i, 'LINE ' . i)
endfor
exe string(middle)
normal zt
normal M
aboveleft vert new
for i in range(1, totalLines)
call setline(i, 'line ' . i)
endfor
exe string(middle)
normal zt
normal M
" Execute the following two commands at once to reproduce the problem.
setl scb | wincmd p
setl scb
wincmd w
let topLineLeft = line('w0')
wincmd p
let topLineRight = line('w0')
setl noscrollbind
wincmd p
setl noscrollbind
call assert_equal(0, topLineLeft - topLineRight)
endfunc

View File

@@ -769,6 +769,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 */
/**/
861,
/**/ /**/
860, 860,
/**/ /**/