aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-07-25 20:58:09 +0800
committerGitHub <noreply@github.com>2023-07-25 20:58:09 +0800
commitaba3ceccb77518b93891af97fe93f5c8734eccf4 (patch)
tree28d47e82ee5b6d746adac472baeb5ebcf9f673d6 /test
parent20c331915f4e317c615c7cfea469a9baedd2e4f7 (diff)
downloadrneovim-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.vim3
-rw-r--r--test/old/testdir/test_codestyle.vim63
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