diff options
-rw-r--r-- | src/nvim/testdir/check.vim | 27 | ||||
-rw-r--r-- | src/nvim/testdir/test_startup.vim | 13 |
2 files changed, 33 insertions, 7 deletions
diff --git a/src/nvim/testdir/check.vim b/src/nvim/testdir/check.vim index 24d3959f83..7b06e53dd5 100644 --- a/src/nvim/testdir/check.vim +++ b/src/nvim/testdir/check.vim @@ -108,3 +108,30 @@ func CheckNotMSWindows() throw 'Skipped: does not work on MS-Windows' endif endfunc + +" Command to check for satisfying any of the conditions. +" e.g. CheckAnyOf Feature:bsd Feature:sun Linux +command -nargs=+ CheckAnyOf call CheckAnyOf(<f-args>) +func CheckAnyOf(...) + let excp = [] + for arg in a:000 + try + exe 'Check' .. substitute(arg, ':', ' ', '') + return + catch /^Skipped:/ + let excp += [substitute(v:exception, '^Skipped:\s*', '', '')] + endtry + endfor + throw 'Skipped: ' .. join(excp, '; ') +endfunc + +" Command to check for satisfying all of the conditions. +" e.g. CheckAllOf Unix Gui Option:ballooneval +command -nargs=+ CheckAllOf call CheckAllOf(<f-args>) +func CheckAllOf(...) + for arg in a:000 + exe 'Check' .. substitute(arg, ':', ' ', '') + endfor +endfunc + +" vim: shiftwidth=2 sts=2 expandtab diff --git a/src/nvim/testdir/test_startup.vim b/src/nvim/testdir/test_startup.vim index c49d9fc639..4d1ad10c23 100644 --- a/src/nvim/testdir/test_startup.vim +++ b/src/nvim/testdir/test_startup.vim @@ -111,9 +111,8 @@ func Test_pack_in_rtp_when_plugins_run() endfunc func Test_help_arg() - if !has('unix') && has('gui_running') - throw 'Skipped: does not work with gvim on MS-Windows' - endif + " This does not work with a GUI-only binary, such as on MS-Windows. + CheckAnyOf Unix NotGui if RunVim([], [], '--help >Xtestout') let lines = readfile('Xtestout') @@ -429,7 +428,7 @@ endfunction " Test the -reverse and +reverse arguments (for GUI only). func Test_reverse() CheckCanRunGui - CheckNotMSWindows + CheckAnyOf Feature:gui_gtk Feature:gui_motif Feature:gui_athena let after =<< trim [CODE] call writefile([&background], "Xtest_reverse") @@ -450,7 +449,7 @@ endfunc " Test the -background and -foreground arguments (for GUI only). func Test_background_foreground() CheckCanRunGui - CheckNotMSWindows + CheckAnyOf Feature:gui_gtk Feature:gui_motif Feature:gui_athena " Is there a better way to check the effect of -background & -foreground " other than merely looking at &background (dark or light)? @@ -499,7 +498,7 @@ endfunc " Test the -geometry argument (for GUI only). func Test_geometry() CheckCanRunGui - CheckNotMSWindows + CheckAnyOf Feature:gui_gtk Feature:gui_motif Feature:gui_athena if has('gui_motif') || has('gui_athena') " FIXME: With GUI Athena or Motif, the value of getwinposx(), @@ -531,7 +530,7 @@ endfunc " Test the -iconic argument (for GUI only). func Test_iconic() CheckCanRunGui - CheckNotMSWindows + CheckAnyOf Feature:gui_gtk Feature:gui_motif Feature:gui_athena call RunVim([], [], '-f -g -iconic -cq') |