blob: 510ed7236a51e3c472786ad27194395bbde493ca [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001Tests for autocommands:
2- FileWritePre writing a compressed file
3- FileReadPost reading a compressed file
4- BufNewFile reading a file template
5- BufReadPre decompressing the file to be read
6- FilterReadPre substituting characters in the temp file
7- FilterReadPost substituting characters after filtering
8- FileReadPre set options for decompression
9- FileReadPost decompress the file
10
11Note: This test will fail if "gzip" is not available.
12$GZIP is made empty, "-v" would cause trouble.
13Use a FileChangedShell autocommand to avoid a prompt for "Xtestfile.gz" being
14modified outside of Vim (noticed on Solaris).
15
16STARTTEST
17:so small.vim
18:let $GZIP = ""
19:au FileChangedShell * echo "caught FileChangedShell"
20:set bin
21:au FileWritePre *.gz '[,']!gzip
22:au FileWritePost *.gz undo
Bram Moolenaarab79bcb2004-07-18 21:34:53 +000023:/^start of testfile/,/^end of testfile/w! Xtestfile.gz
Bram Moolenaar071d4272004-06-13 20:20:40 +000024:au FileReadPost *.gz '[,']!gzip -d
25:$r Xtestfile.gz " Read and decompress the testfile
26:?startstart?,$w! test.out " Write contents of this file
27:au BufNewFile *.c read Xtest.c
Bram Moolenaarab79bcb2004-07-18 21:34:53 +000028:/^start of test.c/+1,/^end of test.c/-1w! Xtest.c
Bram Moolenaar071d4272004-06-13 20:20:40 +000029:e! foo.c " Will load Xtest.c
30:au FileAppendPre *.out '[,']s/new/NEW/
31:au FileAppendPost *.out !cat Xtest.c >>test.out
32:w>>test.out " Append it to the output file
33:au! FileAppendPre
34:" setup autocommands to decompress before reading and re-compress afterwards
35:au BufReadPre *.gz !gzip -d <afile>
36:au BufReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
37:au BufReadPost *.gz call rename(expand("<afile>"), expand("<afile>:r"))
38:au BufReadPost *.gz !gzip <afile>:r
39:e! Xtestfile.gz " Edit compressed file
40:w>>test.out " Append it to the output file
41:au FilterReadPre *.out call rename(expand("<afile>"), expand("<afile>").".t")
42:au FilterReadPre *.out !sed s/e/E/ <afile>.t ><afile>
43:au FilterReadPre *.out !rm <afile>.t
44:au FilterReadPost *.out '[,']s/x/X/g
45:e! test.out " Edit the output file
46:23,$!cat
47:au! FileReadPre *.gz !gzip -d <afile>
48:au FileReadPre *.gz call rename(expand("<afile>:r"), expand("<afile>"))
49:au! FileReadPost *.gz '[,']s/l/L/
50:$r Xtestfile.gz " Read compressed file
51:w " write it, after filtering
52:au! " remove all autocommands
53:e " Edit test.out again
54:set nobin ff& " use the default fileformat for writing
55:w
56:qa!
57ENDTEST
58
59startstart
60start of testfile
61line 2 Abcdefghijklmnopqrstuvwxyz
62line 3 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
63line 4 Abcdefghijklmnopqrstuvwxyz
64line 5 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
65line 6 Abcdefghijklmnopqrstuvwxyz
66line 7 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
67line 8 Abcdefghijklmnopqrstuvwxyz
68line 9 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
69line 10 Abcdefghijklmnopqrstuvwxyz
70end of testfile
71
72start of test.c
73/*
74 * Here is a new .c file
75 */
76end of test.c