mirror of
https://github.com/neovim/neovim.git
synced 2025-10-04 17:06:30 +00:00
tests: Migrate legacy test 45.
This commit is contained in:
@@ -15,7 +15,7 @@ SCRIPTS := \
|
||||
test30.out \
|
||||
test32.out test34.out \
|
||||
test36.out test37.out test40.out \
|
||||
test42.out test45.out \
|
||||
test42.out \
|
||||
test47.out test48.out test49.out \
|
||||
test52.out test53.out test55.out \
|
||||
test64.out \
|
||||
|
@@ -1,90 +0,0 @@
|
||||
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="ii" fold contains=Fd1,Fd2,Fd3
|
||||
:syn region Fd1 start="ee" end="ff" fold contained
|
||||
:syn region Fd2 start="gg" end="hh" fold contained
|
||||
:syn region Fd3 start="commentstart" end="commentend" fold contained
|
||||
Gzk:call append("$", "folding " . getline("."))
|
||||
k:call append("$", getline("."))
|
||||
jAcommentstart Acommentend:set fdl=1
|
||||
3j:call append("$", getline("."))
|
||||
:set fdl=0
|
||||
zOj: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
|
||||
:delfun Flvl
|
||||
:new
|
||||
iTest fdm=indent and :move bug END
|
||||
line2
|
||||
Test fdm=indent START
|
||||
line3
|
||||
line4
|
||||
:set fdm=indent
|
||||
:1m1
|
||||
2jzc:m0
|
||||
:%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
|
@@ -1,23 +0,0 @@
|
||||
manual 1 aa
|
||||
-1
|
||||
3 cc
|
||||
1 aa
|
||||
marker 2
|
||||
1
|
||||
1
|
||||
0
|
||||
indent 2
|
||||
1
|
||||
folding 9 ii
|
||||
3 cc
|
||||
7 gg
|
||||
8 hh
|
||||
expr 2
|
||||
1
|
||||
2
|
||||
0
|
||||
Test fdm=indent START
|
||||
line3
|
||||
line4
|
||||
Test fdm=indent and :move bug END
|
||||
line2
|
117
test/functional/legacy/045_folding_spec.lua
Normal file
117
test/functional/legacy/045_folding_spec.lua
Normal file
@@ -0,0 +1,117 @@
|
||||
-- Tests for folding.
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local feed, insert, clear, execute, expect =
|
||||
helpers.feed, helpers.insert, helpers.clear, helpers.execute, helpers.expect
|
||||
|
||||
describe('folding', function()
|
||||
setup(clear)
|
||||
|
||||
it('is working', function()
|
||||
insert([[
|
||||
1 aa
|
||||
2 bb
|
||||
3 cc
|
||||
4 dd {{{
|
||||
5 ee {{{ }}}
|
||||
6 ff }}}
|
||||
7 gg
|
||||
8 hh
|
||||
9 ii
|
||||
a jj
|
||||
b kk
|
||||
last]])
|
||||
|
||||
-- Basic test if a fold can be created, opened, moving to the end and
|
||||
-- closed.
|
||||
execute('/^1')
|
||||
feed('zf2j')
|
||||
execute('call append("$", "manual " . getline(foldclosed(".")))')
|
||||
feed('zo')
|
||||
execute('call append("$", foldclosed("."))')
|
||||
feed(']z')
|
||||
execute('call append("$", getline("."))')
|
||||
feed('zc')
|
||||
execute('call append("$", getline(foldclosed(".")))')
|
||||
-- Test folding with markers.
|
||||
execute('set fdm=marker fdl=1 fdc=3')
|
||||
execute('/^5')
|
||||
execute('call append("$", "marker " . foldlevel("."))')
|
||||
feed('[z')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
feed('jo{{ <esc>r{jj')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
feed('kYpj')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
-- Test folding with indent.
|
||||
execute('set fdm=indent sw=2')
|
||||
execute('/^2 b')
|
||||
feed('i <esc>jI <esc>')
|
||||
execute('call append("$", "indent " . foldlevel("."))')
|
||||
feed('k')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
-- Test syntax folding.
|
||||
execute('set fdm=syntax fdl=0')
|
||||
execute('syn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3')
|
||||
execute('syn region Fd1 start="ee" end="ff" fold contained')
|
||||
execute('syn region Fd2 start="gg" end="hh" fold contained')
|
||||
execute('syn region Fd3 start="commentstart" end="commentend" fold contained')
|
||||
feed('Gzk')
|
||||
execute('call append("$", "folding " . getline("."))')
|
||||
feed('k')
|
||||
execute('call append("$", getline("."))')
|
||||
feed('jAcommentstart <esc>Acommentend<esc>')
|
||||
execute('set fdl=1')
|
||||
feed('3j')
|
||||
execute('call append("$", getline("."))')
|
||||
execute('set fdl=0')
|
||||
feed('zO<C-L>j')
|
||||
execute('call append("$", getline("."))')
|
||||
-- Test expression folding.
|
||||
execute('fun Flvl()')
|
||||
execute(' let l = getline(v:lnum)')
|
||||
execute(' if l =~ "bb$"')
|
||||
execute(' return 2')
|
||||
execute(' elseif l =~ "gg$"')
|
||||
execute(' return "s1"')
|
||||
execute(' elseif l =~ "ii$"')
|
||||
execute(' return ">2"')
|
||||
execute(' elseif l =~ "kk$"')
|
||||
execute(' return "0"')
|
||||
execute(' endif')
|
||||
execute(' return "="')
|
||||
execute('endfun')
|
||||
execute('set fdm=expr fde=Flvl()')
|
||||
execute('/bb$')
|
||||
execute('call append("$", "expr " . foldlevel("."))')
|
||||
execute('/hh$')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
execute('/ii$')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
execute('/kk$')
|
||||
execute('call append("$", foldlevel("."))')
|
||||
execute('0,/^last/delete')
|
||||
execute('delfun Flvl')
|
||||
|
||||
-- Assert buffer contents.
|
||||
expect([[
|
||||
manual 1 aa
|
||||
-1
|
||||
3 cc
|
||||
1 aa
|
||||
marker 2
|
||||
1
|
||||
1
|
||||
0
|
||||
indent 2
|
||||
1
|
||||
folding 9 ii
|
||||
3 cc
|
||||
7 gg
|
||||
8 hh
|
||||
expr 2
|
||||
1
|
||||
2
|
||||
0]])
|
||||
end)
|
||||
end)
|
Reference in New Issue
Block a user