To: vim_dev@googlegroups.com Subject: Patch 8.2.3345 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.3345 Problem: Some code not covered by tests. Solution: Add a few more tests. (Dominique Pellé, closes #8757) Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, src/testdir/test_spellfile.vim, src/testdir/test_substitute.vim *** ../vim-8.2.3344/src/testdir/test_arglist.vim 2021-01-27 20:34:25.291292488 +0100 --- src/testdir/test_arglist.vim 2021-08-14 21:09:22.221458173 +0200 *************** *** 82,87 **** --- 82,91 ---- 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,439 **** --- 438,445 ---- argdel call Assert_argc(['a', 'c', 'd']) %argdel + + call assert_fails('argdel does_not_exist', 'E480:') endfunc func Test_argdelete_completion() *** ../vim-8.2.3344/src/testdir/test_cmdline.vim 2021-08-13 17:48:19.178894940 +0200 --- src/testdir/test_cmdline.vim 2021-08-14 21:09:22.221458173 +0200 *************** *** 845,850 **** --- 845,858 ---- call feedkeys(":doautocmd BufNew,BufEn\\\"\", 'xt') call assert_equal("\"doautocmd BufNew,BufEnter", @:) + " completion of file name in :doautocmd + call writefile([], 'Xfile1') + call writefile([], 'Xfile2') + call feedkeys(":doautocmd BufEnter Xfi\\\"\", 'xt') + call assert_equal("\"doautocmd BufEnter Xfile1 Xfile2", @:) + call delete('Xfile1') + call delete('Xfile2') + " completion for the :augroup command augroup XTest augroup END *************** *** 1415,1420 **** --- 1423,1432 ---- 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 *** ../vim-8.2.3344/src/testdir/test_spellfile.vim 2021-07-24 20:51:09.444186504 +0200 --- src/testdir/test_spellfile.vim 2021-08-14 21:09:22.221458173 +0200 *************** *** 1016,1021 **** --- 1016,1048 ---- 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 *** ../vim-8.2.3344/src/testdir/test_substitute.vim 2021-06-06 12:33:44.478933711 +0200 --- src/testdir/test_substitute.vim 2021-08-14 21:09:22.221458173 +0200 *************** *** 943,946 **** --- 943,983 ---- 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 *** ../vim-8.2.3344/src/version.c 2021-08-14 15:15:56.773978454 +0200 --- src/version.c 2021-08-14 21:10:29.633230158 +0200 *************** *** 757,758 **** --- 757,760 ---- { /* Add new patch number below this line */ + /**/ + 3345, /**/ -- An indication you must be a manager: You feel sorry for Dilbert's boss. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///