diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-07-25 20:58:09 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-25 20:58:09 +0800 |
commit | aba3ceccb77518b93891af97fe93f5c8734eccf4 (patch) | |
tree | 28d47e82ee5b6d746adac472baeb5ebcf9f673d6 /test | |
parent | 20c331915f4e317c615c7cfea469a9baedd2e4f7 (diff) | |
download | rneovim-aba3ceccb77518b93891af97fe93f5c8734eccf4.tar.gz rneovim-aba3ceccb77518b93891af97fe93f5c8734eccf4.tar.bz2 rneovim-aba3ceccb77518b93891af97fe93f5c8734eccf4.zip |
vim-patch:9.0.1335: no test for bad use of spaces in help files (#24483)
Problem: No test for bad use of spaces in help files.
Solution: Add checks for use of spaces in help files. Ignore intentional
spaces. (Hirohito Higashi, closes vim/vim#11952)
https://github.com/vim/vim/commit/d950984489e50b12d87c85f0cce1d672c880aa23
Cherry-pick changes from patch 9.0.1604.
Co-authored-by: h-east <h.east.727@gmail.com>
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/old/testdir/runtest.vim | 3 | ||||
-rw-r--r-- | test/old/testdir/test_codestyle.vim | 63 |
2 files changed, 66 insertions, 0 deletions
diff --git a/test/old/testdir/runtest.vim b/test/old/testdir/runtest.vim index 95651afd49..d7468fef17 100644 --- a/test/old/testdir/runtest.vim +++ b/test/old/testdir/runtest.vim @@ -94,6 +94,9 @@ let s:test_script_fname = expand('%') au! SwapExists * call HandleSwapExists() func HandleSwapExists() if exists('g:ignoreSwapExists') + if type(g:ignoreSwapExists) == v:t_string + let v:swapchoice = g:ignoreSwapExists + endif return endif " Ignore finding a swap file for the test script (the user might be diff --git a/test/old/testdir/test_codestyle.vim b/test/old/testdir/test_codestyle.vim new file mode 100644 index 0000000000..01dd03f693 --- /dev/null +++ b/test/old/testdir/test_codestyle.vim @@ -0,0 +1,63 @@ +" Test for checking the source code style. + +func s:ReportError(fname, lnum, msg) + if a:lnum > 0 + call assert_report(a:fname .. ' line ' .. a:lnum .. ': ' .. a:msg) + endif +endfunc + +func Test_help_files() + set nowrapscan + + for fpath in glob('../../../runtime/doc/*.txt', 0, 1) + let g:ignoreSwapExists = 'e' + exe 'edit ' .. fpath + + let fname = fnamemodify(fpath, ":t") + + " todo.txt is for developers, it's not need a strictly check + " version*.txt is a history and large size, so it's not checked + if fname == 'todo.txt' || fname =~ 'version.*\.txt' + continue + endif + + " Check for mixed tabs and spaces + call cursor(1, 1) + while 1 + let lnum = search('[^/] \t') + if fname == 'visual.txt' && getline(lnum) =~ "STRING \tjkl" + \ || fname == 'usr_27.txt' && getline(lnum) =~ "\[^\? \t\]" + continue + endif + call s:ReportError(fpath, lnum, 'space before tab') + if lnum == 0 + break + endif + endwhile + + " Check for unnecessary whitespace at the end of a line + call cursor(1, 1) + while 1 + let lnum = search('[^/~\\]\s$') + " skip line that are known to have trailing white space + if fname == 'map.txt' && getline(lnum) =~ "unmap @@ $" + \ || fname == 'usr_12.txt' && getline(lnum) =~ "^\t/ \t$" + \ || fname == 'usr_41.txt' && getline(lnum) =~ "map <F4> o#include $" + \ || fname == 'change.txt' && getline(lnum) =~ "foobar bla $" + continue + endif + call s:ReportError('testdir' .. fpath, lnum, 'trailing white space') + if lnum == 0 + break + endif + endwhile + + + endfor + + set wrapscan&vim + bwipe! +endfunc + + +" vim: shiftwidth=2 sts=2 expandtab |