forked from aniani/vim
patch 8.2.0898: missing help for a function goes unnoticed
Problem: Missing help for a function goes unnoticed. Solution: Add a test. (Gary Johnson)
This commit is contained in:
@@ -139,6 +139,7 @@ NEW_TESTS = \
|
|||||||
test_fnamemodify \
|
test_fnamemodify \
|
||||||
test_fold \
|
test_fold \
|
||||||
test_functions \
|
test_functions \
|
||||||
|
test_function_lists \
|
||||||
test_ga \
|
test_ga \
|
||||||
test_getcwd \
|
test_getcwd \
|
||||||
test_getvar \
|
test_getvar \
|
||||||
@@ -374,6 +375,7 @@ NEW_TESTS_RES = \
|
|||||||
test_fnameescape.res \
|
test_fnameescape.res \
|
||||||
test_fold.res \
|
test_fold.res \
|
||||||
test_functions.res \
|
test_functions.res \
|
||||||
|
test_function_lists.res \
|
||||||
test_getcwd.res \
|
test_getcwd.res \
|
||||||
test_getvar.res \
|
test_getvar.res \
|
||||||
test_gf.res \
|
test_gf.res \
|
||||||
|
105
src/testdir/test_function_lists.vim
Normal file
105
src/testdir/test_function_lists.vim
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
" Test to verify that the three function lists,
|
||||||
|
"
|
||||||
|
" global_functions[] in src/evalfunc.c
|
||||||
|
" *functions* in runtime/doc/eval.txt
|
||||||
|
" *function-list* in runtime/doc/usr_41.txt
|
||||||
|
"
|
||||||
|
" contain the same functions and that the global_functions and ":help
|
||||||
|
" functions" lists are in ASCII order.
|
||||||
|
|
||||||
|
func Test_function_lists()
|
||||||
|
|
||||||
|
" Delete any files left over from an earlier run of this test.
|
||||||
|
|
||||||
|
call delete("Xglobal_functions.diff")
|
||||||
|
call delete("Xfunctions.diff")
|
||||||
|
call delete("Xfunction-list.diff")
|
||||||
|
|
||||||
|
" Create a file of the functions in evalfunc.c:global_functions[].
|
||||||
|
|
||||||
|
enew!
|
||||||
|
read ../evalfunc.c
|
||||||
|
1,/^static funcentry_T global_functions\[\] =$/d
|
||||||
|
call search('^};$')
|
||||||
|
.,$d
|
||||||
|
v/^ {/d
|
||||||
|
%s/^ {"//
|
||||||
|
%s/".*//
|
||||||
|
w! Xglobal_functions
|
||||||
|
|
||||||
|
" Verify that those functions are in ASCII order.
|
||||||
|
|
||||||
|
sort u
|
||||||
|
w! Xsorted_global_functions
|
||||||
|
let l:unequal = assert_equalfile("Xsorted_global_functions", "Xglobal_functions",
|
||||||
|
\ "global_functions[] not sorted")
|
||||||
|
if l:unequal && executable("diff")
|
||||||
|
call system("diff -u Xsorted_global_functions Xglobal_functions > Xglobal_functions.diff")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Create a file of the functions in evalfunc.c:global_functions[] that are
|
||||||
|
" not obsolete, sorted in ASCII order.
|
||||||
|
|
||||||
|
enew!
|
||||||
|
read ../evalfunc.c
|
||||||
|
1,/^static funcentry_T global_functions\[\] =$/d
|
||||||
|
call search('^};$')
|
||||||
|
.,$d
|
||||||
|
v/^ {/d
|
||||||
|
g/\/\/ obsolete$/d
|
||||||
|
%s/^ {"//
|
||||||
|
%s/".*//
|
||||||
|
sort u
|
||||||
|
w! Xsorted_current_global_functions
|
||||||
|
|
||||||
|
" Verify that the ":help functions" list is complete and in ASCII order.
|
||||||
|
|
||||||
|
enew!
|
||||||
|
read ../../runtime/doc/eval.txt
|
||||||
|
call search('\*functions\*$')
|
||||||
|
call search('^USAGE')
|
||||||
|
1,.d
|
||||||
|
call search('\*\K\k*()\*$')
|
||||||
|
.,$d
|
||||||
|
v/^\S/d
|
||||||
|
%s/(.*//
|
||||||
|
let l:lines = getline(1, '$')
|
||||||
|
call uniq(l:lines)
|
||||||
|
call writefile(l:lines, "Xfunctions")
|
||||||
|
let l:unequal = assert_equalfile("Xsorted_current_global_functions", "Xfunctions",
|
||||||
|
\ "\":help functions\" not sorted or incomplete")
|
||||||
|
if l:unequal && executable("diff")
|
||||||
|
call system("diff -u Xsorted_current_global_functions Xfunctions > Xfunctions.diff")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Verify that the ":help function-list" list is complete.
|
||||||
|
|
||||||
|
enew!
|
||||||
|
read ../../runtime/doc/usr_41.txt
|
||||||
|
call search('\*function-list\*$')
|
||||||
|
1,.d
|
||||||
|
call search('^==*$')
|
||||||
|
.,$d
|
||||||
|
v/^\t\S/d
|
||||||
|
%s/(.*//
|
||||||
|
%left
|
||||||
|
sort u
|
||||||
|
w! Xfunction-list
|
||||||
|
let l:unequal = assert_equalfile("Xsorted_current_global_functions", "Xfunction-list",
|
||||||
|
\ "\":help functions-list\" incomplete")
|
||||||
|
if l:unequal && executable("diff")
|
||||||
|
call system("diff -u Xsorted_current_global_functions Xfunction-list > Xfunction-list.diff")
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Clean up.
|
||||||
|
|
||||||
|
call delete("Xglobal_functions")
|
||||||
|
call delete("Xsorted_global_functions")
|
||||||
|
call delete("Xsorted_current_global_functions")
|
||||||
|
call delete("Xfunctions")
|
||||||
|
call delete("Xfunction-list")
|
||||||
|
enew!
|
||||||
|
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" vim: shiftwidth=2 sts=2 expandtab
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
898,
|
||||||
/**/
|
/**/
|
||||||
897,
|
897,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user