0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.0.1793: no test for "vim -g"

Problem:    No test for "vim -g".
Solution:   Add a test for "-g" and "-y".
This commit is contained in:
Bram Moolenaar
2018-05-05 15:47:19 +02:00
parent c3e81694fc
commit 248be5c5de
3 changed files with 48 additions and 5 deletions

View File

@@ -227,6 +227,8 @@ func GetVimProg()
return readfile('vimcmd')[0] return readfile('vimcmd')[0]
endfunc endfunc
let g:valgrind_cnt = 1
" Get the command to run Vim, with -u NONE and --not-a-term arguments. " Get the command to run Vim, with -u NONE and --not-a-term arguments.
" If there is an argument use it instead of "NONE". " If there is an argument use it instead of "NONE".
func GetVimCommand(...) func GetVimCommand(...)
@@ -244,14 +246,26 @@ func GetVimCommand(...)
" For Unix Makefile writes the command to use in the second line of the " For Unix Makefile writes the command to use in the second line of the
" "vimcmd" file, including environment options. " "vimcmd" file, including environment options.
" Other Makefiles just write the executable in the first line, so fall back " Other Makefiles just write the executable in the first line, so fall back
" to that if there is no second line. " to that if there is no second line or it is empty.
let cmd = get(lines, 1, lines[0]) if len(lines) > 1 && lines[1] != ''
let cmd = lines[1]
else
let cmd = lines[0]
endif
let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '') let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '')
if cmd !~ '-u '. name if cmd !~ '-u '. name
let cmd = cmd . ' -u ' . name let cmd = cmd . ' -u ' . name
endif endif
let cmd .= ' --not-a-term' let cmd .= ' --not-a-term'
let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '') let cmd = substitute(cmd, 'VIMRUNTIME=.*VIMRUNTIME;', '', '')
" If using valgrind, make sure every run uses a different log file.
if cmd =~ 'valgrind.*--log-file='
let cmd = substitute(cmd, '--log-file=\(^\s*\)', '--log-file=\1.' . g:valgrind_cnt, '')
let g:valgrind_cnt += 1
endif
return cmd return cmd
endfunc endfunc
@@ -274,9 +288,6 @@ endfunc
func RunVimPiped(before, after, arguments, pipecmd) func RunVimPiped(before, after, arguments, pipecmd)
let cmd = GetVimCommand() let cmd = GetVimCommand()
if cmd == ''
return 0
endif
let args = '' let args = ''
if len(a:before) > 0 if len(a:before) > 0
call writefile(a:before, 'Xbefore.vim') call writefile(a:before, 'Xbefore.vim')

View File

@@ -706,3 +706,33 @@ func Test_windowid_variable()
call assert_equal(0, v:windowid) call assert_equal(0, v:windowid)
endif endif
endfunc endfunc
" Test "vim -g" and also the GUIEnter autocommand.
func Test_gui_dash_g()
let cmd = GetVimCommand('Xscriptgui')
call writefile([""], "Xtestgui")
call writefile([
\ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
\ 'au GUIEnter * qall',
\ ], 'Xscriptgui')
call system(cmd . ' -g')
call WaitForAssert({-> assert_equal(['insertmode: 0'], readfile('Xtestgui'))})
call delete('Xscriptgui')
call delete('Xtestgui')
endfunc
" Test "vim -7" and also the GUIEnter autocommand.
func Test_gui_dash_y()
let cmd = GetVimCommand('Xscriptgui')
call writefile([""], "Xtestgui")
call writefile([
\ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
\ 'au GUIEnter * qall',
\ ], 'Xscriptgui')
call system(cmd . ' -y')
call WaitForAssert({-> assert_equal(['insertmode: 1'], readfile('Xtestgui'))})
call delete('Xscriptgui')
call delete('Xtestgui')
endfunc

View File

@@ -761,6 +761,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1793,
/**/ /**/
1792, 1792,
/**/ /**/