neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

test_interrupt.vim (671B)


      1 " Test behavior of interrupt()
      2 
      3 let s:bufwritepre_called = 0
      4 let s:bufwritepost_called = 0
      5 
      6 func s:bufwritepre()
      7  let s:bufwritepre_called = 1
      8  call interrupt()
      9 endfunction
     10 
     11 func s:bufwritepost()
     12  let s:bufwritepost_called = 1
     13 endfunction
     14 
     15 func Test_interrupt()
     16  new Xinterrupt
     17  let n = 0
     18  try
     19    au BufWritePre Xinterrupt call s:bufwritepre()
     20    au BufWritePost Xinterrupt call s:bufwritepost()
     21    w!
     22  catch /^Vim:Interrupt$/
     23  endtry
     24  call assert_equal(1, s:bufwritepre_called)
     25  call assert_equal(0, s:bufwritepost_called)
     26  call assert_equal(0, filereadable('Xinterrupt'))
     27 
     28  au! BufWritePre
     29  au! BufWritePost
     30 endfunc
     31 
     32 " vim: shiftwidth=2 sts=2 expandtab