blob: aa7f634302e758f2c64af6f1d69d5cd2252f1dc5 [file] [log] [blame]
Bram Moolenaar67a2deb2019-11-25 00:05:32 +01001" Test behavior of interrupt()
2
3let s:bufwritepre_called = 0
4let s:bufwritepost_called = 0
5
6func s:bufwritepre()
7 let s:bufwritepre_called = 1
8 call interrupt()
9endfunction
10
11func s:bufwritepost()
12 let s:bufwritepost_called = 1
13endfunction
14
15func Test_interrupt()
Bram Moolenaar8d642062022-06-18 11:54:47 +010016 new Xinterrupt
Bram Moolenaar67a2deb2019-11-25 00:05:32 +010017 let n = 0
18 try
Bram Moolenaar8d642062022-06-18 11:54:47 +010019 au BufWritePre Xinterrupt call s:bufwritepre()
20 au BufWritePost Xinterrupt call s:bufwritepost()
Bram Moolenaar67a2deb2019-11-25 00:05:32 +010021 w!
22 catch /^Vim:Interrupt$/
23 endtry
24 call assert_equal(1, s:bufwritepre_called)
25 call assert_equal(0, s:bufwritepost_called)
Bram Moolenaar8d642062022-06-18 11:54:47 +010026 call assert_equal(0, filereadable('Xinterrupt'))
27
28 au! BufWritePre
29 au! BufWritePost
Bram Moolenaar67a2deb2019-11-25 00:05:32 +010030endfunc
Bram Moolenaar6d91bcb2020-08-12 18:50:36 +020031
32" vim: shiftwidth=2 sts=2 expandtab