summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2022-06-01 12:31:53 +0100
committerBram Moolenaar <Bram@vim.org>2022-06-01 12:31:53 +0100
commit00e977cb83625f979d13639249a7788d5a1cb71e (patch)
tree06b436df6e4354a4300419f8460696f4bf8e506f /src/testdir
parentb5912e0643dc21b1b88c517d3ac1282eba57293d (diff)
patch 8.2.5049: insufficient tests for autocommandsv8.2.5049
Problem: Insufficient tests for autocommands. Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/gen_opt_test.vim2
-rw-r--r--src/testdir/test_autocmd.vim10
-rw-r--r--src/testdir/test_cmdline.vim9
3 files changed, 20 insertions, 1 deletions
diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim
index c37631c66c..83f43f7b57 100644
--- a/src/testdir/gen_opt_test.vim
+++ b/src/testdir/gen_opt_test.vim
@@ -90,7 +90,7 @@ let test_values = {
\ 'display': [['', 'lastline', 'lastline,uhex'], ['xxx']],
\ 'eadirection': [['', 'both', 'ver'], ['xxx', 'ver,hor']],
\ 'encoding': [['latin1'], ['xxx', '']],
- \ 'eventignore': [['', 'WinEnter', 'WinLeave,winenter'], ['xxx']],
+ \ 'eventignore': [['', 'WinEnter', 'WinLeave,winenter', 'all,WinEnter'], ['xxx']],
\ 'fileencoding': [['', 'latin1', 'xxx'], []],
\ 'fileformat': [['', 'dos', 'unix'], ['xxx']],
\ 'fileformats': [['', 'dos', 'dos,unix'], ['xxx']],
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 0aaa968c88..1a4ed1a624 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -3384,6 +3384,12 @@ func Test_autocmd_add()
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 @@ func Test_autocmd_add()
" 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 @@ func Test_autocmd_delete()
" 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
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index cc7fe54d60..77965b3f65 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -1063,10 +1063,19 @@ func Test_cmdline_complete_various()
augroup END
call feedkeys(":augroup X\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal("\"augroup XTest.test", @:)
+
+ " group name completion in :autocmd
call feedkeys(":au X\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal("\"au XTest.test", @:)
+ call feedkeys(":au XTest.test\<Tab>\<C-B>\"\<CR>", 'xt')
+ call assert_equal("\"au XTest.test", @:)
+
augroup! XTest.test
+ " autocmd pattern completion
+ call feedkeys(":au BufEnter *.py\<Tab>\<C-B>\"\<CR>", 'xt')
+ call assert_equal("\"au BufEnter *.py\t", @:)
+
" completion for the :unlet command
call feedkeys(":unlet one two\<C-A>\<C-B>\"\<CR>", 'xt')
call assert_equal("\"unlet one two", @:)