1
2First a simple test to check if the test script works.
3
4If Vim was not compiled with the +eval feature, the small.vim script will be
5set to copy the test.ok file to test.out, so that it looks like the test
6succeeded.  Otherwise an empty small.vim is written.  small.vim is sourced by
7tests that require the +eval feature or other features that are missing in the
8small version.
9
10If Vim was not compiled with the +windows feature, the tiny.vim script will be
11set like small.vim above.  tiny.vim is sourced by tests that require the
12+windows feature or other features that are missing in the tiny version.
13
14If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will
15be set like small.vim above.  mbyte.vim is sourced by tests that require the
16+multi_byte feature.
17Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
18
19STARTTEST
20:" Write a single line to test.out to check if testing works at all.
21:%d
22athis is a test:w! test.out
23:" Create small.vim and tiny.vim empty, create mbyte.vim to skip the test.
240D:w! small.vim
25:w! tiny.vim
26ae! test.ok
27w! test.out
28qa!
29:w! mbyte.vim
30:w! mzscheme.vim
31:" If +multi_byte feature supported, make mbyte.vim empty.
32:if has("multi_byte") | sp another | w! mbyte.vim | q | endif
33:" If +mzscheme feature supported, make mzscheme.vim empty.
34:if has("mzscheme") | sp another | w! mzscheme.vim | q | endif
35:" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
36:" Otherwise write small.vim to skip the test.
37:if 1 | q! | endif
38:w! small.vim
39:" If +windows feature not supported :sp will fail and tiny.vim will be
40:" written to skip the test.
41:sp another
42:wq! tiny.vim
43:qa!
44ENDTEST
45
46