gundo.vim/tests/test-toggle.vim

129 lines
3.3 KiB
VimL

let s:cpo_save=&cpo
set cpo&vim
UTSuite [Gundo] Testing Toggling
function! s:Setup()"{{{
exec 'edit test'
call g:Goto('test')
endfunction"}}}
function! s:Teardown()"{{{
if bufwinnr(bufnr('__Gundo__')) != -1
exec bufwinnr(bufnr('__Gundo__')) . 'wincmd w'
quit
endif
if bufwinnr(bufnr('__Gundo_Preview__')) != -1
exec bufwinnr(bufnr('__Gundo_Preview__')) . 'wincmd w'
quit
endif
if bufnr('__Gundo__') != -1
exec 'bwipeout ' . bufnr('__Gundo__')
endif
if bufnr('__Gundo_Preview__') != -1
exec 'bwipeout ' . bufnr('__Gundo_Preview__')
endif
if bufnr('test') != -1
exec 'bwipeout ' . bufnr('test')
endif
if bufnr('test2') != -1
exec 'bwipeout ' . bufnr('test2')
endif
endfunction"}}}
function! s:TestToggleBasic()"{{{
" Make sure we're starting from scratch.
Assert bufnr('__Gundo__') == -1
Assert bufnr('__Gundo_Preview__') == -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
" Open Gundo
GundoToggle
" Buffers and windows should exist.
Assert bufnr('__Gundo__') != -1
Assert bufnr('__Gundo_Preview__') != -1
Assert bufwinnr(bufnr('__Gundo__')) != -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) != -1
" We should be in the Gundo pane.
Assert expand('%') == '__Gundo__'
" Close Gundo
GundoToggle
" Windows should have been closed, but buffers should remain.
Assert bufnr('__Gundo__') != -1
Assert bufnr('__Gundo_Preview__') != -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
endfunction"}}}
function! s:TestToggleWhenMoved()"{{{
" Make sure we're starting from scratch.
Assert bufnr('__Gundo__') == -1
Assert bufnr('__Gundo_Preview__') == -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
" Open Gundo
GundoToggle
call g:Goto('test')
Assert expand('%') == 'test'
" Close Gundo
GundoToggle
" Windows should have been closed, but buffers should remain.
Assert bufnr('__Gundo__') != -1
Assert bufnr('__Gundo_Preview__') != -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
" Open Gundo
GundoToggle
call g:Goto('__Gundo_Preview__')
Assert expand('%') == '__Gundo_Preview__'
" Close Gundo
GundoToggle
" Windows should have been closed, but buffers should remain.
Assert bufnr('__Gundo__') != -1
Assert bufnr('__Gundo_Preview__') != -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
endfunction"}}}
function! s:TestToggleReturnToTarget()"{{{
" Make sure we're starting from scratch.
Assert bufnr('__Gundo__') == -1
Assert bufnr('__Gundo_Preview__') == -1
Assert bufwinnr(bufnr('__Gundo__')) == -1
Assert bufwinnr(bufnr('__Gundo_Preview__')) == -1
exec 'new test2'
call g:Goto('test')
" Toggle Gundo
GundoToggle
GundoToggle
" We should be returned to test
Assert expand('%') == 'test'
" Move to test2
call g:Goto('test2')
" Toggle Gundo
GundoToggle
GundoToggle
" We should be returned to test2
Assert expand('%') == 'test2'
endfunction"}}}
let &cpo=s:cpo_save