neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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