Mercurial > vim
view src/testdir/test_usercommands.vim @ 9667:c27052511998 v7.4.2110
commit https://github.com/vim/vim/commit/eac784eced501c54d2c99e18a1af96cd996f3a6c
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jul 28 22:08:24 2016 +0200
patch 7.4.2110
Problem: When there is an CmdUndefined autocmd then the error for a missing
command is E464 instead of E492. (Manuel Ortega)
Solution: Don't let the pointer be NULL.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Jul 2016 22:15:06 +0200 |
parents | f7fb117883ba |
children | 1f33aece8e55 |
line wrap: on
line source
" Tests for user defined commands " Test for <mods> in user defined commands function Test_cmdmods() let g:mods = '' command! -nargs=* MyCmd let g:mods .= '<mods> ' MyCmd aboveleft MyCmd belowright MyCmd botright MyCmd browse MyCmd confirm MyCmd hide MyCmd keepalt MyCmd keepjumps MyCmd keepmarks MyCmd keeppatterns MyCmd lockmarks MyCmd noswapfile MyCmd silent MyCmd tab MyCmd topleft MyCmd verbose MyCmd vertical MyCmd aboveleft belowright botright browse confirm hide keepalt keepjumps \ keepmarks keeppatterns lockmarks noswapfile silent tab \ topleft verbose vertical MyCmd call assert_equal(' aboveleft belowright botright browse confirm ' . \ 'hide keepalt keepjumps keepmarks keeppatterns lockmarks ' . \ 'noswapfile silent tab topleft verbose vertical aboveleft ' . \ 'belowright botright browse confirm hide keepalt keepjumps ' . \ 'keepmarks keeppatterns lockmarks noswapfile silent tab topleft ' . \ 'verbose vertical ', g:mods) let g:mods = '' command! -nargs=* MyQCmd let g:mods .= '<q-mods> ' vertical MyQCmd call assert_equal('"vertical" ', g:mods) delcommand MyCmd delcommand MyQCmd unlet g:mods endfunction func Test_Ambiguous() command Doit let g:didit = 'yes' command Dothat let g:didthat = 'also' call assert_fails('Do', 'E464:') Doit call assert_equal('yes', g:didit) Dothat call assert_equal('also', g:didthat) unlet g:didit unlet g:didthat delcommand Doit Do call assert_equal('also', g:didthat) delcommand Dothat endfunc func Test_CmdUndefined() call assert_fails('Doit', 'E492:') au CmdUndefined Doit :command Doit let g:didit = 'yes' Doit call assert_equal('yes', g:didit) delcommand Doit call assert_fails('Dothat', 'E492:') au CmdUndefined * let g:didnot = 'yes' call assert_fails('Dothat', 'E492:') call assert_equal('yes', g:didnot) endfunc