Mercurial > vim
changeset 13843:619730d0d864 v8.0.1793
patch 8.0.1793: no test for "vim -g"
commit https://github.com/vim/vim/commit/248be5c5de723c4e2715c574fd920b8b1a1dfebb
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 5 15:47:19 2018 +0200
patch 8.0.1793: no test for "vim -g"
Problem: No test for "vim -g".
Solution: Add a test for "-g" and "-y".
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 05 May 2018 16:00:07 +0200 |
parents | 3dee8c59417f |
children | 11e433673c49 |
files | src/testdir/shared.vim src/testdir/test_gui.vim src/version.c |
diffstat | 3 files changed, 48 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/testdir/shared.vim +++ b/src/testdir/shared.vim @@ -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(...) @@ -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 @@ -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')
--- a/src/testdir/test_gui.vim +++ b/src/testdir/test_gui.vim @@ -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