diff options
Diffstat (limited to 'src/testdir/test11.in')
-rw-r--r-- | src/testdir/test11.in | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/testdir/test11.in b/src/testdir/test11.in new file mode 100644 index 000000000..6b296fd4e --- /dev/null +++ b/src/testdir/test11.in @@ -0,0 +1,77 @@ +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 will fail 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 +: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 +gg/^end of testfile +:/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 !gzip -d <afile> +:au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>")) +:au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r")) +:au BufReadPost *.gz !gzip <afile>:r +:e! Xtestfile.gz " Edit compressed file +:w>>test.out " Append it to the output file +:au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>").".t") +:au FilterReadPre *.out !sed s/e/E/ <afile>.t ><afile> +:au FilterReadPre *.out !rm <afile>.t +:au FilterReadPost *.out '[,']s/x/X/g +:e! test.out " Edit the output file +:23,$!cat +:au! FileReadPre *.gz !gzip -d <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 |