1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 05:30:07 +08:00
SpaceVim/bundle/incsearch.vim/test/fold.vim
Wang Shidong cd6ea298f2
fix java neoformat config
* Add incsearch.vim into bundle dir

* Fix java neoformat config

close #3573

* Use echom instead in pull.vim
2020-06-13 21:58:05 +08:00

161 lines
4.1 KiB
VimL
Vendored

let s:suite = themis#suite('fold')
let s:assert = themis#helper('assert')
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
function! s:add_lines(lines)
for line in reverse(a:lines)
put! =line
endfor
endfunction
function! s:reset_buffer()
:1,$ delete
call s:add_lines(copy(s:line_texts))
normal! Gddgg0zt
endfunction
function! s:suite.before()
set foldmethod=marker
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
let s:line_texts = [
\ '1'
\ , '2'
\ , '3'
\ , '4fold {{{'
\ , '5 inner fold {{{'
\ , '6 destination'
\ , '7 }}}'
\ , '8}}}'
\ ]
call s:reset_buffer()
endfunction
function! s:suite.before_each()
:1
normal! zM
call s:assert.equals(foldclosed(6), 4)
endfunction
function! s:suite.after()
unmap /
unmap ?
unmap g/
:1,$ delete
set foldmethod&
endfunction
function! s:suite.unfold_after_search_forward_backward()
exec "normal" "/destination\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.unfold_after_search_forward_offset()
exec "normal" "/destination/e\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.unfold_after_search_backward()
exec "normal" "?destination\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.unfold_after_search_backward()
exec "normal" "?destination?e\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.do_not_unfold_after_just_stay()
exec "normal" "g/destination\<CR>"
call s:assert.equals(foldclosed(6), 4)
exec "normal" "g/destination/e\<CR>"
call s:assert.equals(foldclosed(6), 4)
endfunction
function! s:suite.unfold_after_exit_stay()
exec "normal" "g/destination\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.unfold_after_exit_stay_offset()
exec "normal" "g/destination/e\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), -1)
endfunction
function! s:suite.do_not_unfold_if_foldopen_does_not_contain_search()
set foldopen-=search
call s:assert.equals(foldclosed(6), 4)
exec "normal" "/destination\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "/destination/e\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "?destination\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "?destination?e\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "g/destination\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "g/destination/e\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
set foldopen&
endfunction
function! s:suite.unfold_if_foldopen_does_contain_all()
set foldopen=all
call s:assert.equals(foldclosed(6), 4)
exec "normal" "/destination\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
exec "normal" "/destination/e\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
exec "normal" "?destination\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
exec "normal" "?destination?e\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
exec "normal" "g/destination\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
exec "normal" "g/destination/e\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), -1)
normal! ggzM
set foldopen&
endfunction
function! s:suite.do_not_unfold_when_operator_pending()
set foldopen&
call s:assert.equals(foldclosed(6), 4)
exec "normal" "gu/destination\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "gu/destination/e\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "gu?destination\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "gu?destination?e\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "gug/destination\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), 4)
normal! gg
exec "normal" "gug/destination/e\<Tab>\<CR>"
call s:assert.equals(foldclosed(6), 4)
endfunction