Stop the completion tests from failing randomly

This commit is contained in:
w0rp 2017-11-19 23:09:20 +00:00
parent cf599f4470
commit 5556fcbd1c
2 changed files with 14 additions and 3 deletions

View File

@ -282,6 +282,15 @@ function! s:TimerHandler(...) abort
endif endif
endfunction endfunction
" Stop any completion timer that is queued. This is useful for tests.
function! ale#completion#StopTimer() abort
if s:timer_id != -1
call timer_stop(s:timer_id)
endif
let s:timer_id = -1
endfunction
function! ale#completion#Queue() abort function! ale#completion#Queue() abort
let l:time = get(b:, 'ale_complete_done_time', 0) let l:time = get(b:, 'ale_complete_done_time', 0)
@ -298,9 +307,7 @@ function! ale#completion#Queue() abort
let b:ale_completion_info.request_id = 0 let b:ale_completion_info.request_id = 0
endif endif
if s:timer_id != -1 call ale#completion#StopTimer()
call timer_stop(s:timer_id)
endif
let s:timer_id = timer_start(g:ale_completion_delay, function('s:TimerHandler')) let s:timer_id = timer_start(g:ale_completion_delay, function('s:TimerHandler'))
endfunction endfunction

View File

@ -41,6 +41,10 @@ After:
delfunction CheckCompletionCalled delfunction CheckCompletionCalled
" Stop any timers we left behind.
" This stops the tests from failing randomly.
call ale#completion#StopTimer()
runtime autoload/ale/completion.vim runtime autoload/ale/completion.vim
runtime autoload/ale/lsp.vim runtime autoload/ale/lsp.vim