blob: 1dfad5454fc4e7cbec72614f978219c8a4774f61 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001Tests for folding. vim: set ft=vim :
2
3STARTTEST
4:so small.vim
5:" We also need the +syntax feature here.
6:if !has("syntax")
7 e! test.ok
8 w! test.out
9 qa!
10:endif
11:" basic test if a fold can be created, opened, moving to the end and closed
12/^1
13zf2j:call append("$", "manual " . getline(foldclosed(".")))
14zo:call append("$", foldclosed("."))
15]z:call append("$", getline("."))
16zc:call append("$", getline(foldclosed(".")))
17:" test folding with markers.
18:set fdm=marker fdl=1 fdc=3
19/^5
20:call append("$", "marker " . foldlevel("."))
21[z:call append("$", foldlevel("."))
22jo{{ r{jj:call append("$", foldlevel("."))
23kYpj:call append("$", foldlevel("."))
24:" test folding with indent
25:set fdm=indent sw=2
26/^2 b
27i jI :call append("$", "indent " . foldlevel("."))
28k:call append("$", foldlevel("."))
29:" test syntax folding
30:set fdm=syntax fdl=0
Bram Moolenaarec986472009-11-03 13:46:54 +000031:syn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3
32:syn region Fd1 start="ee" end="ff" fold contained
33:syn region Fd2 start="gg" end="hh" fold contained
34:syn region Fd3 start="commentstart" end="commentend" fold contained
Bram Moolenaar071d4272004-06-13 20:20:40 +000035Gzk:call append("$", "folding " . getline("."))
36k:call append("$", getline("."))
Bram Moolenaarec986472009-11-03 13:46:54 +000037jAcommentstart Acommentend:set fdl=1
383j:call append("$", getline("."))
Bram Moolenaar071d4272004-06-13 20:20:40 +000039:" test expression folding
40:fun Flvl()
41 let l = getline(v:lnum)
42 if l =~ "bb$"
43 return 2
44 elseif l =~ "gg$"
45 return "s1"
46 elseif l =~ "ii$"
47 return ">2"
48 elseif l =~ "kk$"
49 return "0"
50 endif
51 return "="
52endfun
53:set fdm=expr fde=Flvl()
54/bb$
55:call append("$", "expr " . foldlevel("."))
56/hh$
57:call append("$", foldlevel("."))
58/ii$
59:call append("$", foldlevel("."))
60/kk$
61:call append("$", foldlevel("."))
62:/^last/+1,$w! test.out
Bram Moolenaar9d2c8c12007-09-25 16:00:00 +000063:delfun Flvl
Bram Moolenaar071d4272004-06-13 20:20:40 +000064:qa!
65ENDTEST
66
671 aa
682 bb
693 cc
704 dd {{{
715 ee {{{ }}}
726 ff }}}
737 gg
748 hh
759 ii
76a jj
77b kk
78last