test_cmdmods.vim (2209B)
1 " Test for all command modifiers in 2 3 let s:luaeval_cmdmods =<< trim END 4 vim.iter(loadfile('../../../src/nvim/ex_cmds.lua')()):map(function(cmd) 5 if cmd.func == 'ex_wrongmodifier' or cmd.command == 'hide' then 6 return cmd.command 7 else 8 return nil 9 end 10 end):totable() 11 END 12 let s:cmdmods = [] 13 14 func s:get_cmdmods() 15 if empty(s:cmdmods) 16 let s:cmdmods = luaeval(s:luaeval_cmdmods->join("\n")) 17 endif 18 return s:cmdmods 19 endfunc 20 21 func Test_keep_cmdmods_names() 22 call assert_equal('k', fullcommand(':k')) 23 call assert_equal('k', fullcommand(':ke')) 24 call assert_equal('keepmarks', fullcommand(':kee')) 25 call assert_equal('keepmarks', fullcommand(':keep')) 26 call assert_equal('keepmarks', fullcommand(':keepm')) 27 call assert_equal('keepmarks', fullcommand(':keepma')) 28 call assert_equal('keepmarks', fullcommand(':keepmar')) 29 call assert_equal('keepmarks', fullcommand(':keepmark')) 30 call assert_equal('keepmarks', fullcommand(':keepmarks')) 31 call assert_equal('keepalt', fullcommand(':keepa')) 32 call assert_equal('keepalt', fullcommand(':keepal')) 33 call assert_equal('keepalt', fullcommand(':keepalt')) 34 call assert_equal('keepjumps', fullcommand(':keepj')) 35 call assert_equal('keepjumps', fullcommand(':keepju')) 36 call assert_equal('keepjumps', fullcommand(':keepjum')) 37 call assert_equal('keepjumps', fullcommand(':keepjump')) 38 call assert_equal('keepjumps', fullcommand(':keepjumps')) 39 call assert_equal('keeppatterns', fullcommand(':keepp')) 40 call assert_equal('keeppatterns', fullcommand(':keeppa')) 41 call assert_equal('keeppatterns', fullcommand(':keeppat')) 42 call assert_equal('keeppatterns', fullcommand(':keeppatt')) 43 call assert_equal('keeppatterns', fullcommand(':keeppatte')) 44 call assert_equal('keeppatterns', fullcommand(':keeppatter')) 45 call assert_equal('keeppatterns', fullcommand(':keeppattern')) 46 call assert_equal('keeppatterns', fullcommand(':keeppatterns')) 47 endfunc 48 49 func Test_cmdmod_completion() 50 for mod in s:get_cmdmods() 51 let cmd = $'{mod} ed' 52 if mod == 'filter' 53 let cmd = $'{mod} /pattern/ ed' 54 endif 55 call assert_equal('edit', getcompletion(cmd, 'cmdline')[0]) 56 endfor 57 endfunc 58 59 " vim: shiftwidth=2 sts=2 expandtab