1
0
forked from aniani/vim
Files
vim/src/testdir/test_interrupt.vim
Bram Moolenaar 67a2deb9cb patch 8.1.2341: not so easy to interrupt a script programatically
Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes #2834)
2019-11-25 00:05:32 +01:00

28 lines
576 B
VimL

" Test behavior of interrupt()
let s:bufwritepre_called = 0
let s:bufwritepost_called = 0
func s:bufwritepre()
let s:bufwritepre_called = 1
call interrupt()
endfunction
func s:bufwritepost()
let s:bufwritepost_called = 1
endfunction
func Test_interrupt()
new Xfile
let n = 0
try
au BufWritePre Xfile call s:bufwritepre()
au BufWritePost Xfile call s:bufwritepost()
w!
catch /^Vim:Interrupt$/
endtry
call assert_equal(1, s:bufwritepre_called)
call assert_equal(0, s:bufwritepost_called)
call assert_equal(0, filereadable('Xfile'))
endfunc