aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-03-17 22:03:42 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-03-17 22:11:58 -0400
commit2ae6705f871568682df9bbee840c740698a917fd (patch)
treee8517c5fec08868a1db6cdfb197667da7b16613f /src
parentf1f131d132e983bead9173c5cb75a66447c82902 (diff)
downloadrneovim-2ae6705f871568682df9bbee840c740698a917fd.tar.gz
rneovim-2ae6705f871568682df9bbee840c740698a917fd.tar.bz2
rneovim-2ae6705f871568682df9bbee840c740698a917fd.zip
vim-patch:8.2.2611: conditions for startup tests are not exactly right
Problem: Conditions for startup tests are not exactly right. Solution: Check for type of GUI instead of MS-Windows. (Ozaki Kiichi, closes vim/vim#7976) https://github.com/vim/vim/commit/f8c52e8d08de3fdf48db877d7d53d2d68c6ceb7b
Diffstat (limited to 'src')
-rw-r--r--src/nvim/testdir/check.vim27
-rw-r--r--src/nvim/testdir/test_startup.vim13
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')