Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | Tests for folding. vim: set ft=vim : |
| 2 | |
| 3 | STARTTEST |
| 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 |
| 13 | zf2j:call append("$", "manual " . getline(foldclosed("."))) |
| 14 | zo:call append("$", foldclosed(".")) |
| 15 | ]z:call append("$", getline(".")) |
| 16 | zc: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(".")) |
| 22 | jo{{ r{jj:call append("$", foldlevel(".")) |
| 23 | kYpj:call append("$", foldlevel(".")) |
| 24 | :" test folding with indent |
| 25 | :set fdm=indent sw=2 |
| 26 | /^2 b |
| 27 | i jI :call append("$", "indent " . foldlevel(".")) |
| 28 | k:call append("$", foldlevel(".")) |
| 29 | :" test syntax folding |
| 30 | :set fdm=syntax fdl=0 |
| 31 | :syn region Hup start="dd" end="hh" fold |
| 32 | Gzk:call append("$", "folding " . getline(".")) |
| 33 | k:call append("$", getline(".")) |
| 34 | :" test expression folding |
| 35 | :fun Flvl() |
| 36 | let l = getline(v:lnum) |
| 37 | if l =~ "bb$" |
| 38 | return 2 |
| 39 | elseif l =~ "gg$" |
| 40 | return "s1" |
| 41 | elseif l =~ "ii$" |
| 42 | return ">2" |
| 43 | elseif l =~ "kk$" |
| 44 | return "0" |
| 45 | endif |
| 46 | return "=" |
| 47 | endfun |
| 48 | :set fdm=expr fde=Flvl() |
| 49 | /bb$ |
| 50 | :call append("$", "expr " . foldlevel(".")) |
| 51 | /hh$ |
| 52 | :call append("$", foldlevel(".")) |
| 53 | /ii$ |
| 54 | :call append("$", foldlevel(".")) |
| 55 | /kk$ |
| 56 | :call append("$", foldlevel(".")) |
| 57 | :/^last/+1,$w! test.out |
Bram Moolenaar | 9d2c8c1 | 2007-09-25 16:00:00 +0000 | [diff] [blame] | 58 | :delfun Flvl |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 59 | :qa! |
| 60 | ENDTEST |
| 61 | |
| 62 | 1 aa |
| 63 | 2 bb |
| 64 | 3 cc |
| 65 | 4 dd {{{ |
| 66 | 5 ee {{{ }}} |
| 67 | 6 ff }}} |
| 68 | 7 gg |
| 69 | 8 hh |
| 70 | 9 ii |
| 71 | a jj |
| 72 | b kk |
| 73 | last |