aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2017-04-29 21:49:19 -0400
committerJames McCoy <jamessan@jamessan.com>2017-04-29 23:48:28 -0400
commitb6e36558d1e119a4382e96495b0e1faf402197f3 (patch)
treee0aa34e535add8f982d797fa374080b5818bb727 /src/nvim/testdir
parentf219657453271f19519148d76536879bec044534 (diff)
downloadrneovim-b6e36558d1e119a4382e96495b0e1faf402197f3.tar.gz
rneovim-b6e36558d1e119a4382e96495b0e1faf402197f3.tar.bz2
rneovim-b6e36558d1e119a4382e96495b0e1faf402197f3.zip
vim-patch:8.0.0150
Problem: When the pattern of :filter does not have a separator then completion of the command fails. Solution: Skip over the pattern. (Ozaki Kiichi, clodes vim/vim#1299) https://github.com/vim/vim/commit/7069bf18e1b1b7bc7640335e07d1022b5acc9048
Diffstat (limited to 'src/nvim/testdir')
-rw-r--r--src/nvim/testdir/test_filter_cmd.vim22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_filter_cmd.vim b/src/nvim/testdir/test_filter_cmd.vim
index 0bbd905c85..5aa5fa64df 100644
--- a/src/nvim/testdir/test_filter_cmd.vim
+++ b/src/nvim/testdir/test_filter_cmd.vim
@@ -52,3 +52,25 @@ func Test_filter_fails()
call assert_fails('filter! /pat/', 'E476:')
call assert_fails('filter! /pat/ asdf', 'E492:')
endfunc
+
+function s:complete_filter_cmd(filtcmd)
+ let keystroke = "\<TAB>\<C-R>=execute('let cmdline = getcmdline()')\<CR>\<C-C>"
+ let cmdline = ''
+ call feedkeys(':' . a:filtcmd . keystroke, 'ntx')
+ return cmdline
+endfunction
+
+func Test_filter_cmd_completion()
+ " Do not complete pattern
+ call assert_equal("filter \t", s:complete_filter_cmd('filter '))
+ call assert_equal("filter pat\t", s:complete_filter_cmd('filter pat'))
+ call assert_equal("filter /pat\t", s:complete_filter_cmd('filter /pat'))
+ call assert_equal("filter /pat/\t", s:complete_filter_cmd('filter /pat/'))
+
+ " Complete after string pattern
+ call assert_equal('filter pat print', s:complete_filter_cmd('filter pat pri'))
+
+ " Complete after regexp pattern
+ call assert_equal('filter /pat/ print', s:complete_filter_cmd('filter /pat/ pri'))
+ call assert_equal('filter #pat# print', s:complete_filter_cmd('filter #pat# pri'))
+endfunc