annotate src/testdir/test_gui.vim @ 15294:2d8225cc1315 v8.1.0655

patch 8.1.0655: when appending a line text property flags are not added commit https://github.com/vim/vim/commit/b56ac049ea6ca77a0a9b0a415bac5e82ae60b842 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Dec 28 23:22:40 2018 +0100 patch 8.1.0655: when appending a line text property flags are not added Problem: When appending a line text property flags are not added. Solution: Add text properties to a newly added line.
author Bram Moolenaar <Bram@vim.org>
date Fri, 28 Dec 2018 23:30:05 +0100
parents a179e5cfcab7
children f20d90aeecaa
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests specifically for the GUI
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
2
12106
d2c20ec4b95a patch 8.0.0933: terminal test tries to start GUI when it's not possible
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
3 source shared.vim
d2c20ec4b95a patch 8.0.0933: terminal test tries to start GUI when it's not possible
Christian Brabandt <cb@256bit.org>
parents: 11183
diff changeset
4 if !CanRunGui()
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
5 finish
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 endif
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
8 source setup_gui.vim
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
9
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
10 func Setup()
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
11 call GUISetUpCommon()
9830
6049c1f01391 commit https://github.com/vim/vim/commit/50fa8dd00c241fa0786fe92ecc02fee4e5d28e06
Christian Brabandt <cb@256bit.org>
parents: 9760
diff changeset
12 endfunc
6049c1f01391 commit https://github.com/vim/vim/commit/50fa8dd00c241fa0786fe92ecc02fee4e5d28e06
Christian Brabandt <cb@256bit.org>
parents: 9760
diff changeset
13
6049c1f01391 commit https://github.com/vim/vim/commit/50fa8dd00c241fa0786fe92ecc02fee4e5d28e06
Christian Brabandt <cb@256bit.org>
parents: 9760
diff changeset
14 func TearDown()
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
15 call GUITearDownCommon()
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
16 endfunc
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
17
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
18 " Test for resetting "secure" flag after GUI has started.
13351
33a2277b8d4d patch 8.0.1549: various small problems in test files
Christian Brabandt <cb@256bit.org>
parents: 12106
diff changeset
19 " Must be run first, since it starts the GUI on Unix.
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
20 func Test_1_set_secure()
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
21 set exrc secure
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
22 gui -f
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
23 call assert_equal(1, has('gui_running'))
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
24 endfunc
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
25
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
26 " As for non-GUI, a balloon_show() test was already added with patch 8.0.0401
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
27 func Test_balloon_show()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
28 if has('balloon_eval')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
29 " This won't do anything but must not crash either.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
30 call balloon_show('hi!')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
31 endif
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
32 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
33
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
34 func Test_colorscheme()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
35 let colorscheme_saved = exists('g:colors_name') ? g:colors_name : 'default'
13810
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
36 let g:color_count = 0
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
37 augroup TestColors
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
38 au!
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
39 au ColorScheme * let g:color_count += 1| let g:after_colors = g:color_count
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
40 au ColorSchemePre * let g:color_count += 1 |let g:before_colors = g:color_count
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
41 augroup END
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
42
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
43 colorscheme torte
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
44 redraw!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
45 sleep 200m
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
46 call assert_equal('dark', &background)
13810
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
47 call assert_equal(1, g:before_colors)
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
48 call assert_equal(2, g:after_colors)
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
49
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
50 exec 'colorscheme' colorscheme_saved
13810
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
51 augroup TestColors
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
52 au!
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
53 augroup END
cad480bac9e1 patch 8.0.1777: cannot cleanup before loading another colorscheme
Christian Brabandt <cb@256bit.org>
parents: 13351
diff changeset
54 unlet g:color_count g:after_colors g:before_colors
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
55 redraw!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
56 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
57
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
58 func Test_getfontname_with_arg()
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
59 let skipped = ''
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
60
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
61 if !g:x11_based_gui
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
62 let skipped = g:not_implemented
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
63 elseif has('gui_athena') || has('gui_motif')
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
64 " Invalid font name. The result should be an empty string.
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
65 call assert_equal('', getfontname('notexist'))
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
66
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
67 " Valid font name. This is usually the real name of 7x13 by default.
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
68 let fname = '-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO8859-1'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
69 call assert_match(fname, getfontname(fname))
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
70
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
71 elseif has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
72 " Invalid font name. The result should be the name plus the default size.
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
73 call assert_equal('notexist 10', getfontname('notexist'))
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
74
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
75 " Valid font name. This is usually the real name of Monospace by default.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
76 let fname = 'Bitstream Vera Sans Mono 12'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
77 call assert_equal(fname, getfontname(fname))
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
78 endif
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
79
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
80 if !empty(skipped)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
81 throw skipped
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
82 endif
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
83 endfunc
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
84
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
85 func Test_getfontname_without_arg()
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
86 let skipped = ''
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
87
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
88 let fname = getfontname()
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
89
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
90 if !g:x11_based_gui
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
91 let skipped = g:not_implemented
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
92 elseif has('gui_kde')
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
93 " 'expected' is the value specified by SetUp() above.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
94 call assert_equal('Courier 10 Pitch/8/-1/5/50/0/0/0/0/0', fname)
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
95 elseif has('gui_athena') || has('gui_motif')
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
96 " 'expected' is DFLT_FONT of gui_x11.c or its real name.
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
97 let pat = '\(7x13\)\|\(\c-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO8859-1\)'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
98 call assert_match(pat, fname)
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
99 elseif has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
100 " 'expected' is DEFAULT_FONT of gui_gtk_x11.c.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
101 call assert_equal('Monospace 10', fname)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
102 endif
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
103
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
104 if !empty(skipped)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
105 throw skipped
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
106 endif
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
107 endfunc
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
108
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
109 func Test_getwinpos()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
110 call assert_match('Window position: X \d\+, Y \d\+', execute('winpos'))
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
111 call assert_true(getwinposx() >= 0)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
112 call assert_true(getwinposy() >= 0)
13940
70e36e1ca442 patch 8.0.1840: getwinpos() is not tested
Christian Brabandt <cb@256bit.org>
parents: 13843
diff changeset
113 call assert_equal([getwinposx(), getwinposy()], getwinpos())
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
114 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
115
10972
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
116 func Test_quoteplus()
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
117 let skipped = ''
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
118
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
119 if !g:x11_based_gui
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
120 let skipped = g:not_supported . 'quoteplus'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
121 else
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
122 let quoteplus_saved = @+
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
123
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
124 let test_call = 'Can you hear me?'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
125 let test_response = 'Yes, I can.'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
126 let vim_exe = exepath(v:progpath)
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
127 let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;'
11012
ae2de10e8398 patch 8.0.0395: testing the + register fails with Motif
Christian Brabandt <cb@256bit.org>
parents: 11006
diff changeset
128 \ . vim_exe
11028
4df1647531a6 patch 8.0.0403: GUI tests may fail
Christian Brabandt <cb@256bit.org>
parents: 11012
diff changeset
129 \ . ' -u NONE -U NONE --noplugin --not-a-term -c ''%s'''
11012
ae2de10e8398 patch 8.0.0395: testing the + register fails with Motif
Christian Brabandt <cb@256bit.org>
parents: 11006
diff changeset
130 " Ignore the "failed to create input context" error.
11028
4df1647531a6 patch 8.0.0403: GUI tests may fail
Christian Brabandt <cb@256bit.org>
parents: 11012
diff changeset
131 let cmd = 'call test_ignore_error("E285") | '
4df1647531a6 patch 8.0.0403: GUI tests may fail
Christian Brabandt <cb@256bit.org>
parents: 11012
diff changeset
132 \ . 'gui -f | '
4df1647531a6 patch 8.0.0403: GUI tests may fail
Christian Brabandt <cb@256bit.org>
parents: 11012
diff changeset
133 \ . 'call feedkeys("'
10972
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
134 \ . '\"+p'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
135 \ . ':s/' . test_call . '/' . test_response . '/\<CR>'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
136 \ . '\"+yis'
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
137 \ . ':q!\<CR>", "tx")'
11028
4df1647531a6 patch 8.0.0403: GUI tests may fail
Christian Brabandt <cb@256bit.org>
parents: 11012
diff changeset
138 let run_vimtest = printf(testee, cmd)
10972
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
139
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
140 " Set the quoteplus register to test_call, and another gvim will launched.
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
141 " Then, it first tries to paste the content of its own quotedplus register
13940
70e36e1ca442 patch 8.0.1840: getwinpos() is not tested
Christian Brabandt <cb@256bit.org>
parents: 13843
diff changeset
142 " onto it. Second, it tries to substitute test_response for the pasted
10972
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
143 " sentence. If the sentence is identical to test_call, the substitution
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
144 " should succeed. Third, it tries to yank the result of the substitution
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
145 " to its own quoteplus register, and last it quits. When system()
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
146 " returns, the content of the quoteplus register should be identical to
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
147 " test_response if those quoteplus registers are synchronized properly
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
148 " with/through the X11 clipboard.
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
149 let @+ = test_call
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
150 call system(run_vimtest)
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
151 call assert_equal(test_response, @+)
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
152
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
153 let @+ = quoteplus_saved
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
154 endif
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
155
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
156 if !empty(skipped)
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
157 throw skipped
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
158 endif
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
159 endfunc
488cda29455b patch 8.0.0375: the "+ register is not tested
Christian Brabandt <cb@256bit.org>
parents: 10944
diff changeset
160
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
161 func Test_set_background()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
162 let background_saved = &background
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
163
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
164 set background&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
165 call assert_equal('light', &background)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
166
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
167 set background=dark
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
168 call assert_equal('dark', &background)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
169
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
170 let &background = background_saved
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
171 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
172
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
173 func Test_set_balloondelay()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
174 if !exists('+balloondelay')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
175 return
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
176 endif
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
177
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
178 let balloondelay_saved = &balloondelay
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
179
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
180 " Check if the default value is identical to that described in the manual.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
181 set balloondelay&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
182 call assert_equal(600, &balloondelay)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
183
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
184 " Edge cases
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
185
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
186 " XXX This fact should be hidden so that people won't be tempted to write
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
187 " plugin/TimeMachine.vim. TODO Add reasonable range checks to the source
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
188 " code.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
189 set balloondelay=-1
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
190 call assert_equal(-1, &balloondelay)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
191
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
192 " Though it's possible to interpret the zero delay to be 'as soon as
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
193 " possible' or even 'indefinite', its actual meaning depends on the GUI
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
194 " toolkit in use after all.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
195 set balloondelay=0
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
196 call assert_equal(0, &balloondelay)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
197
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
198 set balloondelay=1
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
199 call assert_equal(1, &balloondelay)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
200
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
201 " Since p_bdelay is of type long currently, the upper bound can be
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
202 " impractically huge and machine-dependent. Practically, it's sufficient
11052
975f54a391ec patch 8.0.0415: balloon test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11050
diff changeset
203 " to check if balloondelay works with 0x7fffffff (32 bits) for now.
975f54a391ec patch 8.0.0415: balloon test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11050
diff changeset
204 set balloondelay=2147483647
975f54a391ec patch 8.0.0415: balloon test fails on MS-Windows
Christian Brabandt <cb@256bit.org>
parents: 11050
diff changeset
205 call assert_equal(2147483647, &balloondelay)
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
206
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
207 let &balloondelay = balloondelay_saved
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
208 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
209
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
210 func Test_set_ballooneval()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
211 if !exists('+ballooneval')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
212 return
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
213 endif
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
214
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
215 let ballooneval_saved = &ballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
216
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
217 set ballooneval&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
218 call assert_equal(0, &ballooneval)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
219
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
220 set ballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
221 call assert_notequal(0, &ballooneval)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
222
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
223 set noballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
224 call assert_equal(0, &ballooneval)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
225
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
226 let &ballooneval = ballooneval_saved
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
227 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
228
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
229 func Test_set_balloonexpr()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
230 if !exists('+balloonexpr')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
231 return
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
232 endif
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
233
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
234 let balloonexpr_saved = &balloonexpr
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
235
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
236 " Default value
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
237 set balloonexpr&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
238 call assert_equal('', &balloonexpr)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
239
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
240 " User-defined function
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
241 new
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
242 func MyBalloonExpr()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
243 return 'Cursor is at line ' . v:beval_lnum .
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
244 \', column ' . v:beval_col .
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
245 \ ' of file ' . bufname(v:beval_bufnr) .
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
246 \ ' on word "' . v:beval_text . '"' .
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
247 \ ' in window ' . v:beval_winid . ' (#' . v:beval_winnr . ')'
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
248 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
249 setl balloonexpr=MyBalloonExpr()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
250 setl ballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
251 call assert_equal('MyBalloonExpr()', &balloonexpr)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
252 " TODO Read non-empty text, place the pointer at a character of a word,
13940
70e36e1ca442 patch 8.0.1840: getwinpos() is not tested
Christian Brabandt <cb@256bit.org>
parents: 13843
diff changeset
253 " and check if the content of the balloon is the same as what is expected.
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
254 " Also, check if textlock works as expected.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
255 setl balloonexpr&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
256 call assert_equal('', &balloonexpr)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
257 delfunc MyBalloonExpr
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
258 bwipe!
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
259
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
260 " Multiline support
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
261 if has('balloon_multiline')
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
262 " Multiline balloon using NL
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
263 new
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
264 func MyBalloonFuncForMultilineUsingNL()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
265 return "Multiline\nSuppported\nBalloon\nusing NL"
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
266 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
267 setl balloonexpr=MyBalloonFuncForMultilineUsingNL()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
268 setl ballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
269 call assert_equal('MyBalloonFuncForMultilineUsingNL()', &balloonexpr)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
270 " TODO Read non-empty text, place the pointer at a character of a word,
13940
70e36e1ca442 patch 8.0.1840: getwinpos() is not tested
Christian Brabandt <cb@256bit.org>
parents: 13843
diff changeset
271 " and check if the content of the balloon is the same as what is
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
272 " expected. Also, check if textlock works as expected.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
273 setl balloonexpr&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
274 delfunc MyBalloonFuncForMultilineUsingNL
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
275 bwipe!
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
276
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
277 " Multiline balloon using List
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
278 new
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
279 func MyBalloonFuncForMultilineUsingList()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
280 return [ 'Multiline', 'Suppported', 'Balloon', 'using List' ]
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
281 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
282 setl balloonexpr=MyBalloonFuncForMultilineUsingList()
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
283 setl ballooneval
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
284 call assert_equal('MyBalloonFuncForMultilineUsingList()', &balloonexpr)
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
285 " TODO Read non-empty text, place the pointer at a character of a word,
13940
70e36e1ca442 patch 8.0.1840: getwinpos() is not tested
Christian Brabandt <cb@256bit.org>
parents: 13843
diff changeset
286 " and check if the content of the balloon is the same as what is
11050
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
287 " expected. Also, check if textlock works as expected.
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
288 setl balloonexpr&
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
289 delfunc MyBalloonFuncForMultilineUsingList
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
290 bwipe!
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
291 endif
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
292
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
293 let &balloonexpr = balloonexpr_saved
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
294 endfunc
622ed5a4925f patch 8.0.0414: balloon eval is not tested
Christian Brabandt <cb@256bit.org>
parents: 11028
diff changeset
295
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
296 " Invalid arguments are tested with test_options in conjunction with segfaults
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
297 " caused by them (Patch 8.0.0357, 24922ec233).
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
298 func Test_set_guicursor()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
299 let guicursor_saved = &guicursor
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
300
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
301 let default = [
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
302 \ "n-v-c:block-Cursor/lCursor",
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
303 \ "ve:ver35-Cursor",
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
304 \ "o:hor50-Cursor",
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
305 \ "i-ci:ver25-Cursor/lCursor",
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
306 \ "r-cr:hor20-Cursor/lCursor",
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
307 \ "sm:block-Cursor-blinkwait175-blinkoff150-blinkon175"
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
308 \ ]
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
309
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
310 " Default Value
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
311 set guicursor&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
312 call assert_equal(join(default, ','), &guicursor)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
313
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
314 " Argument List Example 1
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
315 let opt_list = copy(default)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
316 let opt_list[0] = "n-c-v:block-nCursor"
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
317 exec "set guicursor=" . join(opt_list, ',')
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
318 call assert_equal(join(opt_list, ','), &guicursor)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
319 unlet opt_list
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
320
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
321 " Argument List Example 2
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
322 let opt_list = copy(default)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
323 let opt_list[3] = "i-ci:ver30-iCursor-blinkwait300-blinkon200-blinkoff150"
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
324 exec "set guicursor=" . join(opt_list, ',')
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
325 call assert_equal(join(opt_list, ','), &guicursor)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
326 unlet opt_list
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
327
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
328 " 'a' Mode
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
329 set guicursor&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
330 let &guicursor .= ',a:blinkon0'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
331 call assert_equal(join(default, ',') . ",a:blinkon0", &guicursor)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
332
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
333 let &guicursor = guicursor_saved
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
334 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
335
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
336 func Test_set_guifont()
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
337 let skipped = ''
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
338
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
339 let guifont_saved = &guifont
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
340 if has('xfontset')
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
341 " Prevent 'guifontset' from canceling 'guifont'.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
342 let guifontset_saved = &guifontset
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
343 set guifontset=
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
344 endif
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
345
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
346 if !g:x11_based_gui
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
347 let skipped = g:not_implemented
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
348 elseif has('gui_athena') || has('gui_motif')
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
349 " Non-empty font list with invalid font names.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
350 "
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
351 " This test is twofold: (1) It checks if the command fails as expected
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
352 " when there are no loadable fonts found in the list. (2) It checks if
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
353 " 'guifont' remains the same after the command loads none of the fonts
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
354 " listed.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
355 let flist = &guifont
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
356 call assert_fails('set guifont=-notexist1-*,-notexist2-*')
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
357 call assert_equal(flist, &guifont)
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
358
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
359 " Non-empty font list with a valid font name. Should pick up the first
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
360 " valid font.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
361 set guifont=-notexist1-*,fixed,-notexist2-*
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
362 let pat = '\(fixed\)\|\(\c-Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO8859-1\)'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
363 call assert_match(pat, getfontname())
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
364
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
365 " Empty list. Should fallback to the built-in default.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
366 set guifont=
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
367 let pat = '\(7x13\)\|\(\c-Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO8859-1\)'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
368 call assert_match(pat, getfontname())
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
369
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
370 elseif has('gui_gtk2') || has('gui_gnome') || has('gui_gtk3')
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
371 " For GTK, what we refer to as 'font names' in our manual are actually
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
372 " 'initial font patterns'. A valid font which matches the 'canonical font
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
373 " pattern' constructed from a given 'initial pattern' is to be looked up
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
374 " and loaded. That explains why the GTK GUIs appear to accept 'invalid
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
375 " font names'.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
376 "
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
377 " Non-empty list. Should always pick up the first element, no matter how
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
378 " strange it is, as explained above.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
379 set guifont=(´・ω・`)\ 12,Courier\ 12
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
380 call assert_equal('(´・ω・`) 12', getfontname())
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
381
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
382 " Empty list. Should fallback to the built-in default.
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
383 set guifont=
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
384 call assert_equal('Monospace 10', getfontname())
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
385 endif
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
386
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
387 if has('xfontset')
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
388 let &guifontset = guifontset_saved
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
389 endif
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
390 let &guifont = guifont_saved
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
391
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
392 if !empty(skipped)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
393 throw skipped
10855
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
394 endif
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
395 endfunc
0beffabed338 patch 8.0.0317: no test for setting 'guifont'
Christian Brabandt <cb@256bit.org>
parents: 10847
diff changeset
396
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
397 func Test_set_guifontset()
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
398 let skipped = ''
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
399
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
400 if !has('xfontset')
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
401 let skipped = g:not_supported . 'xfontset'
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
402 else
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
403 let ctype_saved = v:ctype
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
404
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
405 " First, since XCreateFontSet(3) is very sensitive to locale, fonts must
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
406 " be chosen meticulously.
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
407 let font_head = '-misc-fixed-medium-r-normal--14'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
408
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
409 let font_aw70 = font_head . '-130-75-75-c-70'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
410 let font_aw140 = font_head . '-130-75-75-c-140'
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
411
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
412 let font_jisx0201 = font_aw70 . '-jisx0201.1976-0'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
413 let font_jisx0208 = font_aw140 . '-jisx0208.1983-0'
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
414
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
415 let full_XLFDs = join([ font_jisx0208, font_jisx0201 ], ',')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
416 let short_XLFDs = join([ font_aw140, font_aw70 ], ',')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
417 let singleton = font_head . '-*'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
418 let aliases = 'k14,r14'
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
419
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
420 " Second, among 'locales', look up such a locale that gets 'set
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
421 " guifontset=' to work successfully with every fontset specified with
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
422 " 'fontsets'.
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
423 let locales = [ 'ja_JP.UTF-8', 'ja_JP.eucJP', 'ja_JP.SJIS' ]
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
424 let fontsets = [ full_XLFDs, short_XLFDs, singleton, aliases ]
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
425
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
426 let feasible = 0
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
427 for locale in locales
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
428 try
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
429 exec 'language ctype' locale
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
430 catch /^Vim\%((\a\+)\)\=:E197/
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
431 continue
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
432 endtry
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
433 let done = 0
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
434 for fontset in fontsets
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
435 try
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
436 exec 'set guifontset=' . fontset
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
437 catch /^Vim\%((\a\+)\)\=:E\%(250\|252\|234\|597\|598\)/
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
438 break
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
439 endtry
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
440 let done += 1
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
441 endfor
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
442 if done == len(fontsets)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
443 let feasible = 1
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
444 break
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
445 endif
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
446 endfor
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
447
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
448 " Third, give a set of tests if it is found feasible.
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
449 if !feasible
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
450 let skipped = g:not_hosted
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
451 else
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
452 " N.B. 'v:ctype' has already been set to an appropriate value in the
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
453 " previous loop.
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
454 for fontset in fontsets
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
455 exec 'set guifontset=' . fontset
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
456 call assert_equal(fontset, &guifontset)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
457 endfor
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
458 endif
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
459
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
460 " Finally, restore ctype.
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
461 exec 'language ctype' ctype_saved
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
462 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
463
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
464 if !empty(skipped)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
465 throw skipped
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
466 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
467 endfunc
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
468
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
469 func Test_set_guifontwide()
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
470 let skipped = ''
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
471
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
472 if !g:x11_based_gui
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
473 let skipped = g:not_implemented
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
474 elseif has('gui_gtk')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
475 let guifont_saved = &guifont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
476 let guifontwide_saved = &guifontwide
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
477
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
478 let fc_match = exepath('fc-match')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
479 if empty(fc_match)
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
480 let skipped = g:not_hosted
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
481 else
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
482 let &guifont = system('fc-match -f "%{family[0]} %{size}" monospace:size=10:lang=en')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
483 let wide = system('fc-match -f "%{family[0]} %{size}" monospace:size=10:lang=ja')
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
484 exec 'set guifontwide=' . fnameescape(wide)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
485 call assert_equal(wide, &guifontwide)
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
486 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
487
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
488 let &guifontwide = guifontwide_saved
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
489 let &guifont = guifont_saved
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
490
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
491 elseif has('gui_athena') || has('gui_motif')
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
492 " guifontwide is premised upon the xfontset feature.
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
493 if !has('xfontset')
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
494 let skipped = g:not_supported . 'xfontset'
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
495 else
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
496 let encoding_saved = &encoding
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
497 let guifont_saved = &guifont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
498 let guifontset_saved = &guifontset
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
499 let guifontwide_saved = &guifontwide
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
500
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
501 let nfont = '-misc-fixed-medium-r-normal-*-18-120-100-100-c-90-iso10646-1'
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
502 let wfont = '-misc-fixed-medium-r-normal-*-18-120-100-100-c-180-iso10646-1'
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
503
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
504 set encoding=utf-8
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
505
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
506 " Case 1: guifontset is empty
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
507 set guifontset=
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
508
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
509 " Case 1-1: Automatic selection
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
510 set guifontwide=
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
511 exec 'set guifont=' . nfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
512 call assert_equal(wfont, &guifontwide)
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
513
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
514 " Case 1-2: Manual selection
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
515 exec 'set guifontwide=' . wfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
516 exec 'set guifont=' . nfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
517 call assert_equal(wfont, &guifontwide)
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
518
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
519 " Case 2: guifontset is invalid
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
520 try
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
521 set guifontset=-*-notexist-*
11183
1c4ebbae41d2 patch 8.0.0478: tests use assert_true(0) and assert_false(1) to report errors
Christian Brabandt <cb@256bit.org>
parents: 11119
diff changeset
522 call assert_report("'set guifontset=-*-notexist-*' should have failed")
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
523 catch
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
524 call assert_exception('E598')
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
525 endtry
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
526 " Set it to an invalid value brutally for preparation.
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
527 let &guifontset = '-*-notexist-*'
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
528
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
529 " Case 2-1: Automatic selection
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
530 set guifontwide=
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
531 exec 'set guifont=' . nfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
532 call assert_equal(wfont, &guifontwide)
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
533
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
534 " Case 2-2: Manual selection
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
535 exec 'set guifontwide=' . wfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
536 exec 'set guifont=' . nfont
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
537 call assert_equal(wfont, &guifontwide)
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
538
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
539 let &guifontwide = guifontwide_saved
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
540 let &guifontset = guifontset_saved
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
541 let &guifont = guifont_saved
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
542 let &encoding = encoding_saved
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
543 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
544 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
545
10885
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
546 if !empty(skipped)
310834b0256a patch 8.0.0332: GUI test fails on some systems
Christian Brabandt <cb@256bit.org>
parents: 10879
diff changeset
547 throw skipped
10879
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
548 endif
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
549 endfunc
1fce74a5a628 patch 8.0.0329: xfontset and guifontwide are not tested
Christian Brabandt <cb@256bit.org>
parents: 10857
diff changeset
550
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
551 func Test_set_guiheadroom()
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
552 let skipped = ''
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
553
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
554 if !g:x11_based_gui
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
555 let skipped = g:not_supported . 'guiheadroom'
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
556 else
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
557 " Since this script is to be read together with '-U NONE', the default
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
558 " value must be preserved.
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
559 call assert_equal(50, &guiheadroom)
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
560 endif
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
561
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
562 if !empty(skipped)
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
563 throw skipped
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
564 endif
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
565 endfunc
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
566
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
567 func Test_set_guioptions()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
568 let guioptions_saved = &guioptions
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
569 let duration = '200m'
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
570
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
571 if has('win32')
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
572 " Default Value
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
573 set guioptions&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
574 call assert_equal('egmrLtT', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
575
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
576 else
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
577 " Default Value
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
578 set guioptions&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
579 call assert_equal('aegimrLtT', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
580
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
581 " To activate scrollbars of type 'L' or 'R'.
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
582 wincmd v
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
583 redraw!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
584
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
585 " Remove all default GUI ornaments
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
586 set guioptions-=T
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
587 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
588 call assert_equal('aegimrLt', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
589 set guioptions-=t
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
590 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
591 call assert_equal('aegimrL', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
592 set guioptions-=L
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
593 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
594 call assert_equal('aegimr', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
595 set guioptions-=r
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
596 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
597 call assert_equal('aegim', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
598 set guioptions-=m
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
599 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
600 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
601
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
602 " Try non-default GUI ornaments
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
603 set guioptions+=l
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
604 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
605 call assert_equal('aegil', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
606 set guioptions-=l
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
607 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
608 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
609
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
610 set guioptions+=R
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
611 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
612 call assert_equal('aegiR', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
613 set guioptions-=R
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
614 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
615 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
616
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
617 set guioptions+=b
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
618 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
619 call assert_equal('aegib', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
620 set guioptions+=h
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
621 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
622 call assert_equal('aegibh', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
623 set guioptions-=h
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
624 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
625 call assert_equal('aegib', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
626 set guioptions-=b
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
627 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
628 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
629
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
630 set guioptions+=v
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
631 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
632 call assert_equal('aegiv', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
633 set guioptions-=v
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
634 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
635 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
636
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
637 if has('gui_motif')
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
638 set guioptions+=F
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
639 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
640 call assert_equal('aegiF', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
641 set guioptions-=F
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
642 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
643 call assert_equal('aegi', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
644 endif
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
645
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
646 " Restore GUI ornaments to the default state.
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
647 set guioptions+=m
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
648 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
649 call assert_equal('aegim', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
650 set guioptions+=r
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
651 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
652 call assert_equal('aegimr', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
653 set guioptions+=L
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
654 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
655 call assert_equal('aegimrL', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
656 set guioptions+=t
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
657 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
658 call assert_equal('aegimrLt', &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
659 set guioptions+=T
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
660 exec 'sleep' . duration
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
661 call assert_equal("aegimrLtT", &guioptions)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
662
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
663 wincmd o
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
664 redraw!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
665 endif
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
666
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
667 let &guioptions = guioptions_saved
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
668 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
669
14756
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
670 func Test_scrollbars()
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
671 new
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
672 " buffer with 200 lines
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
673 call setline(1, repeat(['one', 'two'], 100))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
674 set guioptions+=rlb
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
675
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
676 " scroll to move line 11 at top, moves the cursor there
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
677 call test_scrollbar('left', 10, 0)
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
678 redraw
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
679 call assert_equal(1, winline())
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
680 call assert_equal(11, line('.'))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
681
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
682 " scroll to move line 1 at top, cursor stays in line 11
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
683 call test_scrollbar('right', 0, 0)
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
684 redraw
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
685 call assert_equal(11, winline())
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
686 call assert_equal(11, line('.'))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
687
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
688 set nowrap
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
689 call setline(11, repeat('x', 150))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
690 redraw
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
691 call assert_equal(1, wincol())
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
692 call assert_equal(1, col('.'))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
693
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
694 " scroll to character 11, cursor is moved
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
695 call test_scrollbar('hor', 10, 0)
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
696 redraw
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
697 call assert_equal(1, wincol())
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
698 call assert_equal(11, col('.'))
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
699
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
700 set guioptions&
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
701 set wrap&
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
702 bwipe!
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
703 endfunc
a179e5cfcab7 patch 8.1.0390: scrollbars are not tested
Christian Brabandt <cb@256bit.org>
parents: 13940
diff changeset
704
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
705 func Test_set_guipty()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
706 let guipty_saved = &guipty
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
707
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
708 " Default Value
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
709 set guipty&
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
710 call assert_equal(1, &guipty)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
711
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
712 set noguipty
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
713 call assert_equal(0, &guipty)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
714
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
715 let &guipty = guipty_saved
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
716 endfunc
10841
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
717
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
718 func Test_shell_command()
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
719 new
9760
96667173293d commit https://github.com/vim/vim/commit/9d5b876d458e242b8b5e44da10c5cdc6bbb7f57c
Christian Brabandt <cb@256bit.org>
parents: 9756
diff changeset
720 r !echo hello
96667173293d commit https://github.com/vim/vim/commit/9d5b876d458e242b8b5e44da10c5cdc6bbb7f57c
Christian Brabandt <cb@256bit.org>
parents: 9756
diff changeset
721 call assert_equal('hello', substitute(getline(2), '\W', '', 'g'))
9756
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
722 bwipe!
00d753ea19a9 commit https://github.com/vim/vim/commit/877e95779869c5426102aa491f67d99904c8534c
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
723 endfunc
10841
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
724
11119
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
725 func Test_syntax_colortest()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
726 runtime syntax/colortest.vim
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
727 redraw!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
728 sleep 200m
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
729 bwipe!
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
730 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
731
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
732 func Test_set_term()
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
733 " It's enough to check the current value since setting 'term' to anything
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
734 " other than builtin_gui makes no sense at all.
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
735 call assert_equal('builtin_gui', &term)
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
736 endfunc
d8a550329a97 patch 8.0.0447: getting font name does not work on X11
Christian Brabandt <cb@256bit.org>
parents: 11052
diff changeset
737
10841
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
738 func Test_windowid_variable()
10944
4e2cdce4576c patch 8.0.0361: GUI initialisation is not sufficiently tested
Christian Brabandt <cb@256bit.org>
parents: 10885
diff changeset
739 if g:x11_based_gui || has('win32')
10841
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
740 call assert_true(v:windowid > 0)
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
741 else
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
742 call assert_equal(0, v:windowid)
5c0415a8b96e patch 8.0.0310: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10777
diff changeset
743 endif
10847
881194ae47a1 patch 8.0.0313: not enough testing for GUI functionality
Christian Brabandt <cb@256bit.org>
parents: 10841
diff changeset
744 endfunc
13843
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
745
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
746 " Test "vim -g" and also the GUIEnter autocommand.
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
747 func Test_gui_dash_g()
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
748 let cmd = GetVimCommand('Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
749 call writefile([""], "Xtestgui")
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
750 call writefile([
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
751 \ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
752 \ 'au GUIEnter * qall',
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
753 \ ], 'Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
754 call system(cmd . ' -g')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
755 call WaitForAssert({-> assert_equal(['insertmode: 0'], readfile('Xtestgui'))})
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
756
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
757 call delete('Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
758 call delete('Xtestgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
759 endfunc
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
760
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
761 " Test "vim -7" and also the GUIEnter autocommand.
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
762 func Test_gui_dash_y()
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
763 let cmd = GetVimCommand('Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
764 call writefile([""], "Xtestgui")
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
765 call writefile([
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
766 \ 'au GUIEnter * call writefile(["insertmode: " . &insertmode], "Xtestgui")',
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
767 \ 'au GUIEnter * qall',
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
768 \ ], 'Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
769 call system(cmd . ' -y')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
770 call WaitForAssert({-> assert_equal(['insertmode: 1'], readfile('Xtestgui'))})
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
771
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
772 call delete('Xscriptgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
773 call delete('Xtestgui')
619730d0d864 patch 8.0.1793: no test for "vim -g"
Christian Brabandt <cb@256bit.org>
parents: 13810
diff changeset
774 endfunc