Explicitly reset s:-variables during test

This commit is contained in:
Junegunn Choi 2015-05-28 12:34:43 +09:00
parent 7760f1c22b
commit 2ed1f27aa2
3 changed files with 27 additions and 0 deletions

View file

@ -34,6 +34,7 @@ Execute (#130 Proper cleanup of on-demand loading triggers):
augroup END
" Cleared on command
call ReloadPlug()
call plug#begin('$TMPDIR/plugged')
Plug 'junegunn/vim-emoji', { 'on': ['EmojiCommand', 'EmojiCommand2', '<Plug>(EmojiMapping)'] }
call plug#end()
@ -50,6 +51,7 @@ Execute (#130 Proper cleanup of on-demand loading triggers):
Assert empty(mapcheck('<Plug>(EmojiMapping)')), '<Plug>(EmojiMapping) defined'
" Cleared on FileType
call ReloadPlug()
call plug#begin('$TMPDIR/plugged')
Plug 'junegunn/vim-emoji', { 'on': ['EmojiCommandExtra', '<Plug>(EmojiMappingExtra)'], 'for': ['emoji'] }
call plug#end()
@ -189,6 +191,7 @@ Execute (#145: Merging on-demand loading triggers - cmd):
Execute (#145: Merging on-demand loading triggers - map):
unlet! g:xxx g:yyy
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx', { 'on': '<Plug>(xxx)' }
Plug '$PLUG_FIXTURES/yyy', { 'on': ['<Plug>(xxx)' ,'<Plug>(yyy)' ] }

View file

@ -39,6 +39,19 @@ Execute (Initialize test environment):
endif
endfunction
" Reload vim-plug to reset s:-variables
function! ReloadPlug()
let tmp = tempname()
try
call writefile(readfile(globpath(&rtp, 'autoload/plug.vim')), tmp)
unlet g:loaded_plug
execute 'source' tmp
let &rtp = g:basertp
finally
call delete(tmp)
endtry
endfunction
Execute (Print Interpreter Version):
redir => out
if has('ruby')
@ -66,6 +79,7 @@ Execute (Cleanup):
silent! delf AssertExpect
silent! delf PlugUpdated
silent! delf EnsureLoaded
silent! delf ReloadPlug
silent! delc AssertExpect
silent! unmap /
silent! unmap ?

View file

@ -354,6 +354,7 @@ Execute (Reuse Plug window in another tab):
**********************************************************************
Execute (Trying to execute on-demand commands when plugin is not installed):
call ReloadPlug()
call plug#begin()
Plug 'junegunn/vim-easy-align', { 'on': ['EasyAlign', 'LiveEasyAlign'] }
call plug#end()
@ -366,6 +367,7 @@ Execute (Trying to execute on-demand commands when plugin is not installed):
Assert !exists(':LiveEasyAlign')
Execute (New set of plugins):
call ReloadPlug()
call plug#begin()
Plug 'junegunn/vim-fnr'
Plug 'junegunn/vim-pseudocl'
@ -778,6 +780,7 @@ Before (Clear global vars):
set rtp-=$PLUG_FIXTURES/xxx/after
Execute (Immediate loading):
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx'
call plug#end()
@ -792,6 +795,7 @@ Execute (Immediate loading):
endif
Execute (Command-based on-demand loading):
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx', { 'on': 'XXX' }
call plug#end()
@ -805,6 +809,7 @@ Execute (Command-based on-demand loading):
AssertEqual ['xxx/ftdetect', 'xxx/after/ftdetect', 'xxx/plugin', 'xxx/after/plugin', 'xxx/ftplugin', 'xxx/after/ftplugin', 'xxx/indent', 'xxx/after/indent', 'xxx/syntax', 'xxx/after/syntax'], g:xxx
Execute (Filetype-based on-demand loading):
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx', { 'for': 'xxx' }
call plug#end()
@ -1006,6 +1011,7 @@ Execute (Plug directory with comma):
**********************************************************************
Execute (Strict load order):
let g:total_order = []
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx'
Plug '$PLUG_FIXTURES/yyy', { 'for': ['xxx'] }
@ -1019,6 +1025,7 @@ Execute (Strict load order):
let len = len(split(&rtp, ','))
let g:total_order = []
call ReloadPlug()
call plug#begin()
Plug '$PLUG_FIXTURES/xxx', { 'for': ['xxx'] }
Plug '$PLUG_FIXTURES/yyy'
@ -1036,6 +1043,9 @@ Execute (Strict load order):
AssertEqual len + 2, len(split(&rtp, ','))
let g:total_order = []
call ReloadPlug()
set rtp^=manually-prepended
set rtp+=manually-appended
call plug#begin()
Plug '$PLUG_FIXTURES/xxx', { 'for': ['xxx'] }
Plug '$PLUG_FIXTURES/yyy', { 'for': ['xxx'] }