Bram Moolenaar | 67a2deb | 2019-11-25 00:05:32 +0100 | [diff] [blame] | 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() |
Bram Moolenaar | 8d64206 | 2022-06-18 11:54:47 +0100 | [diff] [blame] | 16 | new Xinterrupt |
Bram Moolenaar | 67a2deb | 2019-11-25 00:05:32 +0100 | [diff] [blame] | 17 | let n = 0 |
| 18 | try |
Bram Moolenaar | 8d64206 | 2022-06-18 11:54:47 +0100 | [diff] [blame] | 19 | au BufWritePre Xinterrupt call s:bufwritepre() |
| 20 | au BufWritePost Xinterrupt call s:bufwritepost() |
Bram Moolenaar | 67a2deb | 2019-11-25 00:05:32 +0100 | [diff] [blame] | 21 | w! |
| 22 | catch /^Vim:Interrupt$/ |
| 23 | endtry |
| 24 | call assert_equal(1, s:bufwritepre_called) |
| 25 | call assert_equal(0, s:bufwritepost_called) |
Bram Moolenaar | 8d64206 | 2022-06-18 11:54:47 +0100 | [diff] [blame] | 26 | call assert_equal(0, filereadable('Xinterrupt')) |
| 27 | |
| 28 | au! BufWritePre |
| 29 | au! BufWritePost |
Bram Moolenaar | 67a2deb | 2019-11-25 00:05:32 +0100 | [diff] [blame] | 30 | endfunc |
Bram Moolenaar | 6d91bcb | 2020-08-12 18:50:36 +0200 | [diff] [blame] | 31 | |
| 32 | " vim: shiftwidth=2 sts=2 expandtab |