diff src/testdir/test11.in @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 293621502c4d
line wrap: on
line diff
new file mode 100644
--- /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