diff options
| -rw-r--r-- | src/nvim/testdir/test_startup.vim | 90 | 
1 files changed, 90 insertions, 0 deletions
| diff --git a/src/nvim/testdir/test_startup.vim b/src/nvim/testdir/test_startup.vim index 873f2e8731..9018681137 100644 --- a/src/nvim/testdir/test_startup.vim +++ b/src/nvim/testdir/test_startup.vim @@ -339,6 +339,96 @@ func Test_A_F_H_arg()    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")', | 
