summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_gui_init.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_gui_init.vim')
-rw-r--r--src/testdir/test_gui_init.vim61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/testdir/test_gui_init.vim b/src/testdir/test_gui_init.vim
new file mode 100644
index 0000000..638708f
--- /dev/null
+++ b/src/testdir/test_gui_init.vim
@@ -0,0 +1,61 @@
+" Tests specifically for the GUI features/options that need to be set up at
+" startup to take effect at runtime.
+
+source shared.vim
+if !CanRunGui()
+ finish
+endif
+
+source setup_gui.vim
+
+func Setup()
+ call GUISetUpCommon()
+endfunc
+
+func TearDown()
+ call GUITearDownCommon()
+endfunc
+
+" Ignore the "failed to create input context" error.
+call test_ignore_error('E285:')
+
+" Start the GUI now, in the foreground.
+gui -f
+
+func Test_set_guiheadroom()
+ let skipped = ''
+
+ if !g:x11_based_gui
+ let skipped = g:not_supported . 'guiheadroom'
+ else
+ " The 'expected' value must be consistent with the value specified with
+ " gui_init.vim.
+ call assert_equal(0, &guiheadroom)
+ endif
+
+ if !empty(skipped)
+ throw skipped
+ endif
+endfunc
+
+func Test_set_guioptions_for_M()
+ sleep 200ms
+ " Check if the 'M' option is included.
+ call assert_match('.*M.*', &guioptions)
+endfunc
+
+func Test_set_guioptions_for_p()
+ let skipped = ''
+
+ if !g:x11_based_gui
+ let skipped = g:not_supported . '''p'' of guioptions'
+ else
+ sleep 200ms
+ " Check if the 'p' option is included.
+ call assert_match('.*p.*', &guioptions)
+ endif
+
+ if !empty(skipped)
+ throw skipped
+ endif
+endfunc