patch 8.2.5049: insufficient tests for autocommands
Problem: Insufficient tests for autocommands.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507)
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 0aaa968..1a4ed1a 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -3384,6 +3384,12 @@
let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999,
\ cmd: 'echo "bufadd"'}]
call assert_fails("echo autocmd_add(l)", 'E680:')
+ let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999,
+ \ pattern: '*.py', cmd: 'echo "bufadd"'}]
+ call assert_fails("echo autocmd_add(l)", 'E680:')
+ let l = [#{group: 'TestAcSet', event: 'BufAdd', bufnr: 9999,
+ \ pattern: ['*.py', '*.c'], cmd: 'echo "bufadd"'}]
+ call assert_fails("echo autocmd_add(l)", 'E680:')
let l = [#{group: 'TestAcSet', event: 'BufRead', bufnr: [],
\ cmd: 'echo "bufread"'}]
call assert_fails("echo autocmd_add(l)", 'E745:')
@@ -3479,6 +3485,7 @@
" Test for invalid values for 'pattern' item
let l = [#{group: 'TestAcSet', event: "BufEnter",
\ pattern: test_null_string(), cmd: 'echo "bufcmds"'}]
+ call assert_fails('call autocmd_add(l)', 'E928:')
let l = [#{group: 'TestAcSet', event: "BufEnter",
\ pattern: test_null_list(), cmd: 'echo "bufcmds"'}]
call assert_fails('call autocmd_add(l)', 'E714:')
@@ -3555,6 +3562,9 @@
" Delete a non-existing autocmd pattern
let l = [#{group: 'TestAcSet', event: 'BufAdd', pat: 'abc'}]
call assert_true(autocmd_delete(l))
+ " Delete an autocmd for a non-existing buffer
+ let l = [#{event: '*', bufnr: 9999, cmd: 'echo "x"'}]
+ call assert_fails('call autocmd_delete(l)', 'E680:')
" Delete an autocmd group
augroup TestAcSet