mirror of
https://github.com/vim/vim
synced 2025-07-16 09:12:00 +00:00
patch 8.2.3345: some code not covered by tests
Problem: Some code not covered by tests. Solution: Add a few more tests. (Dominique Pellé, closes #8757)
This commit is contained in:
committed by
Bram Moolenaar
parent
d2e9ccee90
commit
bfb2bb16bc
@ -82,6 +82,10 @@ func Test_argadd()
|
||||
new
|
||||
arga
|
||||
call assert_equal(0, len(argv()))
|
||||
|
||||
if has('unix')
|
||||
call assert_fails('argadd `Xdoes_not_exist`', 'E479:')
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func Test_argadd_empty_curbuf()
|
||||
@ -434,6 +438,8 @@ func Test_argdelete()
|
||||
argdel
|
||||
call Assert_argc(['a', 'c', 'd'])
|
||||
%argdel
|
||||
|
||||
call assert_fails('argdel does_not_exist', 'E480:')
|
||||
endfunc
|
||||
|
||||
func Test_argdelete_completion()
|
||||
|
@ -845,6 +845,14 @@ func Test_cmdline_complete_various()
|
||||
call feedkeys(":doautocmd BufNew,BufEn\<C-A>\<C-B>\"\<CR>", 'xt')
|
||||
call assert_equal("\"doautocmd BufNew,BufEnter", @:)
|
||||
|
||||
" completion of file name in :doautocmd
|
||||
call writefile([], 'Xfile1')
|
||||
call writefile([], 'Xfile2')
|
||||
call feedkeys(":doautocmd BufEnter Xfi\<C-A>\<C-B>\"\<CR>", 'xt')
|
||||
call assert_equal("\"doautocmd BufEnter Xfile1 Xfile2", @:)
|
||||
call delete('Xfile1')
|
||||
call delete('Xfile2')
|
||||
|
||||
" completion for the :augroup command
|
||||
augroup XTest
|
||||
augroup END
|
||||
@ -1415,6 +1423,10 @@ func Test_cmd_backtick()
|
||||
argadd `=['a', 'b', 'c']`
|
||||
call assert_equal(['a', 'b', 'c'], argv())
|
||||
%argd
|
||||
|
||||
argadd `echo abc def`
|
||||
call assert_equal(['abc def'], argv())
|
||||
%argd
|
||||
endfunc
|
||||
|
||||
" Test for the :! command
|
||||
|
@ -1016,6 +1016,33 @@ func Test_spellfile_COMMON()
|
||||
call delete('XtestCOMMON-utf8.spl')
|
||||
endfunc
|
||||
|
||||
" Test NOSUGGEST (see :help spell-COMMON)
|
||||
func Test_spellfile_NOSUGGEST()
|
||||
call writefile(['2', 'foo/X', 'fog'], 'XtestNOSUGGEST.dic')
|
||||
call writefile(['NOSUGGEST X'], 'XtestNOSUGGEST.aff')
|
||||
|
||||
mkspell! XtestNOSUGGEST-utf8.spl XtestNOSUGGEST
|
||||
set spell spelllang=XtestNOSUGGEST-utf8.spl
|
||||
|
||||
for goodword in ['foo', 'Foo', 'FOO', 'fog', 'Fog', 'FOG']
|
||||
call assert_equal(['', ''], spellbadword(goodword), goodword)
|
||||
endfor
|
||||
for badword in ['foO', 'fOO', 'fooo', 'foog', 'foofog', 'fogfoo']
|
||||
call assert_equal([badword, 'bad'], spellbadword(badword))
|
||||
endfor
|
||||
|
||||
call assert_equal(['fog'], spellsuggest('fooo', 1))
|
||||
call assert_equal(['fog'], spellsuggest('fOo', 1))
|
||||
call assert_equal(['fog'], spellsuggest('foG', 1))
|
||||
call assert_equal(['fog'], spellsuggest('fogg', 1))
|
||||
|
||||
set spell& spelllang&
|
||||
call delete('XtestNOSUGGEST.dic')
|
||||
call delete('XtestNOSUGGEST.aff')
|
||||
call delete('XtestNOSUGGEST-utf8.spl')
|
||||
endfunc
|
||||
|
||||
|
||||
" Test CIRCUMFIX (see: :help spell-CIRCUMFIX)
|
||||
func Test_spellfile_CIRCUMFIX()
|
||||
" Example taken verbatim from https://github.com/hunspell/hunspell/tree/master/tests
|
||||
|
@ -943,4 +943,41 @@ func Test_substitute_skipped_range()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
" Test using the 'gdefault' option (when on, flag 'g' is default on).
|
||||
func Test_substitute_gdefault()
|
||||
new
|
||||
|
||||
" First check without 'gdefault'
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/
|
||||
call assert_equal('FOO bar foo', getline(1))
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/g
|
||||
call assert_equal('FOO bar FOO', getline(1))
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/gg
|
||||
call assert_equal('FOO bar foo', getline(1))
|
||||
|
||||
" Then check with 'gdefault'
|
||||
set gdefault
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/
|
||||
call assert_equal('FOO bar FOO', getline(1))
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/g
|
||||
call assert_equal('FOO bar foo', getline(1))
|
||||
call setline(1, 'foo bar foo')
|
||||
s/foo/FOO/gg
|
||||
call assert_equal('FOO bar FOO', getline(1))
|
||||
|
||||
" Setting 'compatible' should reset 'gdefault'
|
||||
call assert_equal(1, &gdefault)
|
||||
set compatible
|
||||
call assert_equal(0, &gdefault)
|
||||
set nocompatible
|
||||
call assert_equal(0, &gdefault)
|
||||
|
||||
bw!
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
@ -755,6 +755,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3345,
|
||||
/**/
|
||||
3344,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user