summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-08-04 22:37:11 +0200
committerBram Moolenaar <Bram@vim.org>2017-08-04 22:37:11 +0200
commit4a137b45864310060410f34cb9c7d0f0231bb256 (patch)
treefbd29799c3e3fc89ff3e81c022827b5f2b5ebdf7
parent6b7355a30ddd294c19cd9be924d487d592ccfae1 (diff)
patch 8.0.0861: still many old style testsv8.0.0861
Problem: Still many old style tests. Solution: Convert several tests to new style. (Yegappan Lakshmanan)
-rw-r--r--src/Makefile5
-rw-r--r--src/testdir/Make_all.mak11
-rw-r--r--src/testdir/Make_vms.mms20
-rw-r--r--src/testdir/main.aap4
-rw-r--r--src/testdir/test104.in30
-rw-r--r--src/testdir/test104.ok13
-rw-r--r--src/testdir/test22.in13
-rw-r--r--src/testdir/test22.ok4
-rw-r--r--src/testdir/test77.in31
-rw-r--r--src/testdir/test77.ok1
-rw-r--r--src/testdir/test84.in35
-rw-r--r--src/testdir/test84.ok3
-rw-r--r--src/testdir/test9.in12
-rw-r--r--src/testdir/test9.ok2
-rw-r--r--src/testdir/test98.in43
-rw-r--r--src/testdir/test98.ok1
-rw-r--r--src/testdir/test_autocmd.vim19
-rw-r--r--src/testdir/test_curswant.vim23
-rw-r--r--src/testdir/test_file_size.vim29
-rw-r--r--src/testdir/test_let.vim27
-rw-r--r--src/testdir/test_lineending.vim19
-rw-r--r--src/testdir/test_scrollbind.vim32
-rw-r--r--src/version.c2
23 files changed, 169 insertions, 210 deletions
diff --git a/src/Makefile b/src/Makefile
index e4ccf37e1e..ca8b1a391b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2137,6 +2137,7 @@ test_arglist \
test_crypt \
test_cscope \
test_cursor_func \
+ test_curswant \
test_delete \
test_diffmode \
test_digraph \
@@ -2155,6 +2156,7 @@ test_arglist \
test_farsi \
test_feedkeys \
test_file_perm \
+ test_file_size \
test_fileformat \
test_filetype \
test_filter_cmd \
@@ -2189,6 +2191,8 @@ test_arglist \
test_lambda \
test_langmap \
test_largefile \
+ test_let \
+ test_lineending \
test_lispwords \
test_listlbr \
test_listlbr_utf8 \
@@ -2233,6 +2237,7 @@ test_arglist \
test_reltime \
test_retab \
test_ruby \
+ test_scrollbind \
test_search \
test_searchpos \
test_set \
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\<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
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
diff --git a/src/version.c b/src/version.c
index f716a4cd3c..5a77e0ab90 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 861,
+/**/
860,
/**/
859,