summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_interrupt.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_interrupt.vim')
-rw-r--r--src/testdir/test_interrupt.vim32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/testdir/test_interrupt.vim b/src/testdir/test_interrupt.vim
new file mode 100644
index 0000000..aa7f634
--- /dev/null
+++ b/src/testdir/test_interrupt.vim
@@ -0,0 +1,32 @@
+" 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 Xinterrupt
+ let n = 0
+ try
+ au BufWritePre Xinterrupt call s:bufwritepre()
+ au BufWritePost Xinterrupt 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('Xinterrupt'))
+
+ au! BufWritePre
+ au! BufWritePost
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab