diff options
Diffstat (limited to 'src/testdir/test45.in')
-rw-r--r-- | src/testdir/test45.in | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/testdir/test45.in b/src/testdir/test45.in new file mode 100644 index 000000000..58537f33d --- /dev/null +++ b/src/testdir/test45.in @@ -0,0 +1,72 @@ +Tests for folding. vim: set ft=vim : + +STARTTEST +:so small.vim +:" We also need the +syntax feature here. +:if !has("syntax") + e! test.ok + w! test.out + qa! +:endif +:" basic test if a fold can be created, opened, moving to the end and closed +/^1 +zf2j:call append("$", "manual " . getline(foldclosed("."))) +zo:call append("$", foldclosed(".")) +]z:call append("$", getline(".")) +zc:call append("$", getline(foldclosed("."))) +:" test folding with markers. +:set fdm=marker fdl=1 fdc=3 +/^5 +:call append("$", "marker " . foldlevel(".")) +[z:call append("$", foldlevel(".")) +jo{{ r{jj:call append("$", foldlevel(".")) +kYpj:call append("$", foldlevel(".")) +:" test folding with indent +:set fdm=indent sw=2 +/^2 b +i jI :call append("$", "indent " . foldlevel(".")) +k:call append("$", foldlevel(".")) +:" test syntax folding +:set fdm=syntax fdl=0 +:syn region Hup start="dd" end="hh" fold +Gzk:call append("$", "folding " . getline(".")) +k:call append("$", getline(".")) +:" test expression folding +:fun Flvl() + let l = getline(v:lnum) + if l =~ "bb$" + return 2 + elseif l =~ "gg$" + return "s1" + elseif l =~ "ii$" + return ">2" + elseif l =~ "kk$" + return "0" + endif + return "=" +endfun +:set fdm=expr fde=Flvl() +/bb$ +:call append("$", "expr " . foldlevel(".")) +/hh$ +:call append("$", foldlevel(".")) +/ii$ +:call append("$", foldlevel(".")) +/kk$ +:call append("$", foldlevel(".")) +:/^last/+1,$w! test.out +:qa! +ENDTEST + +1 aa +2 bb +3 cc +4 dd {{{ +5 ee {{{ }}} +6 ff }}} +7 gg +8 hh +9 ii +a jj +b kk +last |