Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 1 | " Tests specifically for the GUI |
| 2 | |
| 3 | if !has('gui') || ($DISPLAY == "" && !has('gui_running')) |
| 4 | finish |
| 5 | endif |
| 6 | |
Bram Moolenaar | 13c724f | 2017-02-05 20:54:26 +0100 | [diff] [blame] | 7 | let s:x11_based_gui = has('gui_athena') || has('gui_motif') |
| 8 | \ || has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3') |
| 9 | |
Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 10 | " For KDE set a font, empty 'guifont' may cause a hang. |
| 11 | func SetUp() |
| 12 | if has("gui_kde") |
| 13 | set guifont=Courier\ 10\ Pitch/8/-1/5/50/0/0/0/0/0 |
| 14 | endif |
Bram Moolenaar | 50fa8dd | 2016-08-09 22:58:21 +0200 | [diff] [blame] | 15 | |
Bram Moolenaar | f1ab9c1 | 2017-02-01 12:32:58 +0100 | [diff] [blame] | 16 | " Gnome insists on creating $HOME/.gnome2/, set $HOME to avoid changing the |
| 17 | " actual home directory. But avoid triggering fontconfig by setting the |
| 18 | " cache directory. Only needed for Unix. |
| 19 | if $XDG_CACHE_HOME == '' && exists('g:tester_HOME') |
Bram Moolenaar | 56e6bd7 | 2017-02-01 12:08:47 +0100 | [diff] [blame] | 20 | let $XDG_CACHE_HOME = g:tester_HOME . '/.cache' |
| 21 | endif |
Bram Moolenaar | 50fa8dd | 2016-08-09 22:58:21 +0200 | [diff] [blame] | 22 | call mkdir('Xhome') |
| 23 | let $HOME = fnamemodify('Xhome', ':p') |
| 24 | endfunc |
| 25 | |
| 26 | func TearDown() |
| 27 | call delete('Xhome', 'rf') |
Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 28 | endfunc |
| 29 | |
| 30 | " Test for resetting "secure" flag after GUI has started. |
| 31 | " Must be run first. |
| 32 | func Test_1_set_secure() |
| 33 | set exrc secure |
| 34 | gui -f |
| 35 | call assert_equal(1, has('gui_running')) |
| 36 | endfunc |
| 37 | |
Bram Moolenaar | 13c724f | 2017-02-05 20:54:26 +0100 | [diff] [blame] | 38 | func Test_getwinpos() |
| 39 | call assert_match('Window position: X \d\+, Y \d\+', execute('winpos')) |
| 40 | call assert_true(getwinposx() >= 0) |
| 41 | call assert_true(getwinposy() >= 0) |
| 42 | endfunction |
| 43 | |
Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 44 | func Test_shell_command() |
| 45 | new |
Bram Moolenaar | 9d5b876 | 2016-08-04 21:21:13 +0200 | [diff] [blame] | 46 | r !echo hello |
| 47 | call assert_equal('hello', substitute(getline(2), '\W', '', 'g')) |
Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 48 | bwipe! |
Bram Moolenaar | 877e957 | 2016-08-04 20:05:50 +0200 | [diff] [blame] | 49 | endfunc |
Bram Moolenaar | 13c724f | 2017-02-05 20:54:26 +0100 | [diff] [blame] | 50 | |
| 51 | func Test_windowid_variable() |
| 52 | if s:x11_based_gui || has('win32') |
| 53 | call assert_true(v:windowid > 0) |
| 54 | else |
| 55 | call assert_equal(0, v:windowid) |
| 56 | endif |
| 57 | endfunction |