167a2deb9SBram Moolenaar" Test behavior of interrupt()
267a2deb9SBram Moolenaar
367a2deb9SBram Moolenaarlet s:bufwritepre_called = 0
467a2deb9SBram Moolenaarlet s:bufwritepost_called = 0
567a2deb9SBram Moolenaar
667a2deb9SBram Moolenaarfunc s:bufwritepre()
767a2deb9SBram Moolenaar  let s:bufwritepre_called = 1
867a2deb9SBram Moolenaar  call interrupt()
967a2deb9SBram Moolenaarendfunction
1067a2deb9SBram Moolenaar
1167a2deb9SBram Moolenaarfunc s:bufwritepost()
1267a2deb9SBram Moolenaar  let s:bufwritepost_called = 1
1367a2deb9SBram Moolenaarendfunction
1467a2deb9SBram Moolenaar
1567a2deb9SBram Moolenaarfunc Test_interrupt()
1667a2deb9SBram Moolenaar  new Xfile
1767a2deb9SBram Moolenaar  let n = 0
1867a2deb9SBram Moolenaar  try
1967a2deb9SBram Moolenaar    au BufWritePre Xfile call s:bufwritepre()
2067a2deb9SBram Moolenaar    au BufWritePost Xfile call s:bufwritepost()
2167a2deb9SBram Moolenaar    w!
2267a2deb9SBram Moolenaar  catch /^Vim:Interrupt$/
2367a2deb9SBram Moolenaar  endtry
2467a2deb9SBram Moolenaar  call assert_equal(1, s:bufwritepre_called)
2567a2deb9SBram Moolenaar  call assert_equal(0, s:bufwritepost_called)
2667a2deb9SBram Moolenaar  call assert_equal(0, filereadable('Xfile'))
2767a2deb9SBram Moolenaarendfunc
28*6d91bcb4SBram Moolenaar
29*6d91bcb4SBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
30