From 4a137b45864310060410f34cb9c7d0f0231bb256 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 4 Aug 2017 22:37:11 +0200 Subject: patch 8.0.0861: still many old style tests Problem: Still many old style tests. Solution: Convert several tests to new style. (Yegappan Lakshmanan) --- src/testdir/Make_all.mak | 11 +++++------ src/testdir/Make_vms.mms | 20 ++++++------------- src/testdir/main.aap | 4 ++-- src/testdir/test104.in | 30 ---------------------------- src/testdir/test104.ok | 13 ------------- src/testdir/test22.in | 13 ------------- src/testdir/test22.ok | 4 ---- src/testdir/test77.in | 31 ----------------------------- src/testdir/test77.ok | 1 - src/testdir/test84.in | 35 --------------------------------- src/testdir/test84.ok | 3 --- src/testdir/test9.in | 12 ------------ src/testdir/test9.ok | 2 -- src/testdir/test98.in | 43 ----------------------------------------- src/testdir/test98.ok | 1 - src/testdir/test_autocmd.vim | 19 ++++++++++++++++++ src/testdir/test_curswant.vim | 23 ++++++++++++++++++++++ src/testdir/test_file_size.vim | 29 +++++++++++++++++++++++++++ src/testdir/test_let.vim | 27 ++++++++++++++++++++++++++ src/testdir/test_lineending.vim | 19 ++++++++++++++++++ src/testdir/test_scrollbind.vim | 32 ++++++++++++++++++++++++++++++ 21 files changed, 162 insertions(+), 210 deletions(-) delete mode 100644 src/testdir/test104.in delete mode 100644 src/testdir/test104.ok delete mode 100644 src/testdir/test22.in delete mode 100644 src/testdir/test22.ok delete mode 100644 src/testdir/test77.in delete mode 100644 src/testdir/test77.ok delete mode 100644 src/testdir/test84.in delete mode 100644 src/testdir/test84.ok delete mode 100644 src/testdir/test9.in delete mode 100644 src/testdir/test9.ok delete mode 100644 src/testdir/test98.in delete mode 100644 src/testdir/test98.ok create mode 100644 src/testdir/test_curswant.vim create mode 100644 src/testdir/test_file_size.vim create mode 100644 src/testdir/test_let.vim create mode 100644 src/testdir/test_lineending.vim create mode 100644 src/testdir/test_scrollbind.vim (limited to 'src/testdir') diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index 4eb634c58f..f8ce3faf8b 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -18,12 +18,10 @@ SCRIPTS_ALL = \ test5.out \ test7.out \ test8.out \ - test9.out \ test14.out \ test15.out \ test19.out \ test20.out \ - test22.out \ test28.out \ test29.out \ test31.out \ @@ -52,18 +50,14 @@ SCRIPTS_ALL = \ test69.out \ test70.out \ test73.out \ - test77.out \ test79.out \ test80.out \ - test84.out \ test88.out \ test91.out \ test94.out \ test95.out \ - test98.out \ test99.out \ test103.out \ - test104.out \ test107.out \ test108.out \ test_autoformat_join.out \ @@ -137,11 +131,13 @@ NEW_TESTS = test_arabic.res \ test_command_count.res \ test_crypt.res \ test_cscope.res \ + test_curswant.res \ test_diffmode.res \ test_digraph.res \ test_display.res \ test_edit.res \ test_farsi.res \ + test_file_size.res \ test_fnameescape.res \ test_fold.res \ test_gf.res \ @@ -158,6 +154,8 @@ NEW_TESTS = test_arabic.res \ test_job_fails.res \ test_json.res \ test_langmap.res \ + test_let.res \ + test_lineending.res \ test_listlbr.res \ test_listlbr_utf8.res \ test_lua.res \ @@ -186,6 +184,7 @@ NEW_TESTS = test_arabic.res \ test_retab.res \ test_registers.res \ test_ruby.res \ + test_scrollbind.res \ test_search.res \ test_signs.res \ test_smartindent.res \ diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index a85e98df9b..41b05a0c8d 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -54,9 +54,6 @@ # Comment out if you have GNU compatible diff on your system # HAVE_GDIFF = YES -# Comment out if you have GNU compatible cksum on your system -# HAVE_CKSUM = YES - # Comment out if you have ICONV support # HAVE_ICONV = YES @@ -77,9 +74,9 @@ VIMPROG = <->vim.exe .SUFFIXES : .out .in SCRIPT = test1.out test3.out test4.out test5.out \ - test7.out test8.out test9.out \ + test7.out test8.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 \ test33.out test34.out test36.out test37.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 \ test72.out \ test77a.out test78.out test79.out test80.out \ - test84.out test88.out \ + test88.out \ test91.out test94.out \ - test95.out test98.out test99.out \ - test103.out test104.out \ + test95.out test99.out \ + test103.out \ test107.out test108.out\ test_autocmd_option.out \ test_autoformat_join.out \ @@ -164,10 +161,6 @@ SCRIPT_GZIP = test11.out SCRIPT_GDIFF = test47.out .ENDIF -.IFDEF HAVE_CKSUM -SCRIPT_CKSUM = test77.out -.ENDIF - .IFDEF HAVE_ICONV SCRIPT_ICONV = test83.out .ENDIF @@ -201,7 +194,7 @@ SCRIPT_PYTHON = test86.out test87.out -@ 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) \ - $(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 " All done" @@ -232,7 +225,6 @@ nolog : -@ write sys$output " HAVE_ODS5 = ""$(HAVE_ODS5)"" " -@ write sys$output " HAVE_GZIP = ""$(HAVE_GZIP)"" " -@ 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_LUA = ""$(HAVE_LUA)"" " -@ write sys$output " HAVE_PYTHON= ""$(HAVE_PYTHON)"" " diff --git a/src/testdir/main.aap b/src/testdir/main.aap index 93159ba20d..4fb6ca6991 100644 --- a/src/testdir/main.aap +++ b/src/testdir/main.aap @@ -5,9 +5,9 @@ VimProg ?= ../vim 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 - test18.out test19.out test20.out test21.out test22.out + test18.out test19.out test20.out test21.out test25.out test27.out test28.out test29.out test30.out test31.out test32.out test33.out test34.out test36.out test37.out diff --git a/src/testdir/test104.in b/src/testdir/test104.in deleted file mode 100644 index fd847131e9..0000000000 --- a/src/testdir/test104.in +++ /dev/null @@ -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: diff --git a/src/testdir/test104.ok b/src/testdir/test104.ok deleted file mode 100644 index 5fb20945c3..0000000000 --- a/src/testdir/test104.ok +++ /dev/null @@ -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 diff --git a/src/testdir/test22.in b/src/testdir/test22.in deleted file mode 100644 index f5cc046c6a..0000000000 --- a/src/testdir/test22.in +++ /dev/null @@ -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 diff --git a/src/testdir/test22.ok b/src/testdir/test22.ok deleted file mode 100644 index 38ff89eaf3..0000000000 --- a/src/testdir/test22.ok +++ /dev/null @@ -1,4 +0,0 @@ -this lines ends in a -this one doesn't -this one does -and the last one doesn't diff --git a/src/testdir/test77.in b/src/testdir/test77.in deleted file mode 100644 index 55a1c30272..0000000000 --- a/src/testdir/test77.in +++ /dev/null @@ -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 - diff --git a/src/testdir/test77.ok b/src/testdir/test77.ok deleted file mode 100644 index 11f148c73f..0000000000 --- a/src/testdir/test77.ok +++ /dev/null @@ -1 +0,0 @@ -3678979763 14888896 Xtest diff --git a/src/testdir/test84.in b/src/testdir/test84.in deleted file mode 100644 index 25482db54c..0000000000 --- a/src/testdir/test84.in +++ /dev/null @@ -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 diff --git a/src/testdir/test84.ok b/src/testdir/test84.ok deleted file mode 100644 index 8b8e4ee824..0000000000 --- a/src/testdir/test84.ok +++ /dev/null @@ -1,3 +0,0 @@ -tabstop 7 4 -timeoutlen 7 7 -ttimeoutlen 7 7 diff --git a/src/testdir/test9.in b/src/testdir/test9.in deleted file mode 100644 index 84e17943c7..0000000000 --- a/src/testdir/test9.in +++ /dev/null @@ -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 diff --git a/src/testdir/test9.ok b/src/testdir/test9.ok deleted file mode 100644 index cccb5f3ef2..0000000000 --- a/src/testdir/test9.ok +++ /dev/null @@ -1,2 +0,0 @@ -start of test file xx -end of test file xx diff --git a/src/testdir/test98.in b/src/testdir/test98.in deleted file mode 100644 index 83ccba09e9..0000000000 --- a/src/testdir/test98.in +++ /dev/null @@ -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 - diff --git a/src/testdir/test98.ok b/src/testdir/test98.ok deleted file mode 100644 index 356ddd8eac..0000000000 --- a/src/testdir/test98.ok +++ /dev/null @@ -1 +0,0 @@ -Difference between the top lines (left - right): 0 diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 95b4cb9d45..dede9fa607 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -613,3 +613,22 @@ func Test_OptionSet_diffmode_close() call test_override('starting', 0) "delfunc! AutoCommandOptionSet 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 diff --git a/src/testdir/test_curswant.vim b/src/testdir/test_curswant.vim new file mode 100644 index 0000000000..e54cd4b280 --- /dev/null +++ b/src/testdir/test_curswant.vim @@ -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 diff --git a/src/testdir/test_file_size.vim b/src/testdir/test_file_size.vim new file mode 100644 index 0000000000..f9d453ba84 --- /dev/null +++ b/src/testdir/test_file_size.vim @@ -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 diff --git a/src/testdir/test_let.vim b/src/testdir/test_let.vim new file mode 100644 index 0000000000..24c6ef5e01 --- /dev/null +++ b/src/testdir/test_let.vim @@ -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 diff --git a/src/testdir/test_lineending.vim b/src/testdir/test_lineending.vim new file mode 100644 index 0000000000..d531b74e6d --- /dev/null +++ b/src/testdir/test_lineending.vim @@ -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\", + \ "this one doesn't", + \ "this one does\", + \ "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 diff --git a/src/testdir/test_scrollbind.vim b/src/testdir/test_scrollbind.vim new file mode 100644 index 0000000000..baa24f1979 --- /dev/null +++ b/src/testdir/test_scrollbind.vim @@ -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 -- cgit v1.2.3