Patch 8.1.1203
Problem: Some autocmd tests are old style.
Solution: Turn the tests into new style. (Yegappan Lakshmanan, closes #4295)
Files: src/Makefile, src/testdir/Make_all.mak,
src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms,
src/testdir/test11.in, src/testdir/test11.ok,
src/testdir/test_autocmd.vim
*** ../vim-8.1.1202/src/Makefile 2019-04-21 15:22:35.485067386 +0200
--- src/Makefile 2019-04-25 20:23:53.866986203 +0200
***************
*** 2172,2178 ****
# These do not depend on the executable, compile it when needed.
test1 \
test_eval \
! test3 test11 test14 test17 \
test29 test30 test37 test39 \
test42 test44 test48 test49 \
test52 test59 \
--- 2172,2178 ----
# These do not depend on the executable, compile it when needed.
test1 \
test_eval \
! test3 test14 test17 \
test29 test30 test37 test39 \
test42 test44 test48 test49 \
test52 test59 \
*** ../vim-8.1.1202/src/testdir/Make_all.mak 2019-04-17 16:53:44.925357857
+0200
--- src/testdir/Make_all.mak 2019-04-25 20:23:53.866986203 +0200
***************
*** 33,39 ****
# Tests that run on most systems, but not on Amiga.
SCRIPTS_MORE1 = \
- test11.out \
test52.out \
test86.out \
test87.out
--- 33,38 ----
*** ../vim-8.1.1202/src/testdir/Make_amiga.mak 2019-01-11 17:30:13.290241872
+0100
--- src/testdir/Make_amiga.mak 2019-04-25 20:23:53.866986203 +0200
***************
*** 12,18 ****
# These tests don't work (yet):
# test2 "\\tmp" doesn't work
# test10 'errorformat' is different
- # test11 "cat" doesn't work properly
# test52 only for Win32
# test86, 87 no Python interface
--- 12,17 ----
*** ../vim-8.1.1202/src/testdir/Make_vms.mms 2019-04-17 16:53:44.925357857
+0200
--- src/testdir/Make_vms.mms 2019-04-25 20:23:53.866986203 +0200
***************
*** 122,131 ****
SCRIPT_ODS5 = test102.out
.ENDIF
- .IFDEF HAVE_GZIP
- SCRIPT_GZIP = test11.out
- .ENDIF
-
.IFDEF HAVE_GDIFF
SCRIPT_GDIFF = test47.out
.ENDIF
--- 122,127 ----
***************
*** 154,160 ****
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog
Xdotest.*.*
-@ 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_LUA) $(SCRIPT_PYTHON) nolog
-@ write sys$output " "
-@ write sys$output "-----------------------------------------------"
--- 150,156 ----
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog
Xdotest.*.*
-@ 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_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
-@ write sys$output " "
-@ write sys$output "-----------------------------------------------"
*** ../vim-8.1.1202/src/testdir/test11.in 2014-10-09 15:34:19.000000000
+0200
--- src/testdir/test11.in 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,84 ****
- Tests for autocommands:
- - FileWritePre writing a compressed file
- - FileReadPost reading a compressed file
- - BufNewFile reading a file template
- - BufReadPre decompressing the file to be read
- - FilterReadPre substituting characters in the temp file
- - FilterReadPost substituting characters after filtering
- - FileReadPre set options for decompression
- - FileReadPost decompress the file
-
- Note: This test is skipped if "gzip" is not available.
- $GZIP is made empty, "-v" would cause trouble.
- Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being
- modified outside of Vim (noticed on Solaris).
-
- STARTTEST
- :so small.vim
- :" drop out when there is no gzip program
- :if !executable("gzip")
- : e! test.ok
- : w! test.out
- : qa!
- :endif
- :let $GZIP = ""
- :au FileChangedShell * echo "caught FileChangedShell"
- :set bin
- :au FileWritePre *.gz '[,']!gzip
- :au FileWritePost *.gz undo
- :/^start of testfile/,/^end of testfile/w! Xtestfile.gz
- :au FileReadPost *.gz '[,']!gzip -d
- :$r Xtestfile.gz " Read and decompress the testfile
- :?startstart?,$w! test.out " Write contents of this file
- :au BufNewFile *.c read Xtest.c
- :/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
- :e! foo.c " Will load Xtest.c
- :au FileAppendPre *.out '[,']s/new/NEW/
- :au FileAppendPost *.out !cat Xtest.c >>test.out
- :w>>test.out " Append it to the output file
- :au! FileAppendPre
- :" setup autocommands to decompress before reading and re-compress afterwards
- :au BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
- :au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
- :au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
- :au BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
- :e! Xtestfile.gz " Edit compressed file
- :w>>test.out " Append it to the output file
- :set shelltemp " need temp files here
- :au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>") .
".t")
- :au FilterReadPre *.out exe 'silent !sed s/e/E/ ' .
shellescape(expand("<afile>")) . ".t >" . shellescape(expand("<afile>"))
- :au FilterReadPre *.out exe 'silent !rm ' . shellescape(expand("<afile>"))
. '.t'
- :au FilterReadPost *.out '[,']s/x/X/g
- :e! test.out " Edit the output file
- :23,$!cat
- :23,$s/\r$// " remove CR for when sed adds them
- :au! FileReadPre *.gz exe 'silent !gzip -d ' .
shellescape(expand("<afile>"))
- :au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
- :au! FileReadPost *.gz '[,']s/l/L/
- :$r Xtestfile.gz " Read compressed file
- :w " write it, after filtering
- :au! " remove all autocommands
- :e " Edit test.out again
- :set nobin ff& " use the default fileformat for writing
- :w
- :qa!
- ENDTEST
-
- startstart
- start of testfile
- line 2 Abcdefghijklmnopqrstuvwxyz
- line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 4 Abcdefghijklmnopqrstuvwxyz
- line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 6 Abcdefghijklmnopqrstuvwxyz
- line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 8 Abcdefghijklmnopqrstuvwxyz
- line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 10 Abcdefghijklmnopqrstuvwxyz
- end of testfile
-
- start of test.c
- /*
- * Here is a new .c file
- */
- end of test.c
--- 0 ----
*** ../vim-8.1.1202/src/testdir/test11.ok 2010-05-15 13:04:10.000000000
+0200
--- src/testdir/test11.ok 1970-01-01 01:00:00.000000000 +0100
***************
*** 1,61 ****
- startstart
- start of testfile
- line 2 Abcdefghijklmnopqrstuvwxyz
- line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 4 Abcdefghijklmnopqrstuvwxyz
- line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 6 Abcdefghijklmnopqrstuvwxyz
- line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 8 Abcdefghijklmnopqrstuvwxyz
- line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 10 Abcdefghijklmnopqrstuvwxyz
- end of testfile
-
- start of test.c
- /*
- * Here is a new .c file
- */
- end of test.c
- start of testfile
- line 2 Abcdefghijklmnopqrstuvwxyz
- line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- line 4 Abcdefghijklmnopqrstuvwxyz
- linE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 6 AbcdefghijklmnopqrstuvwXyz
- linE 7 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 8 AbcdefghijklmnopqrstuvwXyz
- linE 9 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 10 AbcdefghijklmnopqrstuvwXyz
- End of testfile
-
- /*
- * HEre is a NEW .c file
- */
- /*
- * HEre is a new .c file
- */
- start of tEstfile
- linE 2 AbcdefghijklmnopqrstuvwXyz
- linE 3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 4 AbcdefghijklmnopqrstuvwXyz
- linE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 6 AbcdefghijklmnopqrstuvwXyz
- linE 7 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 8 AbcdefghijklmnopqrstuvwXyz
- linE 9 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- linE 10 AbcdefghijklmnopqrstuvwXyz
- End of testfile
- /*
- * HEre is a new .c file
- */
- start of testfiLe
- Line 2 Abcdefghijklmnopqrstuvwxyz
- Line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Line 4 Abcdefghijklmnopqrstuvwxyz
- Line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Line 6 Abcdefghijklmnopqrstuvwxyz
- Line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Line 8 Abcdefghijklmnopqrstuvwxyz
- Line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- Line 10 Abcdefghijklmnopqrstuvwxyz
- end of testfiLe
--- 0 ----
*** ../vim-8.1.1202/src/testdir/test_autocmd.vim 2019-04-04
15:04:32.966792195 +0200
--- src/testdir/test_autocmd.vim 2019-04-25 20:23:53.870985923 +0200
***************
*** 1486,1488 ****
--- 1486,1690 ----
endfunc
" FileChangedShell tested in test_filechanged.vim
+
+ " Tests for the following autocommands:
+ " - FileWritePre writing a compressed file
+ " - FileReadPost reading a compressed file
+ " - BufNewFile reading a file template
+ " - BufReadPre decompressing the file to be read
+ " - FilterReadPre substituting characters in the temp file
+ " - FilterReadPost substituting characters after filtering
+ " - FileReadPre set options for decompression
+ " - FileReadPost decompress the file
+ func Test_ReadWrite_Autocmds()
+ " Run this test only on Unix-like systems and if gzip is available
+ if !has('unix') || !executable("gzip")
+ return
+ endif
+
+ " Make $GZIP empty, "-v" would cause trouble.
+ let $GZIP = ""
+
+ " Use a FileChangedShell autocommand to avoid a prompt for 'Xtestfile.gz'
+ " being modified outside of Vim (noticed on Solaris).
+ au FileChangedShell * echo 'caught FileChangedShell'
+
+ " Test for the FileReadPost, FileWritePre and FileWritePost autocmds
+ augroup Test1
+ au!
+ au FileWritePre *.gz '[,']!gzip
+ au FileWritePost *.gz undo
+ au FileReadPost *.gz '[,']!gzip -d
+ augroup END
+
+ new
+ set bin
+ call append(0, [
+ \ 'line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ])
+ 1,9write! Xtestfile.gz
+ enew! | close
+
+ new
+ " Read and decompress the testfile
+ 0read Xtestfile.gz
+ call assert_equal([
+ \ 'line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ], getline(1, 9))
+ enew! | close
+
+ augroup Test1
+ au!
+ augroup END
+
+ " Test for the FileAppendPre and FileAppendPost autocmds
+ augroup Test2
+ au!
+ au BufNewFile *.c read Xtest.c
+ au FileAppendPre *.out '[,']s/new/NEW/
+ au FileAppendPost *.out !cat Xtest.c >> test.out
+ augroup END
+
+ call writefile(['/*', ' * Here is a new .c file', ' */'], 'Xtest.c')
+ new foo.c " should load Xtest.c
+ call assert_equal(['/*', ' * Here is a new .c file', ' */'], getline(2, 4))
+ w! >> test.out " append it to the output file
+
+ let contents = readfile('test.out')
+ call assert_equal(' * Here is a NEW .c file', contents[2])
+ call assert_equal(' * Here is a new .c file', contents[5])
+
+ call delete('test.out')
+ enew! | close
+ augroup Test2
+ au!
+ augroup END
+
+ " Test for the BufReadPre and BufReadPost autocmds
+ augroup Test3
+ au!
+ " setup autocommands to decompress before reading and re-compress
+ " afterwards
+ au BufReadPre *.gz exe '!gzip -d ' . shellescape(expand("<afile>"))
+ au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
+ au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
+ au BufReadPost *.gz exe '!gzip ' . shellescape(expand("<afile>:r"))
+ augroup END
+
+ e! Xtestfile.gz " Edit compressed file
+ call assert_equal([
+ \ 'line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ], getline(1, 9))
+
+ w! >> test.out " Append it to the output file
+
+ augroup Test3
+ au!
+ augroup END
+
+ " Test for the FilterReadPre and FilterReadPost autocmds.
+ set shelltemp " need temp files here
+ augroup Test4
+ au!
+ au FilterReadPre *.out call rename(expand("<afile>"),
expand("<afile>") . ".t")
+ au FilterReadPre *.out exe 'silent !sed s/e/E/ ' .
shellescape(expand("<afile>")) . ".t >" . shellescape(expand("<afile>"))
+ au FilterReadPre *.out exe 'silent !rm ' .
shellescape(expand("<afile>")) . '.t'
+ au FilterReadPost *.out '[,']s/x/X/g
+ augroup END
+
+ e! test.out " Edit the output file
+ 1,$!cat
+ call assert_equal([
+ \ 'linE 2 AbcdefghijklmnopqrstuvwXyz',
+ \ 'linE 3 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
+ \ 'linE 4 AbcdefghijklmnopqrstuvwXyz',
+ \ 'linE 5 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
+ \ 'linE 6 AbcdefghijklmnopqrstuvwXyz',
+ \ 'linE 7 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
+ \ 'linE 8 AbcdefghijklmnopqrstuvwXyz',
+ \ 'linE 9 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
+ \ 'linE 10 AbcdefghijklmnopqrstuvwXyz'
+ \ ], getline(1, 9))
+ call assert_equal([
+ \ 'line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ], readfile('test.out'))
+
+ augroup Test4
+ au!
+ augroup END
+ set shelltemp&vim
+
+ " Test for the FileReadPre and FileReadPost autocmds.
+ augroup Test5
+ au!
+ au FileReadPre *.gz exe 'silent !gzip -d ' .
shellescape(expand("<afile>"))
+ au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
+ au FileReadPost *.gz '[,']s/l/L/
+ augroup END
+
+ new
+ 0r Xtestfile.gz " Read compressed file
+ call assert_equal([
+ \ 'Line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'Line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'Line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'Line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'Line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'Line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'Line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'Line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'Line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ], getline(1, 9))
+ call assert_equal([
+ \ 'line 2 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 4 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 6 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 8 Abcdefghijklmnopqrstuvwxyz',
+ \ 'line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
+ \ 'line 10 Abcdefghijklmnopqrstuvwxyz'
+ \ ], readfile('Xtestfile.gz'))
+
+ augroup Test5
+ au!
+ augroup END
+
+ au! FileChangedShell
+ call delete('Xtestfile.gz')
+ call delete('Xtest.c')
+ call delete('test.out')
+ endfunc
*** ../vim-8.1.1202/src/version.c 2019-04-25 20:07:44.171328174 +0200
--- src/version.c 2019-04-25 20:25:59.985374027 +0200
***************
*** 773,774 ****
--- 773,776 ----
{ /* Add new patch number below this line */
+ /**/
+ 1203,
/**/
--
A real patriot is the fellow who gets a parking ticket and rejoices
that the system works.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.