Patch 8.1.1292
Problem:    Invalid command line arguments not tested.
Solution:   Add a test. (Dominique Pelle, closes #4346)
Files:      src/testdir/test_startup.vim


*** ../vim-8.1.1291/src/testdir/test_startup.vim        2019-04-21 
15:54:29.606587753 +0200
--- src/testdir/test_startup.vim        2019-05-07 22:08:46.442674152 +0200
***************
*** 385,390 ****
--- 385,480 ----
    call delete('Xtestout')
  endfunc
  
+ func Test_invalid_args()
+   if !has('unix') || has('gui_running')
+     " can't get output of Vim.
+     return
+   endif
+ 
+   for opt in ['-Y', '--does-not-exist']
+     let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
+     call assert_equal(1, v:shell_error)
+     call assert_match('^VIM - Vi IMproved .* (.*)$',              out[0])
+     call assert_equal('Unknown option argument: "' .. opt .. '"', out[1])
+     call assert_equal('More info with: "vim -h"',                 out[2])
+   endfor
+ 
+   for opt in ['-c', '-i', '-s', '-t', '-T', '-u', '-U', '-w', '-W', '--cmd', 
'--startuptime']
+     let out = split(system(GetVimCommand() .. ' '  .. opt), "\n")
+     call assert_equal(1, v:shell_error)
+     call assert_match('^VIM - Vi IMproved .* (.*)$',             out[0])
+     call assert_equal('Argument missing after: "' .. opt .. '"', out[1])
+     call assert_equal('More info with: "vim -h"',                out[2])
+   endfor
+ 
+   if has('clientserver')
+     " FIXME: need to add --servername to this list
+     " but it causes vim-8.1.1282 to crash!
+     for opt in ['--remote', '--remote-send', '--remote-silent', 
'--remote-expr',
+           \     '--remote-tab', '--remote-tab-wait',
+           \     '--remote-tab-wait-silent', '--remote-tab-silent',
+           \     '--remote-wait', '--remote-wait-silent',
+           \    ]
+       let out = split(system(GetVimCommand() .. ' '  .. opt), "\n")
+       call assert_equal(1, v:shell_error)
+       call assert_match('^VIM - Vi IMproved .* (.*)$',             out[0])
+       call assert_equal('Argument missing after: "' .. opt .. '"', out[1])
+       call assert_equal('More info with: "vim -h"',                out[2])
+     endfor
+   endif
+ 
+   " FIXME: commented out as this causes vim-8.1.1282 to crash!
+   "if has('clipboard')
+   "  let out = split(system(GetVimCommand() .. ' --display'), "\n")
+   "  call assert_equal(1, v:shell_error)
+   "  call assert_match('^VIM - Vi IMproved .* (.*)$',         out[0])
+   "  call assert_equal('Argument missing after: "--display"', out[1])
+   "  call assert_equal('More info with: "vim -h"',            out[2])
+   "endif
+ 
+   let out = split(system(GetVimCommand() .. ' -ix'), "\n")
+   call assert_equal(1, v:shell_error)
+   call assert_match('^VIM - Vi IMproved .* (.*)$',          out[0])
+   call assert_equal('Garbage after option argument: "-ix"', out[1])
+   call assert_equal('More info with: "vim -h"',             out[2])
+ 
+   let out = split(system(GetVimCommand() .. ' - xxx'), "\n")
+   call assert_equal(1, v:shell_error)
+   call assert_match('^VIM - Vi IMproved .* (.*)$',    out[0])
+   call assert_equal('Too many edit arguments: "xxx"', out[1])
+   call assert_equal('More info with: "vim -h"',       out[2])
+ 
+   " Detect invalid repeated arguments '-t foo -t foo", '-q foo -q foo'.
+   for opt in ['-t', '-q']
+     let out = split(system(GetVimCommand() .. repeat(' ' .. opt .. ' foo', 
2)), "\n")
+     call assert_equal(1, v:shell_error)
+     call assert_match('^VIM - Vi IMproved .* (.*)$',              out[0])
+     call assert_equal('Too many edit arguments: "' .. opt .. '"', out[1])
+     call assert_equal('More info with: "vim -h"',                 out[2])
+   endfor
+ 
+   for opt in [' -cq', ' --cmd q', ' +', ' -S foo']
+     let out = split(system(GetVimCommand() .. repeat(opt, 11)), "\n")
+     call assert_equal(1, v:shell_error)
+     " FIXME: The error message given by Vim is not ideal in case of repeated
+     " -S foo since it does not mention -S.
+     call assert_match('^VIM - Vi IMproved .* (.*)$',                          
          out[0])
+     call assert_equal('Too many "+command", "-c command" or "--cmd command" 
arguments', out[1])
+     call assert_equal('More info with: "vim -h"',                             
          out[2])
+   endfor
+ 
+   " FIXME: commented out as this causes vim-8.1.1282 to crash!
+   "if has('gui_gtk')
+   "  for opt in ['--socketid x', '--socketid 0xg']
+   "    let out = split(system(GetVimCommand() .. ' ' .. opt), "\n")
+   "    call assert_equal(1, v:shell_error)
+   "    call assert_match('^VIM - Vi IMproved .* (.*)$',        out[0])
+   "    call assert_equal('Invalid argument for: "--socketid"', out[1])
+   "    call assert_equal('More info with: "vim -h"',           out[2])
+   "  endfor
+   "endif
+ endfunc
+ 
  func Test_file_args()
    let after = [
        \ 'call writefile(argv(), "Xtestout")',
*** ../vim-8.1.1291/src/version.c       2019-05-07 22:06:48.679310672 +0200
--- src/version.c       2019-05-07 22:10:23.630205185 +0200
***************
*** 769,770 ****
--- 769,772 ----
  {   /* Add new patch number below this line */
+ /**/
+     1292,
  /**/

-- 
Dogs must have a permit signed by the mayor in order to congregate in groups
of three or more on private property.
                [real standing law in Oklahoma, United States of America]

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201905072011.x47KB37o013074%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui