2016-03-26 21:00:08 +01:00
|
|
|
" Tests for autocommands
|
|
|
|
|
|
|
|
func Test_vim_did_enter()
|
|
|
|
call assert_false(v:vim_did_enter)
|
|
|
|
|
|
|
|
" This script will never reach the main loop, can't check if v:vim_did_enter
|
|
|
|
" becomes one.
|
|
|
|
endfunc
|
2016-04-20 20:18:23 +02:00
|
|
|
|
2016-05-24 16:07:40 +02:00
|
|
|
if has('timers')
|
|
|
|
func ExitInsertMode(id)
|
|
|
|
call feedkeys("\<Esc>")
|
|
|
|
endfunc
|
|
|
|
|
|
|
|
func Test_cursorhold_insert()
|
|
|
|
let g:triggered = 0
|
|
|
|
au CursorHoldI * let g:triggered += 1
|
|
|
|
set updatetime=20
|
|
|
|
call timer_start(100, 'ExitInsertMode')
|
|
|
|
call feedkeys('a', 'x!')
|
|
|
|
call assert_equal(1, g:triggered)
|
|
|
|
endfunc
|
|
|
|
|
|
|
|
func Test_cursorhold_insert_ctrl_x()
|
|
|
|
let g:triggered = 0
|
|
|
|
au CursorHoldI * let g:triggered += 1
|
|
|
|
set updatetime=20
|
|
|
|
call timer_start(100, 'ExitInsertMode')
|
|
|
|
" CursorHoldI does not trigger after CTRL-X
|
|
|
|
call feedkeys("a\<C-X>", 'x!')
|
|
|
|
call assert_equal(0, g:triggered)
|
|
|
|
endfunc
|
2016-04-20 20:18:23 +02:00
|
|
|
endif
|
|
|
|
|
2016-05-24 16:07:40 +02:00
|
|
|
function Test_bufunload()
|
|
|
|
augroup test_bufunload_group
|
|
|
|
autocmd!
|
|
|
|
autocmd BufUnload * call add(s:li, "bufunload")
|
|
|
|
autocmd BufDelete * call add(s:li, "bufdelete")
|
|
|
|
autocmd BufWipeout * call add(s:li, "bufwipeout")
|
|
|
|
augroup END
|
2016-04-20 20:18:23 +02:00
|
|
|
|
2016-05-24 16:07:40 +02:00
|
|
|
let s:li=[]
|
|
|
|
new
|
|
|
|
setlocal bufhidden=
|
|
|
|
bunload
|
|
|
|
call assert_equal(["bufunload", "bufdelete"], s:li)
|
|
|
|
|
|
|
|
let s:li=[]
|
|
|
|
new
|
|
|
|
setlocal bufhidden=delete
|
|
|
|
bunload
|
|
|
|
call assert_equal(["bufunload", "bufdelete"], s:li)
|
|
|
|
|
|
|
|
let s:li=[]
|
|
|
|
new
|
|
|
|
setlocal bufhidden=unload
|
|
|
|
bwipeout
|
|
|
|
call assert_equal(["bufunload", "bufdelete", "bufwipeout"], s:li)
|
2016-04-20 20:18:23 +02:00
|
|
|
|
2016-05-24 16:07:40 +02:00
|
|
|
augroup! test_bufunload_group
|
2016-04-20 20:18:23 +02:00
|
|
|
endfunc
|