Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
patch 8.0.1793: no test for "vim -g"
Problem:    No test for "vim -g".
Solution:   Add a test for "-g" and "-y".
  • Loading branch information
brammool committed May 5, 2018
1 parent c3e8169 commit 248be5c
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 5 deletions.
21 changes: 16 additions & 5 deletions src/testdir/shared.vim
Expand Up @@ -227,6 +227,8 @@ func GetVimProg()
return readfile('vimcmd')[0]
endfunc

let g:valgrind_cnt = 1

" Get the command to run Vim, with -u NONE and --not-a-term arguments.
" If there is an argument use it instead of "NONE".
func GetVimCommand(...)
Expand All @@ -244,14 +246,26 @@ func GetVimCommand(...)
" For Unix Makefile writes the command to use in the second line of the
" "vimcmd" file, including environment options.
" Other Makefiles just write the executable in the first line, so fall back
" to that if there is no second line.
let cmd = get(lines, 1, lines[0])
" to that if there is no second line or it is empty.
if len(lines) > 1 && lines[1] != ''
let cmd = lines[1]
else
let cmd = lines[0]
endif

let cmd = substitute(cmd, '-u \f\+', '-u ' . name, '')
if cmd !~ '-u '. name
let cmd = cmd . ' -u ' . name
endif
let cmd .= ' --not-a-term'
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
endfunc

Expand All @@ -274,9 +288,6 @@ endfunc

func RunVimPiped(before, after, arguments, pipecmd)
let cmd = GetVimCommand()
if cmd == ''
return 0
endif
let args = ''
if len(a:before) > 0
call writefile(a:before, 'Xbefore.vim')
Expand Down
30 changes: 30 additions & 0 deletions src/testdir/test_gui.vim
Expand Up @@ -706,3 +706,33 @@ func Test_windowid_variable()
call assert_equal(0, v:windowid)
endif
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
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -761,6 +761,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1793,
/**/
1792,
/**/
Expand Down

0 comments on commit 248be5c

Please sign in to comment.