changeset 9794:fd32f719d34f v7.4.2172

commit https://github.com/vim/vim/commit/472a0a880a709c027f4b19cfa56c08e78818112d Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 6 22:31:42 2016 +0200 patch 7.4.2172 Problem: No test for "vim --help". Solution: Add a test.
author Christian Brabandt <cb@256bit.org>
date Sat, 06 Aug 2016 22:45:04 +0200
parents f0921034ac5e
children 7dd69046d523
files src/testdir/shared.vim src/testdir/test_startup.vim src/version.c
diffstat 3 files changed, 41 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/shared.vim
+++ b/src/testdir/shared.vim
@@ -126,21 +126,32 @@ endfunc
 " "after" is a list of commands to be executed after loading plugins.
 " Plugins are not loaded, unless 'loadplugins' is set in "before".
 " Return 1 if Vim could be executed.
-func RunVim(before, after)
+func RunVim(before, after, arguments)
   if !filereadable('vimcmd')
     return 0
   endif
-  call writefile(a:before, 'Xbefore.vim')
-  call writefile(a:after, 'Xafter.vim')
+  let args = a:arguments
+  if len(a:before) > 0
+    call writefile(a:before, 'Xbefore.vim')
+    let args .= ' --cmd "so Xbefore.vim"'
+  endif
+  if len(a:after) > 0
+    call writefile(a:after, 'Xafter.vim')
+    let args .= ' -S Xafter.vim'
+  endif
 
   let cmd = readfile('vimcmd')[0]
   let cmd = substitute(cmd, '-u \f\+', '-u NONE', '')
   if cmd !~ '-u NONE'
     let cmd = cmd . ' -u NONE'
   endif
-  exe "silent !" . cmd . " --cmd \"so Xbefore.vim\" -S Xafter.vim"
+  exe "silent !" . cmd . ' ' . args
 
-  call delete('Xbefore.vim')
-  call delete('Xafter.vim')
+  if len(a:before) > 0
+    call delete('Xbefore.vim')
+  endif
+  if len(a:after) > 0
+    call delete('Xafter.vim')
+  endif
   return 1
 endfunc
--- a/src/testdir/test_startup.vim
+++ b/src/testdir/test_startup.vim
@@ -41,7 +41,7 @@ func Test_after_comes_later()
   call mkdir('Xafter/plugin', 'p')
   call writefile(['let done = 1'], 'Xafter/plugin/later.vim')
 
-  if RunVim(before, after)
+  if RunVim(before, after, '')
 
     let lines = readfile('Xtestout')
     let expected = ['Xbefore.vim', 'here.vim', 'foo.vim', 'later.vim', 'Xafter.vim']
@@ -60,3 +60,24 @@ func Test_after_comes_later()
   call delete('Xhere', 'rf')
   call delete('Xafter', 'rf')
 endfunc
+
+func Test_help_arg()
+  if RunVim([], [], '--help >Xtestout')
+    let lines = readfile('Xtestout')
+    call assert_true(len(lines) > 20)
+    call assert_true(lines[0] =~ 'Vi IMproved')
+
+    " check if  couple of lines are there
+    let found = 0
+    for line in lines
+      if line =~ '-R.*Readonly mode'
+	let found += 1
+      endif
+      if line =~ '--version'
+	let found += 1
+      endif
+    endfor
+    call assert_equal(2, found)
+  endif
+  call delete('Xtestout')
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2172,
+/**/
     2171,
 /**/
     2170,