timers: do not crash after processing events in the handler

This commit is contained in:
Björn Linse
2016-08-08 17:51:57 +02:00
parent db375102ea
commit 0a51d26b33
2 changed files with 29 additions and 3 deletions

View File

@@ -119,6 +119,21 @@ describe('timers', function()
eq(2,eval("g:val2"))
end)
it('do not crash when processing events in the handler', function()
source([[
let g:val = 0
func! MyHandler(timer)
call timer_stop(a:timer)
sleep 100m
let g:val += 1
endfunc
]])
execute("call timer_start(5, 'MyHandler', {'repeat': 1})")
run(nil, nil, nil, 300)
eq(1,eval("g:val"))
end)
it("doesn't mess up the cmdline", function()
local screen = Screen.new(40, 6)
screen:attach()