Mercurial > vim
annotate src/testdir/test_popupwin.vim @ 28162:6e431b1c51d5 v8.2.4606
patch 8.2.4606: test fails because of changed error message
Commit: https://github.com/vim/vim/commit/e18acb02bb58b2e07f3a52ce619752ba39c05ea2
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Mar 21 20:40:35 2022 +0000
patch 8.2.4606: test fails because of changed error message
Problem: Test fails because of changed error message.
Solution: Update the expected error message
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 21 Mar 2022 21:45:03 +0100 |
parents | a14c4d3e3260 |
children | 8ef5c996df31 |
rev | line source |
---|---|
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Tests for popup windows |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
17089
8e9e9124c7a2
patch 8.1.1544: some balloon tests don't run when they can
Bram Moolenaar <Bram@vim.org>
parents:
17077
diff
changeset
|
3 source check.vim |
18763
49b78d6465e5
patch 8.1.2371: FEAT_TEXT_PROP is a confusing name
Bram Moolenaar <Bram@vim.org>
parents:
18751
diff
changeset
|
4 CheckFeature popupwin |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 source screendump.vim |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 func Test_simple_popup() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
9 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
10 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
11 let lines =<< trim END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
12 call setline(1, range(1, 100)) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
13 hi PopupColor1 ctermbg=lightblue |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
14 hi PopupColor2 ctermbg=lightcyan |
18586
78e43be18f6b
patch 8.1.2287: using EndOfBuffer highlight in popup does not look good
Bram Moolenaar <Bram@vim.org>
parents:
18558
diff
changeset
|
15 hi EndOfBuffer ctermbg=lightgrey |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
16 hi Comment ctermfg=red |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
17 call prop_type_add('comment', #{highlight: 'Comment'}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
18 let winid = popup_create('hello there', #{line: 3, col: 11, minwidth: 20, highlight: 'PopupColor1'}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
19 let winid2 = popup_create(['another one', 'another two', 'another three'], #{line: 3, col: 25, minwidth: 20}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
20 call setwinvar(winid2, '&wincolor', 'PopupColor2') |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
21 END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
22 call writefile(lines, 'XtestPopup') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
23 let buf = RunVimInTerminal('-S XtestPopup', #{rows: 10}) |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 call VerifyScreenDump(buf, 'Test_popupwin_01', {}) |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 |
16794
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
26 " Add a tabpage |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
27 call term_sendkeys(buf, ":tabnew\<CR>") |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
28 call term_sendkeys(buf, ":let popupwin = popup_create([" |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
29 \ .. "#{text: 'other tab'}," |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
30 \ .. "#{text: 'a comment line', props: [#{" |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
31 \ .. "col: 3, length: 7, minwidth: 20, type: 'comment'" |
16811
0457d49eb2d9
patch 8.1.1407: popup_create() does not support text properties
Bram Moolenaar <Bram@vim.org>
parents:
16809
diff
changeset
|
32 \ .. "}]}," |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
33 \ .. "], #{line: 4, col: 9, minwidth: 20})\<CR>") |
16794
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
34 call VerifyScreenDump(buf, 'Test_popupwin_02', {}) |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
35 |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
36 " switch back to first tabpage |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
37 call term_sendkeys(buf, "gt") |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
38 call VerifyScreenDump(buf, 'Test_popupwin_03', {}) |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
39 |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
40 " close that tabpage |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
41 call term_sendkeys(buf, ":quit!\<CR>") |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
42 call VerifyScreenDump(buf, 'Test_popupwin_04', {}) |
ddfa924df50d
patch 8.1.1399: popup windows not adjusted when switching tabs
Bram Moolenaar <Bram@vim.org>
parents:
16778
diff
changeset
|
43 |
17037
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
44 " set 'columns' to a small value, size must be recomputed |
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
45 call term_sendkeys(buf, ":let cols = &columns\<CR>") |
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
46 call term_sendkeys(buf, ":set columns=12\<CR>") |
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
47 call VerifyScreenDump(buf, 'Test_popupwin_04a', {}) |
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
48 call term_sendkeys(buf, ":let &columns = cols\<CR>") |
9297877074a3
patch 8.1.1518: crash when setting 'columns' while a popup is visible
Bram Moolenaar <Bram@vim.org>
parents:
17026
diff
changeset
|
49 |
16839
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
50 " resize popup, show empty line at bottom |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
51 call term_sendkeys(buf, ":call popup_move(popupwin, #{minwidth: 15, maxwidth: 25, minheight: 3, maxheight: 5})\<CR>") |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
52 call term_sendkeys(buf, ":redraw\<CR>") |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
53 call VerifyScreenDump(buf, 'Test_popupwin_05', {}) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
54 |
16839
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
55 " show not fitting line at bottom |
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
56 call term_sendkeys(buf, ":call setbufline(winbufnr(popupwin), 3, 'this line will not fit here')\<CR>") |
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
57 call term_sendkeys(buf, ":redraw\<CR>") |
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
58 call VerifyScreenDump(buf, 'Test_popupwin_06', {}) |
032d5335987e
patch 8.1.1421: drawing "~" line in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16837
diff
changeset
|
59 |
16998
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
60 " move popup over ruler |
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
61 call term_sendkeys(buf, ":set cmdheight=2\<CR>") |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
62 call term_sendkeys(buf, ":call popup_move(popupwin, #{line: 7, col: 55})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
63 call term_sendkeys(buf, ":\<CR>") |
16998
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
64 call VerifyScreenDump(buf, 'Test_popupwin_07', {}) |
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
65 |
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
66 " clear all popups after moving the cursor a bit, so that ruler is updated |
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
67 call term_sendkeys(buf, "axxx\<Esc>") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
68 call TermWait(buf) |
16998
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
69 call term_sendkeys(buf, "0") |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
70 call TermWait(buf) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
71 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
16998
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
72 call VerifyScreenDump(buf, 'Test_popupwin_08', {}) |
2ec0f953ec3f
patch 8.1.1499: ruler not updated after popup window was removed
Bram Moolenaar <Bram@vim.org>
parents:
16965
diff
changeset
|
73 |
16778
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
74 " clean up |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
75 call StopVimInTerminal(buf) |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
76 call delete('XtestPopup') |
eda4d65f232c
patch 8.1.1391: no popup window support
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
77 endfunc |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
78 |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
79 func Test_popup_with_border_and_padding() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
80 CheckScreendump |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
81 |
16886
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
82 for iter in range(0, 1) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
83 let lines =<< trim END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
84 call setline(1, range(1, 100)) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
85 call popup_create('hello border', #{line: 2, col: 3, border: []}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
86 call popup_create('hello padding', #{line: 2, col: 23, padding: []}) |
17628
6146b10714de
patch 8.1.1811: popup window color cannot be set to "Normal"
Bram Moolenaar <Bram@vim.org>
parents:
17626
diff
changeset
|
87 call popup_create('hello both', #{line: 2, col: 43, border: [], padding: [], highlight: 'Normal'}) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
88 call popup_create('border TL', #{line: 6, col: 3, border: [1, 0, 0, 4]}) |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
89 call popup_create('paddings', #{line: 6, col: 23, padding: range(1, 4)}) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
90 call popup_create('wrapped longer text', #{line: 8, col: 55, padding: [0, 3, 0, 3], border: [0, 1, 0, 1]}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
91 call popup_create('right aligned text', #{line: 11, col: 56, wrap: 0, padding: [0, 3, 0, 3], border: [0, 1, 0, 1]}) |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
92 call popup_create('X', #{line: 2, col: 73}) |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
93 call popup_create('X', #{line: 3, col: 74}) |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
94 call popup_create('X', #{line: 4, col: 75}) |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
95 call popup_create('X', #{line: 5, col: 76}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
96 END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
97 call insert(lines, iter == 1 ? '' : 'set enc=latin1') |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
98 call writefile(lines, 'XtestPopupBorder') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
99 let buf = RunVimInTerminal('-S XtestPopupBorder', #{rows: 15}) |
16886
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
100 call VerifyScreenDump(buf, 'Test_popupwin_2' .. iter, {}) |
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
101 |
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
102 call StopVimInTerminal(buf) |
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
103 call delete('XtestPopupBorder') |
2bd51fdcc793
patch 8.1.1444: not using double line characters for popup border
Bram Moolenaar <Bram@vim.org>
parents:
16884
diff
changeset
|
104 endfor |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
105 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
106 let lines =<< trim END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
107 call setline(1, range(1, 100)) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
108 hi BlueColor ctermbg=lightblue |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
109 hi TopColor ctermbg=253 |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
110 hi RightColor ctermbg=245 |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
111 hi BottomColor ctermbg=240 |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
112 hi LeftColor ctermbg=248 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
113 call popup_create('hello border', #{line: 2, col: 3, border: [], borderhighlight: ['BlueColor']}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
114 call popup_create(['hello border', 'and more'], #{line: 2, col: 23, border: [], borderhighlight: ['TopColor', 'RightColor', 'BottomColor', 'LeftColor']}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
115 call popup_create(['hello border', 'lines only'], #{line: 2, col: 43, border: [], borderhighlight: ['BlueColor'], borderchars: ['x']}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
116 call popup_create(['hello border', 'with corners'], #{line: 2, col: 60, border: [], borderhighlight: ['BlueColor'], borderchars: ['x', '#']}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
117 let winid = popup_create(['hello border', 'with numbers'], #{line: 6, col: 3, border: [], borderhighlight: ['BlueColor'], borderchars: ['0', '1', '2', '3', '4', '5', '6', '7']}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
118 call popup_create(['hello border', 'just blanks'], #{line: 7, col: 23, border: [], borderhighlight: ['BlueColor'], borderchars: [' ']}) |
17312
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
119 func MultiByte() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
120 call popup_create(['hello'], #{line: 8, col: 43, border: [], borderchars: ['─', '│', '─', '│', '┌', '┐', '┘', '└']}) |
17312
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
121 endfunc |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
122 END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
123 call writefile(lines, 'XtestPopupBorder') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
124 let buf = RunVimInTerminal('-S XtestPopupBorder', #{rows: 12}) |
16888
ec61b6b79865
patch 8.1.1445: popup window border highlight not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16886
diff
changeset
|
125 call VerifyScreenDump(buf, 'Test_popupwin_22', {}) |
ec61b6b79865
patch 8.1.1445: popup window border highlight not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16886
diff
changeset
|
126 |
17125
b4eb06233448
patch 8.1.1562: popup window not always redrawn after popup_setoptions()
Bram Moolenaar <Bram@vim.org>
parents:
17123
diff
changeset
|
127 " check that changing borderchars triggers a redraw |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
128 call term_sendkeys(buf, ":call popup_setoptions(winid, #{borderchars: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']})\<CR>") |
17125
b4eb06233448
patch 8.1.1562: popup window not always redrawn after popup_setoptions()
Bram Moolenaar <Bram@vim.org>
parents:
17123
diff
changeset
|
129 call VerifyScreenDump(buf, 'Test_popupwin_23', {}) |
b4eb06233448
patch 8.1.1562: popup window not always redrawn after popup_setoptions()
Bram Moolenaar <Bram@vim.org>
parents:
17123
diff
changeset
|
130 |
17312
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
131 " check multi-byte border only with 'ambiwidth' single |
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
132 if &ambiwidth == 'single' |
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
133 call term_sendkeys(buf, ":call MultiByte()\<CR>") |
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
134 call VerifyScreenDump(buf, 'Test_popupwin_24', {}) |
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
135 endif |
484424955bfa
patch 8.1.1655: popup window border drawn wrong with multi-byte char
Bram Moolenaar <Bram@vim.org>
parents:
17292
diff
changeset
|
136 |
16888
ec61b6b79865
patch 8.1.1445: popup window border highlight not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16886
diff
changeset
|
137 call StopVimInTerminal(buf) |
ec61b6b79865
patch 8.1.1445: popup window border highlight not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16886
diff
changeset
|
138 call delete('XtestPopupBorder') |
ec61b6b79865
patch 8.1.1445: popup window border highlight not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16886
diff
changeset
|
139 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
140 let with_border_or_padding = #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
141 \ line: 2, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
142 \ core_line: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
143 \ col: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
144 \ core_col: 4, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
145 \ width: 14, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
146 \ core_width: 12, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
147 \ height: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
148 \ core_height: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
149 \ firstline: 1, |
18512
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
150 \ lastline: 1, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
151 \ scrollbar: 0, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
152 \ visible: 1} |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
153 let winid = popup_create('hello border', #{line: 2, col: 3, border: []})", |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
154 call assert_equal(with_border_or_padding, winid->popup_getpos()) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
155 let options = popup_getoptions(winid) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
156 call assert_equal([], options.border) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
157 call assert_false(has_key(options, "padding")) |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
158 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
159 let winid = popup_create('hello padding', #{line: 2, col: 3, padding: []}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
160 let with_border_or_padding.width = 15 |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
161 let with_border_or_padding.core_width = 13 |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
162 call assert_equal(with_border_or_padding, popup_getpos(winid)) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
163 let options = popup_getoptions(winid) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
164 call assert_false(has_key(options, "border")) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
165 call assert_equal([], options.padding) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
166 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
167 call popup_setoptions(winid, #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
168 \ padding: [1, 2, 3, 4], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
169 \ border: [4, 0, 7, 8], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
170 \ borderhighlight: ['Top', 'Right', 'Bottom', 'Left'], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
171 \ borderchars: ['1', '^', '2', '>', '3', 'v', '4', '<'], |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
172 \ }) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
173 let options = popup_getoptions(winid) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
174 call assert_equal([1, 0, 1, 1], options.border) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
175 call assert_equal([1, 2, 3, 4], options.padding) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
176 call assert_equal(['Top', 'Right', 'Bottom', 'Left'], options.borderhighlight) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
177 call assert_equal(['1', '^', '2', '>', '3', 'v', '4', '<'], options.borderchars) |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
178 |
18398
21c25bee9df8
patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Bram Moolenaar <Bram@vim.org>
parents:
18396
diff
changeset
|
179 " Check that popup_setoptions() takes the output of popup_getoptions() |
21c25bee9df8
patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Bram Moolenaar <Bram@vim.org>
parents:
18396
diff
changeset
|
180 call popup_setoptions(winid, options) |
21c25bee9df8
patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Bram Moolenaar <Bram@vim.org>
parents:
18396
diff
changeset
|
181 call assert_equal(options, popup_getoptions(winid)) |
21c25bee9df8
patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Bram Moolenaar <Bram@vim.org>
parents:
18396
diff
changeset
|
182 |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
183 " Check that range() doesn't crash |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
184 call popup_setoptions(winid, #{ |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
185 \ padding: range(1, 4), |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
186 \ border: range(5, 8), |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
187 \ borderhighlight: range(4), |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
188 \ borderchars: range(8), |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
189 \ }) |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
190 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
191 let winid = popup_create('hello both', #{line: 3, col: 8, border: [], padding: []}) |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
192 call assert_equal(#{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
193 \ line: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
194 \ core_line: 5, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
195 \ col: 8, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
196 \ core_col: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
197 \ width: 14, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
198 \ core_width: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
199 \ height: 5, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
200 \ scrollbar: 0, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
201 \ core_height: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
202 \ firstline: 1, |
18512
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
203 \ lastline: 1, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
204 \ visible: 1}, popup_getpos(winid)) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
205 |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
206 call popup_clear() |
16884
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
207 endfunc |
59e4148c0c73
patch 8.1.1443: popup window padding and border not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16880
diff
changeset
|
208 |
16849
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
209 func Test_popup_with_syntax_win_execute() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
210 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
211 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
212 let lines =<< trim END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
213 call setline(1, range(1, 100)) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
214 hi PopupColor ctermbg=lightblue |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
215 let winid = popup_create([ |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
216 \ '#include <stdio.h>', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
217 \ 'int main(void)', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
218 \ '{', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
219 \ ' printf(123);', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
220 \ '}', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
221 \], #{line: 3, col: 25, highlight: 'PopupColor'}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
222 call win_execute(winid, 'set syntax=cpp') |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
223 END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
224 call writefile(lines, 'XtestPopup') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
225 let buf = RunVimInTerminal('-S XtestPopup', #{rows: 10}) |
16849
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
226 call VerifyScreenDump(buf, 'Test_popupwin_10', {}) |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
227 |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
228 " clean up |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
229 call StopVimInTerminal(buf) |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
230 call delete('XtestPopup') |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
231 endfunc |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
232 |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
233 func Test_popup_with_syntax_setbufvar() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
234 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
235 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
236 let lines =<< trim END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
237 call setline(1, range(1, 100)) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
238 hi PopupColor ctermbg=lightgrey |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
239 let winid = popup_create([ |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
240 \ '#include <stdio.h>', |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
241 \ 'int main(void)', |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
242 \ '{', |
17314
b60402471f69
patch 8.1.1656: popup window width is wrong when using Tabs
Bram Moolenaar <Bram@vim.org>
parents:
17312
diff
changeset
|
243 \ "\tprintf(567);", |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
244 \ '}', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
245 \], #{line: 3, col: 21, highlight: 'PopupColor'}) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
246 call setbufvar(winbufnr(winid), '&syntax', 'cpp') |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
247 END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
248 call writefile(lines, 'XtestPopup') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
249 let buf = RunVimInTerminal('-S XtestPopup', #{rows: 10}) |
16849
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
250 call VerifyScreenDump(buf, 'Test_popupwin_11', {}) |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
251 |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
252 " clean up |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
253 call StopVimInTerminal(buf) |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
254 call delete('XtestPopup') |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
255 endfunc |
629f3d3b6886
patch 8.1.1426: no test for syntax highlight in popup window
Bram Moolenaar <Bram@vim.org>
parents:
16843
diff
changeset
|
256 |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
257 func Test_popup_with_matches() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
258 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
259 |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
260 let lines =<< trim END |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
261 call setline(1, ['111 222 333', '444 555 666']) |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
262 let winid = popup_create([ |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
263 \ '111 222 333', |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
264 \ '444 555 666', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
265 \], #{line: 3, col: 10, border: []}) |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
266 set hlsearch |
18494
04a40c1514c4
patch 8.1.2241: match highlight does not combine with 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18492
diff
changeset
|
267 hi VeryBlue ctermfg=blue guifg=blue |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
268 /666 |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
269 call matchadd('ErrorMsg', '111') |
18494
04a40c1514c4
patch 8.1.2241: match highlight does not combine with 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18492
diff
changeset
|
270 call matchadd('VeryBlue', '444') |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
271 call win_execute(winid, "call matchadd('ErrorMsg', '111')") |
18494
04a40c1514c4
patch 8.1.2241: match highlight does not combine with 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18492
diff
changeset
|
272 call win_execute(winid, "call matchadd('VeryBlue', '555')") |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
273 END |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
274 call writefile(lines, 'XtestPopupMatches') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
275 let buf = RunVimInTerminal('-S XtestPopupMatches', #{rows: 10}) |
17022
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
276 call VerifyScreenDump(buf, 'Test_popupwin_matches', {}) |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
277 |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
278 " clean up |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
279 call StopVimInTerminal(buf) |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
280 call delete('XtestPopupMatches') |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
281 endfunc |
79c3a52fdb07
patch 8.1.1511: matches in a popup window are not displayed properly
Bram Moolenaar <Bram@vim.org>
parents:
16998
diff
changeset
|
282 |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
283 func Test_popup_all_corners() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
284 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
285 |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
286 let lines =<< trim END |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
287 call setline(1, repeat([repeat('-', 60)], 15)) |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
288 set so=0 |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
289 normal 2G3|r# |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
290 let winid1 = popup_create(['first', 'second'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
291 \ line: 'cursor+1', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
292 \ col: 'cursor', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
293 \ pos: 'topleft', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
294 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
295 \ padding: [], |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
296 \ }) |
18432
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
297 normal 24|r@ |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
298 let winid1 = popup_create(['First', 'SeconD'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
299 \ line: 'cursor+1', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
300 \ col: 'cursor', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
301 \ pos: 'topright', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
302 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
303 \ padding: [], |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
304 \ }) |
18432
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
305 normal 9G27|r% |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
306 let winid1 = popup_create(['fiRSt', 'seCOnd'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
307 \ line: 'cursor-1', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
308 \ col: 'cursor', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
309 \ pos: 'botleft', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
310 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
311 \ padding: [], |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
312 \ }) |
18432
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
313 normal 48|r& |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
314 let winid1 = popup_create(['FIrsT', 'SEcoND'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
315 \ line: 'cursor-1', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
316 \ col: 'cursor', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
317 \ pos: 'botright', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
318 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
319 \ padding: [], |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
320 \ }) |
18432
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
321 normal 1G51|r* |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
322 let winid1 = popup_create(['one', 'two'], #{ |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
323 \ line: 'cursor-1', |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
324 \ col: 'cursor', |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
325 \ pos: 'botleft', |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
326 \ border: [], |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
327 \ padding: [], |
ee8db42dacf6
patch 8.1.2210: using negative offset for popup_create() does not work
Bram Moolenaar <Bram@vim.org>
parents:
18398
diff
changeset
|
328 \ }) |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
329 END |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
330 call writefile(lines, 'XtestPopupCorners') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
331 let buf = RunVimInTerminal('-S XtestPopupCorners', #{rows: 12}) |
16898
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
332 call VerifyScreenDump(buf, 'Test_popupwin_corners', {}) |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
333 |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
334 " clean up |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
335 call StopVimInTerminal(buf) |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
336 call delete('XtestPopupCorners') |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
337 endfunc |
16fd1bb2e675
patch 8.1.1450: popup window positioning wrong when using padding or borders
Bram Moolenaar <Bram@vim.org>
parents:
16896
diff
changeset
|
338 |
18542
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
339 func Test_popup_nospace() |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
340 CheckScreendump |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
341 |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
342 let lines =<< trim END |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
343 call setline(1, repeat([repeat('-', 60)], 15)) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
344 set so=0 |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
345 |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
346 " cursor in a line in top half, using "botleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
347 " does fit |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
348 normal 5G2|r@ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
349 let winid1 = popup_create(['one', 'two'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
350 \ line: 'cursor-1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
351 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
352 \ pos: 'botleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
353 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
354 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
355 " cursor in a line in top half, using "botleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
356 " doesn't fit: gets truncated |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
357 normal 5G9|r# |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
358 let winid1 = popup_create(['one', 'two', 'tee'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
359 \ line: 'cursor-1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
360 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
361 \ pos: 'botleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
362 \ posinvert: 0, |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
363 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
364 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
365 " cursor in a line in top half, using "botleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
366 " doesn't fit and 'posinvert' set: flips to below. |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
367 normal 5G16|r% |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
368 let winid1 = popup_create(['one', 'two', 'tee'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
369 \ line: 'cursor-1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
370 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
371 \ pos: 'botleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
372 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
373 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
374 " cursor in a line in bottom half, using "botleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
375 " doesn't fit: does not flip. |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
376 normal 8G23|r* |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
377 let winid1 = popup_create(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
378 \ line: 'cursor-1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
379 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
380 \ pos: 'botleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
381 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
382 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
383 |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
384 " cursor in a line in bottom half, using "topleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
385 " does fit |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
386 normal 8G30|r@ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
387 let winid1 = popup_create(['one', 'two'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
388 \ line: 'cursor+1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
389 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
390 \ pos: 'topleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
391 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
392 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
393 " cursor in a line in top half, using "topleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
394 " doesn't fit: truncated |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
395 normal 8G37|r# |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
396 let winid1 = popup_create(['one', 'two', 'tee'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
397 \ line: 'cursor+1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
398 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
399 \ pos: 'topleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
400 \ posinvert: 0, |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
401 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
402 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
403 " cursor in a line in top half, using "topleft" with popup that |
18588
7dfdc319f4ff
patch 8.1.2288: not using all space when popup with "topleft" flips to above
Bram Moolenaar <Bram@vim.org>
parents:
18586
diff
changeset
|
404 " doesn't fit and "posinvert" set: flips to above. |
18542
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
405 normal 8G44|r% |
18588
7dfdc319f4ff
patch 8.1.2288: not using all space when popup with "topleft" flips to above
Bram Moolenaar <Bram@vim.org>
parents:
18586
diff
changeset
|
406 let winid1 = popup_create(['one', 'two', 'tee', 'fou', 'fiv'], #{ |
18542
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
407 \ line: 'cursor+1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
408 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
409 \ pos: 'topleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
410 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
411 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
412 " cursor in a line in top half, using "topleft" with popup that |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
413 " doesn't fit: does not flip. |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
414 normal 5G51|r* |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
415 let winid1 = popup_create(['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'fff'], #{ |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
416 \ line: 'cursor+1', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
417 \ col: 'cursor', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
418 \ pos: 'topleft', |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
419 \ border: [], |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
420 \ }) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
421 END |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
422 call writefile(lines, 'XtestPopupNospace') |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
423 let buf = RunVimInTerminal('-S XtestPopupNospace', #{rows: 12}) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
424 call VerifyScreenDump(buf, 'Test_popupwin_nospace', {}) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
425 |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
426 " clean up |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
427 call StopVimInTerminal(buf) |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
428 call delete('XtestPopupNospace') |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
429 endfunc |
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
430 |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
431 func Test_popup_firstline_dump() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
432 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
433 |
17047
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
434 let lines =<< trim END |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
435 call setline(1, range(1, 20)) |
17905
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
436 let winid = popup_create(['1111', '222222', '33333', '44', '5', '666666', '77777', '888', '9999999999999999'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
437 \ maxheight: 4, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
438 \ firstline: 3, |
17047
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
439 \ }) |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
440 END |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
441 call writefile(lines, 'XtestPopupFirstline') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
442 let buf = RunVimInTerminal('-S XtestPopupFirstline', #{rows: 10}) |
17905
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
443 call VerifyScreenDump(buf, 'Test_popupwin_firstline_1', {}) |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
444 |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
445 call term_sendkeys(buf, ":call popup_setoptions(winid, #{firstline: -1})\<CR>") |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
446 call term_sendkeys(buf, ":\<CR>") |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
447 call VerifyScreenDump(buf, 'Test_popupwin_firstline_2', {}) |
17047
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
448 |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
449 " clean up |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
450 call StopVimInTerminal(buf) |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
451 call delete('XtestPopupFirstline') |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
452 endfunc |
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
453 |
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
454 func Test_popup_firstline() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
455 let winid = popup_create(['1111', '222222', '33333', '44444'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
456 \ maxheight: 2, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
457 \ firstline: 3, |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
458 \ }) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
459 call assert_equal(3, popup_getoptions(winid).firstline) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
460 call popup_setoptions(winid, #{firstline: 1}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
461 call assert_equal(1, popup_getoptions(winid).firstline) |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
462 eval winid->popup_close() |
17897
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
463 |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
464 let winid = popup_create(['xxx']->repeat(50), #{ |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
465 \ maxheight: 3, |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
466 \ firstline: 11, |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
467 \ }) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
468 redraw |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
469 call assert_equal(11, popup_getoptions(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
470 call assert_equal(11, popup_getpos(winid).firstline) |
17942
664cc72f50c5
patch 8.1.1967: line() only works for the current window
Bram Moolenaar <Bram@vim.org>
parents:
17934
diff
changeset
|
471 " check line() works with popup window |
664cc72f50c5
patch 8.1.1967: line() only works for the current window
Bram Moolenaar <Bram@vim.org>
parents:
17934
diff
changeset
|
472 call assert_equal(11, line('.', winid)) |
664cc72f50c5
patch 8.1.1967: line() only works for the current window
Bram Moolenaar <Bram@vim.org>
parents:
17934
diff
changeset
|
473 call assert_equal(50, line('$', winid)) |
664cc72f50c5
patch 8.1.1967: line() only works for the current window
Bram Moolenaar <Bram@vim.org>
parents:
17934
diff
changeset
|
474 call assert_equal(0, line('$', 123456)) |
17897
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
475 |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
476 " Normal command changes what is displayed but not "firstline" |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
477 call win_execute(winid, "normal! \<c-y>") |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
478 call assert_equal(11, popup_getoptions(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
479 call assert_equal(10, popup_getpos(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
480 |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
481 " Making some property change applies "firstline" again |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
482 call popup_setoptions(winid, #{line: 4}) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
483 call assert_equal(11, popup_getoptions(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
484 call assert_equal(11, popup_getpos(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
485 |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
486 " Remove "firstline" property and scroll |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
487 call popup_setoptions(winid, #{firstline: 0}) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
488 call win_execute(winid, "normal! \<c-y>") |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
489 call assert_equal(0, popup_getoptions(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
490 call assert_equal(10, popup_getpos(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
491 |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
492 " Making some property change has no side effect |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
493 call popup_setoptions(winid, #{line: 3}) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
494 call assert_equal(0, popup_getoptions(winid).firstline) |
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
495 call assert_equal(10, popup_getpos(winid).firstline) |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
496 call popup_close(winid) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
497 |
18512
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
498 " CTRL-D scrolls down half a page |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
499 let winid = popup_create(['xxx']->repeat(50), #{ |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
500 \ maxheight: 8, |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
501 \ }) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
502 redraw |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
503 call assert_equal(1, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
504 call win_execute(winid, "normal! \<C-D>") |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
505 call assert_equal(5, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
506 call win_execute(winid, "normal! \<C-D>") |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
507 call assert_equal(9, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
508 call win_execute(winid, "normal! \<C-U>") |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
509 call assert_equal(5, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
510 |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
511 call win_execute(winid, "normal! \<C-F>") |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
512 call assert_equal(11, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
513 call win_execute(winid, "normal! \<C-B>") |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
514 call assert_equal(5, popup_getpos(winid).firstline) |
e855058e0c23
patch 8.1.2250: CTRL-U and CTRL-D don't work in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18494
diff
changeset
|
515 |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
516 call popup_close(winid) |
17047
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
517 endfunc |
6400d1ad5e4b
patch 8.1.1523: cannot show range of buffer lines in popup window
Bram Moolenaar <Bram@vim.org>
parents:
17045
diff
changeset
|
518 |
22357
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
519 func Test_popup_firstline_cursorline() |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
520 let winid = popup_create(['1111', '222222', '33333', '44444'], #{ |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
521 \ maxheight: 2, |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
522 \ firstline: 3, |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
523 \ cursorline: 1, |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
524 \ }) |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
525 call assert_equal(3, popup_getoptions(winid).firstline) |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
526 call assert_equal(3, getwininfo(winid)[0].topline) |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
527 call assert_equal(3, getcurpos(winid)[1]) |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
528 |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
529 call popup_close(winid) |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
530 endfunc |
0e231e8e70f8
patch 8.2.1727: a popup created with "cursorline" will ignore "firstline"
Bram Moolenaar <Bram@vim.org>
parents:
22174
diff
changeset
|
531 |
17926
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
532 func Test_popup_noscrolloff() |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
533 set scrolloff=5 |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
534 let winid = popup_create(['xxx']->repeat(50), #{ |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
535 \ maxheight: 5, |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
536 \ firstline: 11, |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
537 \ }) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
538 redraw |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
539 call assert_equal(11, popup_getoptions(winid).firstline) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
540 call assert_equal(11, popup_getpos(winid).firstline) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
541 |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
542 call popup_setoptions(winid, #{firstline: 0}) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
543 call win_execute(winid, "normal! \<c-y>") |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
544 call assert_equal(0, popup_getoptions(winid).firstline) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
545 call assert_equal(10, popup_getpos(winid).firstline) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
546 |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
547 call popup_close(winid) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
548 endfunc |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
549 |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
550 func Test_popup_drag() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
551 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
552 |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
553 " create a popup that covers the command line |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
554 let lines =<< trim END |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
555 call setline(1, range(1, 20)) |
17841
9513821d9d8f
patch 8.1.1917: non-current window is not redrawn when moving popup
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
556 split |
9513821d9d8f
patch 8.1.1917: non-current window is not redrawn when moving popup
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
557 vsplit |
9513821d9d8f
patch 8.1.1917: non-current window is not redrawn when moving popup
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
558 $wincmd w |
9513821d9d8f
patch 8.1.1917: non-current window is not redrawn when moving popup
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
559 vsplit |
9513821d9d8f
patch 8.1.1917: non-current window is not redrawn when moving popup
Bram Moolenaar <Bram@vim.org>
parents:
17825
diff
changeset
|
560 1wincmd w |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
561 let winid = popup_create(['1111', '222222', '33333'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
562 \ drag: 1, |
17580
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
563 \ resize: 1, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
564 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
565 \ line: &lines - 4, |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
566 \ }) |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
567 func Dragit() |
26332
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
568 map <silent> <F3> :call test_setmouse(&lines - 4, &columns / 2)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
569 map <silent> <F4> :call test_setmouse(&lines - 8, &columns / 2 - 20)<CR> |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
570 call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt") |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
571 endfunc |
17580
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
572 func Resize() |
26332
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
573 map <silent> <F5> :call test_setmouse(6, 21)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
574 map <silent> <F6> :call test_setmouse(7, 25)<CR> |
17580
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
575 call feedkeys("\<F5>\<LeftMouse>\<F6>\<LeftDrag>\<LeftRelease>", "xt") |
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
576 endfunc |
26300
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
577 func ClickAndDrag() |
26332
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
578 map <silent> <F3> :call test_setmouse(5, 2)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
579 map <silent> <F4> :call test_setmouse(3, 14)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
580 map <silent> <F5> :call test_setmouse(3, 18)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
581 call feedkeys("\<F3>\<LeftMouse>\<LeftRelease>", "xt") |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
582 call feedkeys("\<F4>\<LeftMouse>\<F5>\<LeftDrag>\<LeftRelease>", "xt") |
26300
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
583 endfunc |
26332
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
584 func DragAllStart() |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
585 call popup_clear() |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
586 call popup_create('hello', #{line: 3, col: 5, dragall: 1}) |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
587 endfunc |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
588 func DragAllDrag() |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
589 map <silent> <F3> :call test_setmouse(3, 5)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
590 map <silent> <F4> :call test_setmouse(5, 36)<CR> |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
591 call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt") |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
592 endfunc |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
593 END |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
594 call writefile(lines, 'XtestPopupDrag') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
595 let buf = RunVimInTerminal('-S XtestPopupDrag', #{rows: 10}) |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
596 call VerifyScreenDump(buf, 'Test_popupwin_drag_01', {}) |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
597 |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
598 call term_sendkeys(buf, ":call Dragit()\<CR>") |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
599 call VerifyScreenDump(buf, 'Test_popupwin_drag_02', {}) |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
600 |
17580
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
601 call term_sendkeys(buf, ":call Resize()\<CR>") |
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
602 call VerifyScreenDump(buf, 'Test_popupwin_drag_03', {}) |
d5e5d0fc3fa8
patch 8.1.1787: cannot resize a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17551
diff
changeset
|
603 |
26300
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
604 " dragging works after click on a status line |
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
605 call term_sendkeys(buf, ":call ClickAndDrag()\<CR>") |
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
606 call VerifyScreenDump(buf, 'Test_popupwin_drag_04', {}) |
0374f55a16be
patch 8.2.3681: cannot drag popup window after click on a status line
Bram Moolenaar <Bram@vim.org>
parents:
26165
diff
changeset
|
607 |
26332
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
608 " dragging without border |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
609 call term_sendkeys(buf, ":call DragAllStart()\<CR>") |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
610 call VerifyScreenDump(buf, 'Test_popupwin_drag_05', {}) |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
611 call term_sendkeys(buf, ":call DragAllDrag()\<CR>") |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
612 call VerifyScreenDump(buf, 'Test_popupwin_drag_06', {}) |
8b7f01b39d79
patch 8.2.3697: cannot drag a popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
26300
diff
changeset
|
613 |
17055
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
614 " clean up |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
615 call StopVimInTerminal(buf) |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
616 call delete('XtestPopupDrag') |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
617 endfunc |
f4de7ccdfd8c
patch 8.1.1527: when moving popup window over the cmdline it is not redrawn
Bram Moolenaar <Bram@vim.org>
parents:
17047
diff
changeset
|
618 |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
619 func Test_popup_drag_termwin() |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
620 CheckUnix |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
621 CheckScreendump |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
622 CheckFeature terminal |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
623 |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
624 " create a popup that covers the terminal window |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
625 let lines =<< trim END |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
626 set foldmethod=marker |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
627 call setline(1, range(100)) |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
628 for nr in range(7) |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
629 call setline(nr * 12 + 1, "fold {{{") |
21552
cbc570e66d11
patch 8.2.1326: Vim9: skipping over white space after list
Bram Moolenaar <Bram@vim.org>
parents:
21514
diff
changeset
|
630 call setline(nr * 12 + 11, "end }}}") |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
631 endfor |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
632 %foldclose |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
633 set shell=/bin/sh noruler |
22967
47a5349168ea
patch 8.2.2030: some tests fail on Mac
Bram Moolenaar <Bram@vim.org>
parents:
22884
diff
changeset
|
634 unlet $PROMPT_COMMAND |
21287
3fd32bf5fff0
patch 8.2.1194: test failure because shell prompt differs
Bram Moolenaar <Bram@vim.org>
parents:
21285
diff
changeset
|
635 let $PS1 = 'vim> ' |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
636 terminal ++rows=4 |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
637 $wincmd w |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
638 let winid = popup_create(['1111', '2222'], #{ |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
639 \ drag: 1, |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
640 \ resize: 1, |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
641 \ border: [], |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
642 \ line: 3, |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
643 \ }) |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
644 func DragitLeft() |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
645 call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt") |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
646 endfunc |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
647 func DragitDown() |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
648 call feedkeys("\<F4>\<LeftMouse>\<F5>\<LeftDrag>\<LeftRelease>", "xt") |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
649 endfunc |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
650 func DragitDownLeft() |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
651 call feedkeys("\<F5>\<LeftMouse>\<F6>\<LeftDrag>\<LeftRelease>", "xt") |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
652 endfunc |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
653 map <silent> <F3> :call test_setmouse(3, &columns / 2)<CR> |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
654 map <silent> <F4> :call test_setmouse(3, &columns / 2 - 20)<CR> |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
655 map <silent> <F5> :call test_setmouse(12, &columns / 2)<CR> |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
656 map <silent> <F6> :call test_setmouse(12, &columns / 2 - 20)<CR> |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
657 END |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
658 call writefile(lines, 'XtestPopupTerm') |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
659 let buf = RunVimInTerminal('-S XtestPopupTerm', #{rows: 16}) |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
660 call VerifyScreenDump(buf, 'Test_popupwin_term_01', {}) |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
661 |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
662 call term_sendkeys(buf, ":call DragitLeft()\<CR>") |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
663 call VerifyScreenDump(buf, 'Test_popupwin_term_02', {}) |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
664 |
21339
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
665 call term_sendkeys(buf, ":call DragitDown()\<CR>") |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
666 call VerifyScreenDump(buf, 'Test_popupwin_term_03', {}) |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
667 |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
668 call term_sendkeys(buf, ":call DragitDownLeft()\<CR>") |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
669 call VerifyScreenDump(buf, 'Test_popupwin_term_04', {}) |
608f674c6035
patch 8.2.1220: memory access error when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21287
diff
changeset
|
670 |
21285
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
671 " clean up |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
672 call StopVimInTerminal(buf) |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
673 call delete('XtestPopupTerm') |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
674 endfunc |
35a7cab0bdfd
patch 8.2.1193: terminal window not redrawn when dragging a popup window
Bram Moolenaar <Bram@vim.org>
parents:
21020
diff
changeset
|
675 |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
676 func Test_popup_close_with_mouse() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
677 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
678 |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
679 let lines =<< trim END |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
680 call setline(1, range(1, 20)) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
681 " With border, can click on X |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
682 let winid = popup_create('foobar', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
683 \ close: 'button', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
684 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
685 \ line: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
686 \ col: 1, |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
687 \ }) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
688 func CloseMsg(id, result) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
689 echomsg 'Popup closed with ' .. a:result |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
690 endfunc |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
691 let winid = popup_create('notification', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
692 \ close: 'click', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
693 \ line: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
694 \ col: 15, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
695 \ callback: 'CloseMsg', |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
696 \ }) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
697 let winid = popup_create('no border here', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
698 \ close: 'button', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
699 \ line: 5, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
700 \ col: 3, |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
701 \ }) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
702 let winid = popup_create('only padding', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
703 \ close: 'button', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
704 \ padding: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
705 \ line: 5, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
706 \ col: 23, |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
707 \ }) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
708 func CloseWithX() |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
709 call feedkeys("\<F3>\<LeftMouse>\<LeftRelease>", "xt") |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
710 endfunc |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
711 map <silent> <F3> :call test_setmouse(1, len('foobar') + 2)<CR> |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
712 func CloseWithClick() |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
713 call feedkeys("\<F4>\<LeftMouse>\<LeftRelease>", "xt") |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
714 endfunc |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
715 map <silent> <F4> :call test_setmouse(3, 17)<CR> |
17847
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
716 func CreateWithMenuFilter() |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
717 let winid = popup_create('barfoo', #{ |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
718 \ close: 'button', |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
719 \ filter: 'popup_filter_menu', |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
720 \ border: [], |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
721 \ line: 1, |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
722 \ col: 40, |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
723 \ }) |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
724 endfunc |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
725 END |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
726 call writefile(lines, 'XtestPopupClose') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
727 let buf = RunVimInTerminal('-S XtestPopupClose', #{rows: 10}) |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
728 call VerifyScreenDump(buf, 'Test_popupwin_close_01', {}) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
729 |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
730 call term_sendkeys(buf, ":call CloseWithX()\<CR>") |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
731 call VerifyScreenDump(buf, 'Test_popupwin_close_02', {}) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
732 |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
733 call term_sendkeys(buf, ":call CloseWithClick()\<CR>") |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
734 call VerifyScreenDump(buf, 'Test_popupwin_close_03', {}) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
735 |
17847
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
736 call term_sendkeys(buf, ":call CreateWithMenuFilter()\<CR>") |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
737 call VerifyScreenDump(buf, 'Test_popupwin_close_04', {}) |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
738 |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
739 " We have to send the actual mouse code, feedkeys() would be caught the |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
740 " filter. |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
741 call term_sendkeys(buf, "\<Esc>[<0;47;1M") |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
742 call VerifyScreenDump(buf, 'Test_popupwin_close_05', {}) |
bdddd215bf09
patch 8.1.1920: cannot always close a popup when filter consumes all events
Bram Moolenaar <Bram@vim.org>
parents:
17845
diff
changeset
|
743 |
17219
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
744 " clean up |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
745 call StopVimInTerminal(buf) |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
746 call delete('XtestPopupClose') |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
747 endfunction |
5169811b3044
patch 8.1.1609: the user cannot easily close a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17216
diff
changeset
|
748 |
18339
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
749 func Test_popup_menu_wrap() |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
750 CheckScreendump |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
751 |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
752 let lines =<< trim END |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
753 call setline(1, range(1, 20)) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
754 call popup_create([ |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
755 \ 'one', |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
756 \ 'asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfas', |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
757 \ 'three', |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
758 \ 'four', |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
759 \ ], #{ |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
760 \ pos: "botleft", |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
761 \ border: [], |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
762 \ padding: [0,1,0,1], |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
763 \ maxheight: 3, |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
764 \ cursorline: 1, |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
765 \ filter: 'popup_filter_menu', |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
766 \ }) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
767 END |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
768 call writefile(lines, 'XtestPopupWrap') |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
769 let buf = RunVimInTerminal('-S XtestPopupWrap', #{rows: 10}) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
770 call VerifyScreenDump(buf, 'Test_popupwin_wrap_1', {}) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
771 |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
772 call term_sendkeys(buf, "jj") |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
773 call VerifyScreenDump(buf, 'Test_popupwin_wrap_2', {}) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
774 |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
775 " clean up |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
776 call term_sendkeys(buf, "\<Esc>") |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
777 call StopVimInTerminal(buf) |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
778 call delete('XtestPopupWrap') |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
779 endfunction |
a776385eac9f
patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Bram Moolenaar <Bram@vim.org>
parents:
18231
diff
changeset
|
780 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
781 func Test_popup_with_mask() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
782 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
783 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
784 let lines =<< trim END |
17241
3ada3d207b33
patch 8.1.1620: no test for popup window with border and mask
Bram Moolenaar <Bram@vim.org>
parents:
17235
diff
changeset
|
785 call setline(1, repeat([join(range(1, 42), '')], 13)) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
786 hi PopupColor ctermbg=lightgrey |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
787 let winid = popup_create([ |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
788 \ 'some text', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
789 \ 'another line', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
790 \], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
791 \ line: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
792 \ col: 10, |
18542
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
793 \ posinvert: 0, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
794 \ wrap: 0, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
795 \ fixed: 1, |
21729
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
796 \ scrollbar: v:false, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
797 \ zindex: 90, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
798 \ padding: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
799 \ highlight: 'PopupColor', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
800 \ mask: [[1,1,1,1], [-5,-1,4,4], [7,9,2,3], [2,4,3,3]]}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
801 call popup_create([ |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
802 \ 'xxxxxxxxx', |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
803 \ 'yyyyyyyyy', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
804 \], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
805 \ line: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
806 \ col: 18, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
807 \ zindex: 20}) |
17241
3ada3d207b33
patch 8.1.1620: no test for popup window with border and mask
Bram Moolenaar <Bram@vim.org>
parents:
17235
diff
changeset
|
808 let winidb = popup_create([ |
3ada3d207b33
patch 8.1.1620: no test for popup window with border and mask
Bram Moolenaar <Bram@vim.org>
parents:
17235
diff
changeset
|
809 \ 'just one line', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
810 \], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
811 \ line: 7, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
812 \ col: 10, |
18542
244b336b94ce
patch 8.1.2265: when popup with "botleft" does not fit it flips incorrectly
Bram Moolenaar <Bram@vim.org>
parents:
18512
diff
changeset
|
813 \ posinvert: 0, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
814 \ wrap: 0, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
815 \ fixed: 1, |
21729
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
816 \ scrollbar: v:false, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
817 \ close: 'button', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
818 \ zindex: 90, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
819 \ padding: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
820 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
821 \ mask: [[1,2,1,1], [-5,-1,4,4], [7,9,2,3], [3,5,5,5],[-7,-4,5,5]]}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
822 END |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
823 call writefile(lines, 'XtestPopupMask') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
824 let buf = RunVimInTerminal('-S XtestPopupMask', #{rows: 13}) |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
825 call VerifyScreenDump(buf, 'Test_popupwin_mask_1', {}) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
826 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
827 call term_sendkeys(buf, ":call popup_move(winid, #{col: 11, line: 2})\<CR>") |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
828 call term_sendkeys(buf, ":call popup_move(winidb, #{col: 12})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
829 call term_sendkeys(buf, ":\<CR>") |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
830 call VerifyScreenDump(buf, 'Test_popupwin_mask_2', {}) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
831 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
832 call term_sendkeys(buf, ":call popup_move(winid, #{col: 65, line: 2})\<CR>") |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
833 call term_sendkeys(buf, ":call popup_move(winidb, #{col: 63})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
834 call term_sendkeys(buf, ":\<CR>") |
17235
2a97167854fc
patch 8.1.1617: no test for popup window with mask and position fixed
Bram Moolenaar <Bram@vim.org>
parents:
17231
diff
changeset
|
835 call VerifyScreenDump(buf, 'Test_popupwin_mask_3', {}) |
2a97167854fc
patch 8.1.1617: no test for popup window with mask and position fixed
Bram Moolenaar <Bram@vim.org>
parents:
17231
diff
changeset
|
836 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
837 call term_sendkeys(buf, ":call popup_move(winid, #{pos: 'topright', col: 12, line: 2})\<CR>") |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
838 call term_sendkeys(buf, ":call popup_move(winidb, #{pos: 'topright', col: 12})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
839 call term_sendkeys(buf, ":\<CR>") |
17235
2a97167854fc
patch 8.1.1617: no test for popup window with mask and position fixed
Bram Moolenaar <Bram@vim.org>
parents:
17231
diff
changeset
|
840 call VerifyScreenDump(buf, 'Test_popupwin_mask_4', {}) |
2a97167854fc
patch 8.1.1617: no test for popup window with mask and position fixed
Bram Moolenaar <Bram@vim.org>
parents:
17231
diff
changeset
|
841 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
842 call term_sendkeys(buf, ":call popup_move(winid, #{pos: 'topright', col: 12, line: 11})\<CR>") |
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
843 call term_sendkeys(buf, ":call popup_move(winidb, #{pos: 'topleft', col: 42, line: 11})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
844 call term_sendkeys(buf, ":\<CR>") |
17332
61f0bf94ef92
patch 8.1.1665: crash when popup window with mask is below the screen
Bram Moolenaar <Bram@vim.org>
parents:
17314
diff
changeset
|
845 call VerifyScreenDump(buf, 'Test_popupwin_mask_5', {}) |
61f0bf94ef92
patch 8.1.1665: crash when popup window with mask is below the screen
Bram Moolenaar <Bram@vim.org>
parents:
17314
diff
changeset
|
846 |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
847 " clean up |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
848 call StopVimInTerminal(buf) |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
849 call delete('XtestPopupMask') |
23400
5cc8108914e2
patch 8.2.2243: crash when popup mask contains zeroes
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
850 |
5cc8108914e2
patch 8.2.2243: crash when popup mask contains zeroes
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
851 " this was causing a crash |
5cc8108914e2
patch 8.2.2243: crash when popup mask contains zeroes
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
852 call popup_create('test', #{mask: [[0, 0, 0, 0]]}) |
5cc8108914e2
patch 8.2.2243: crash when popup mask contains zeroes
Bram Moolenaar <Bram@vim.org>
parents:
23229
diff
changeset
|
853 call popup_clear() |
23936
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
854 |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
855 " this was causing an internal error |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
856 enew |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
857 set nowrap |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
858 call repeat('x', &columns)->setline(1) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
859 call prop_type_add('textprop', {}) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
860 call prop_add(1, 1, #{length: &columns, type: 'textprop'}) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
861 vsplit |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
862 let opts = popup_create('', #{textprop: 'textprop'}) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
863 \ ->popup_getoptions() |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
864 \ ->extend(#{mask: [[1, 1, 1, 1]]}) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
865 call popup_create('', opts) |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
866 redraw |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
867 |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
868 close! |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
869 bwipe! |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
870 call prop_type_delete('textprop') |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
871 call popup_clear() |
a0e02766e06d
patch 8.2.2510: internal error when popup with mask is zero height or width
Bram Moolenaar <Bram@vim.org>
parents:
23897
diff
changeset
|
872 set wrap& |
17172
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
873 endfunc |
6990c1160ea5
patch 8.1.1585: :let-heredoc does not trim enough
Bram Moolenaar <Bram@vim.org>
parents:
17151
diff
changeset
|
874 |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
875 func Test_popup_select() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
876 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
877 CheckFeature clipboard_working |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
878 |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
879 " create a popup with some text to be selected |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
880 let lines =<< trim END |
17073
89753fdfab85
patch 8.1.1536: popup select test still fails on Mac
Bram Moolenaar <Bram@vim.org>
parents:
17071
diff
changeset
|
881 set clipboard=autoselect |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
882 call setline(1, range(1, 20)) |
17754
65b89c9eb946
patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17718
diff
changeset
|
883 let winid = popup_create(['the word', 'some more', 'several words here', 'invisible', '5', '6', '7'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
884 \ drag: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
885 \ border: [], |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
886 \ line: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
887 \ col: 10, |
17754
65b89c9eb946
patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17718
diff
changeset
|
888 \ maxheight: 3, |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
889 \ }) |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
890 func Select1() |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
891 call feedkeys("\<F3>\<LeftMouse>\<F4>\<LeftDrag>\<LeftRelease>", "xt") |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
892 endfunc |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
893 map <silent> <F3> :call test_setmouse(4, 15)<CR> |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
894 map <silent> <F4> :call test_setmouse(6, 23)<CR> |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
895 END |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
896 call writefile(lines, 'XtestPopupSelect') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
897 let buf = RunVimInTerminal('-S XtestPopupSelect', #{rows: 10}) |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
898 call term_sendkeys(buf, ":call Select1()\<CR>") |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
899 call VerifyScreenDump(buf, 'Test_popupwin_select_01', {}) |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
900 |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
901 call term_sendkeys(buf, ":call popup_close(winid)\<CR>") |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
902 call term_sendkeys(buf, "\"*p") |
17338
b0de2e92ed46
patch 8.1.1668: popup window test is a bit flaky on some systems
Bram Moolenaar <Bram@vim.org>
parents:
17334
diff
changeset
|
903 " clean the command line, sometimes it still shows a command |
b0de2e92ed46
patch 8.1.1668: popup window test is a bit flaky on some systems
Bram Moolenaar <Bram@vim.org>
parents:
17334
diff
changeset
|
904 call term_sendkeys(buf, ":\<esc>") |
b0de2e92ed46
patch 8.1.1668: popup window test is a bit flaky on some systems
Bram Moolenaar <Bram@vim.org>
parents:
17334
diff
changeset
|
905 |
17069
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
906 call VerifyScreenDump(buf, 'Test_popupwin_select_02', {}) |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
907 |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
908 " clean up |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
909 call StopVimInTerminal(buf) |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
910 call delete('XtestPopupSelect') |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
911 endfunc |
76ae212a9075
patch 8.1.1534: modeless selection in popup window selects too much
Bram Moolenaar <Bram@vim.org>
parents:
17055
diff
changeset
|
912 |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
913 func Test_popup_in_tab() |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
914 " default popup is local to tab, not visible when in other tab |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
915 let winid = popup_create("text", {}) |
17043
d99805d25b42
patch 8.1.1521: when a popup window is closed the buffer remains
Bram Moolenaar <Bram@vim.org>
parents:
17037
diff
changeset
|
916 let bufnr = winbufnr(winid) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
917 call assert_equal(1, popup_getpos(winid).visible) |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
918 call assert_equal(0, popup_getoptions(winid).tabpage) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
919 tabnew |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
920 call assert_equal(0, popup_getpos(winid).visible) |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
921 call assert_equal(1, popup_getoptions(winid).tabpage) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
922 quit |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
923 call assert_equal(1, popup_getpos(winid).visible) |
17043
d99805d25b42
patch 8.1.1521: when a popup window is closed the buffer remains
Bram Moolenaar <Bram@vim.org>
parents:
17037
diff
changeset
|
924 |
d99805d25b42
patch 8.1.1521: when a popup window is closed the buffer remains
Bram Moolenaar <Bram@vim.org>
parents:
17037
diff
changeset
|
925 call assert_equal(1, bufexists(bufnr)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
926 call popup_clear() |
17043
d99805d25b42
patch 8.1.1521: when a popup window is closed the buffer remains
Bram Moolenaar <Bram@vim.org>
parents:
17037
diff
changeset
|
927 " buffer is gone now |
d99805d25b42
patch 8.1.1521: when a popup window is closed the buffer remains
Bram Moolenaar <Bram@vim.org>
parents:
17037
diff
changeset
|
928 call assert_equal(0, bufexists(bufnr)) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
929 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
930 " global popup is visible in any tab |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
931 let winid = popup_create("text", #{tabpage: -1}) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
932 call assert_equal(1, popup_getpos(winid).visible) |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
933 call assert_equal(-1, popup_getoptions(winid).tabpage) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
934 tabnew |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
935 call assert_equal(1, popup_getpos(winid).visible) |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
936 call assert_equal(-1, popup_getoptions(winid).tabpage) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
937 quit |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
938 call assert_equal(1, popup_getpos(winid).visible) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
939 call popup_clear() |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
940 |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
941 " create popup in other tab |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
942 tabnew |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
943 let winid = popup_create("text", #{tabpage: 1}) |
17149
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
944 call assert_equal(0, popup_getpos(winid).visible) |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
945 call assert_equal(1, popup_getoptions(winid).tabpage) |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
946 quit |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
947 call assert_equal(1, popup_getpos(winid).visible) |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
948 call assert_equal(0, popup_getoptions(winid).tabpage) |
c90fdb999393
patch 8.1.1574: tabpage option not yet implemented for popup window
Bram Moolenaar <Bram@vim.org>
parents:
17125
diff
changeset
|
949 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
950 endfunc |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
951 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
952 func Test_popup_valid_arguments() |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
953 call assert_equal(0, len(popup_list())) |
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
954 |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
955 " Zero value is like the property wasn't there |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
956 let winid = popup_create("text", #{col: 0}) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
957 let pos = popup_getpos(winid) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
958 call assert_inrange(&columns / 2 - 1, &columns / 2 + 1, pos.col) |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
959 call assert_equal([winid], popup_list()) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
960 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
961 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
962 " using cursor column has minimum value of 1 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
963 let winid = popup_create("text", #{col: 'cursor-100'}) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
964 let pos = popup_getpos(winid) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
965 call assert_equal(1, pos.col) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
966 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
967 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
968 " center |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
969 let winid = popup_create("text", #{pos: 'center'}) |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
970 let pos = popup_getpos(winid) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
971 let around = (&columns - pos.width) / 2 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
972 call assert_inrange(around - 1, around + 1, pos.col) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
973 let around = (&lines - pos.height) / 2 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
974 call assert_inrange(around - 1, around + 1, pos.line) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
975 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
976 endfunc |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
977 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
978 func Test_popup_invalid_arguments() |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
979 call assert_fails('call popup_create(666, {})', 'E86:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
980 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
981 call assert_fails('call popup_create("text", "none")', 'E715:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
982 call popup_clear() |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
983 call assert_fails('call popup_create(test_null_string(), {})', 'E450:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
984 call assert_fails('call popup_create(test_null_list(), {})', 'E450:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
985 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
986 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
987 call assert_fails('call popup_create("text", #{col: "xxx"})', 'E475:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
988 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
989 call assert_fails('call popup_create("text", #{col: "cursor8"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
990 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
991 call assert_fails('call popup_create("text", #{col: "cursor+x"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
992 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
993 call assert_fails('call popup_create("text", #{col: "cursor+8x"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
994 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
995 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
996 call assert_fails('call popup_create("text", #{line: "xxx"})', 'E475:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
997 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
998 call assert_fails('call popup_create("text", #{line: "cursor8"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
999 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1000 call assert_fails('call popup_create("text", #{line: "cursor+x"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1001 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1002 call assert_fails('call popup_create("text", #{line: "cursor+8x"})', 'E15:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1003 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1004 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1005 call assert_fails('call popup_create("text", #{pos: "there"})', 'E475:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1006 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1007 call assert_fails('call popup_create("text", #{padding: "none"})', 'E714:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1008 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1009 call assert_fails('call popup_create("text", #{border: "none"})', 'E714:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1010 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1011 call assert_fails('call popup_create("text", #{borderhighlight: "none"})', 'E714:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1012 call popup_clear() |
17421
73e81cd9e6cb
patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17417
diff
changeset
|
1013 call assert_fails('call popup_create("text", #{borderhighlight: test_null_list()})', 'E714:') |
73e81cd9e6cb
patch 8.1.1709: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17417
diff
changeset
|
1014 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1015 call assert_fails('call popup_create("text", #{borderchars: "none"})', 'E714:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1016 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1017 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1018 call assert_fails('call popup_create([#{text: "text"}, 666], {})', 'E715:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1019 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1020 call assert_fails('call popup_create([#{text: "text", props: "none"}], {})', 'E714:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1021 call popup_clear() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1022 call assert_fails('call popup_create([#{text: "text", props: ["none"]}], {})', 'E715:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1023 call popup_clear() |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1024 call assert_fails('call popup_create([#{text: "text", props: range(3)}], {})', 'E715:') |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1025 call popup_clear() |
17417
aa4532c1d001
patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17413
diff
changeset
|
1026 call assert_fails('call popup_create("text", #{mask: ["asdf"]})', 'E475:') |
aa4532c1d001
patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17413
diff
changeset
|
1027 call popup_clear() |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1028 call assert_fails('call popup_create("text", #{mask: range(5)})', 'E475:') |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1029 call popup_clear() |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1030 call popup_create("text", #{mask: [range(4)]}) |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1031 call popup_clear() |
17417
aa4532c1d001
patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17413
diff
changeset
|
1032 call assert_fails('call popup_create("text", #{mask: test_null_list()})', 'E475:') |
17604
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
1033 call assert_fails('call popup_create("text", #{mapping: []})', 'E745:') |
17417
aa4532c1d001
patch 8.1.1707: Coverity warns for possibly using a NULL pointer
Bram Moolenaar <Bram@vim.org>
parents:
17413
diff
changeset
|
1034 call popup_clear() |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1035 call assert_fails('call popup_create("text", #{tabpage : 4})', 'E997:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1036 call popup_clear() |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1037 endfunc |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1038 |
16863
2b00163053cd
patch 8.1.1433: win_execute() may leave popup window focused
Bram Moolenaar <Bram@vim.org>
parents:
16859
diff
changeset
|
1039 func Test_win_execute_closing_curwin() |
2b00163053cd
patch 8.1.1433: win_execute() may leave popup window focused
Bram Moolenaar <Bram@vim.org>
parents:
16859
diff
changeset
|
1040 split |
2b00163053cd
patch 8.1.1433: win_execute() may leave popup window focused
Bram Moolenaar <Bram@vim.org>
parents:
16859
diff
changeset
|
1041 let winid = popup_create('some text', {}) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
22063
diff
changeset
|
1042 call assert_fails('call win_execute(winid, winnr() .. "close")', 'E994:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1043 call popup_clear() |
18868
5fbb167591fc
patch 8.1.2420: crash when calling popup_close() in win_execute()
Bram Moolenaar <Bram@vim.org>
parents:
18864
diff
changeset
|
1044 |
5fbb167591fc
patch 8.1.2420: crash when calling popup_close() in win_execute()
Bram Moolenaar <Bram@vim.org>
parents:
18864
diff
changeset
|
1045 let winid = popup_create('some text', {}) |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
22063
diff
changeset
|
1046 call assert_fails('call win_execute(winid, printf("normal! :\<C-u>call popup_close(%d)\<CR>", winid))', 'E994:') |
18868
5fbb167591fc
patch 8.1.2420: crash when calling popup_close() in win_execute()
Bram Moolenaar <Bram@vim.org>
parents:
18864
diff
changeset
|
1047 call popup_clear() |
16874
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1048 endfunc |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1049 |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1050 func Test_win_execute_not_allowed() |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1051 let winid = popup_create('some text', {}) |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1052 call assert_fails('call win_execute(winid, "split")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1053 call assert_fails('call win_execute(winid, "vsplit")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1054 call assert_fails('call win_execute(winid, "close")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1055 call assert_fails('call win_execute(winid, "bdelete")', 'E994:') |
16878
4096722cd9c1
patch 8.1.1440: win_execute() test fails
Bram Moolenaar <Bram@vim.org>
parents:
16874
diff
changeset
|
1056 call assert_fails('call win_execute(winid, "bwipe!")', 'E994:') |
16874
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1057 call assert_fails('call win_execute(winid, "tabnew")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1058 call assert_fails('call win_execute(winid, "tabnext")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1059 call assert_fails('call win_execute(winid, "next")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1060 call assert_fails('call win_execute(winid, "rewind")', 'E994:') |
19621
0d677257e35d
patch 8.2.0367: can use :pedit in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19605
diff
changeset
|
1061 call assert_fails('call win_execute(winid, "pedit filename")', 'E994:') |
16874
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1062 call assert_fails('call win_execute(winid, "buf")', 'E994:') |
19135
17722555af22
patch 8.2.0127: some buffer commands work in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19117
diff
changeset
|
1063 call assert_fails('call win_execute(winid, "bnext")', 'E994:') |
17722555af22
patch 8.2.0127: some buffer commands work in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19117
diff
changeset
|
1064 call assert_fails('call win_execute(winid, "bprev")', 'E994:') |
17722555af22
patch 8.2.0127: some buffer commands work in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19117
diff
changeset
|
1065 call assert_fails('call win_execute(winid, "bfirst")', 'E994:') |
17722555af22
patch 8.2.0127: some buffer commands work in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19117
diff
changeset
|
1066 call assert_fails('call win_execute(winid, "blast")', 'E994:') |
16874
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1067 call assert_fails('call win_execute(winid, "edit")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1068 call assert_fails('call win_execute(winid, "enew")', 'E994:') |
21020
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20974
diff
changeset
|
1069 call assert_fails('call win_execute(winid, "help")', 'E994:') |
6c634e63989c
patch 8.2.1061: insufficient testing for src/window.c
Bram Moolenaar <Bram@vim.org>
parents:
20974
diff
changeset
|
1070 call assert_fails('call win_execute(winid, "1only")', 'E994:') |
16874
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1071 call assert_fails('call win_execute(winid, "wincmd x")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1072 call assert_fails('call win_execute(winid, "wincmd w")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1073 call assert_fails('call win_execute(winid, "wincmd t")', 'E994:') |
da5f5836e90c
patch 8.1.1438: some commands cause trouble in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
16863
diff
changeset
|
1074 call assert_fails('call win_execute(winid, "wincmd b")', 'E994:') |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1075 call popup_clear() |
16863
2b00163053cd
patch 8.1.1433: win_execute() may leave popup window focused
Bram Moolenaar <Bram@vim.org>
parents:
16859
diff
changeset
|
1076 endfunc |
2b00163053cd
patch 8.1.1433: win_execute() may leave popup window focused
Bram Moolenaar <Bram@vim.org>
parents:
16859
diff
changeset
|
1077 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1078 func Test_popup_with_wrap() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1079 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1080 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1081 let lines =<< trim END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1082 call setline(1, range(1, 100)) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1083 let winid = popup_create( |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1084 \ 'a long line that wont fit', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1085 \ #{line: 3, col: 20, maxwidth: 10, wrap: 1}) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1086 END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1087 call writefile(lines, 'XtestPopup') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1088 let buf = RunVimInTerminal('-S XtestPopup', #{rows: 10}) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1089 call VerifyScreenDump(buf, 'Test_popupwin_wrap', {}) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1090 |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1091 " clean up |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1092 call StopVimInTerminal(buf) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1093 call delete('XtestPopup') |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1094 endfunc |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1095 |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1096 func Test_popup_without_wrap() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1097 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1098 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1099 let lines =<< trim END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1100 call setline(1, range(1, 100)) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1101 let winid = popup_create( |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1102 \ 'a long line that wont fit', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1103 \ #{line: 3, col: 20, maxwidth: 10, wrap: 0}) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1104 END |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1105 call writefile(lines, 'XtestPopup') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1106 let buf = RunVimInTerminal('-S XtestPopup', #{rows: 10}) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1107 call VerifyScreenDump(buf, 'Test_popupwin_nowrap', {}) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1108 |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1109 " clean up |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1110 call StopVimInTerminal(buf) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1111 call delete('XtestPopup') |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1112 endfunc |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1113 |
17442
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1114 func Test_popup_with_showbreak() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1115 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1116 |
17442
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1117 let lines =<< trim END |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1118 set showbreak=>>\ |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1119 call setline(1, range(1, 20)) |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1120 let winid = popup_dialog( |
18088
687d08fee911
patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18070
diff
changeset
|
1121 \ 'a long line here that wraps', |
687d08fee911
patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18070
diff
changeset
|
1122 \ #{filter: 'popup_filter_yesno', |
687d08fee911
patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Bram Moolenaar <Bram@vim.org>
parents:
18070
diff
changeset
|
1123 \ maxwidth: 12}) |
17442
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1124 END |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1125 call writefile(lines, 'XtestPopupShowbreak') |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1126 let buf = RunVimInTerminal('-S XtestPopupShowbreak', #{rows: 10}) |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1127 call VerifyScreenDump(buf, 'Test_popupwin_showbreak', {}) |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1128 |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1129 " clean up |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1130 call term_sendkeys(buf, "y") |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1131 call StopVimInTerminal(buf) |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1132 call delete('XtestPopupShowbreak') |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1133 endfunc |
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
1134 |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1135 func Test_popup_time() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1136 CheckFeature timers |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1137 |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1138 topleft vnew |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1139 call setline(1, 'hello') |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1140 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1141 let winid = popup_create('world', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1142 \ line: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1143 \ col: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1144 \ minwidth: 20, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1145 \ time: 500, |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1146 \}) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1147 redraw |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1148 let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '') |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1149 call assert_equal('world', line) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1150 |
17348
d82b0cfb1e82
patch 8.1.1673: cannot easily find the popup window at a certain position
Bram Moolenaar <Bram@vim.org>
parents:
17338
diff
changeset
|
1151 call assert_equal(winid, popup_locate(1, 1)) |
d82b0cfb1e82
patch 8.1.1673: cannot easily find the popup window at a certain position
Bram Moolenaar <Bram@vim.org>
parents:
17338
diff
changeset
|
1152 call assert_equal(winid, popup_locate(1, 20)) |
d82b0cfb1e82
patch 8.1.1673: cannot easily find the popup window at a certain position
Bram Moolenaar <Bram@vim.org>
parents:
17338
diff
changeset
|
1153 call assert_equal(0, popup_locate(1, 21)) |
d82b0cfb1e82
patch 8.1.1673: cannot easily find the popup window at a certain position
Bram Moolenaar <Bram@vim.org>
parents:
17338
diff
changeset
|
1154 call assert_equal(0, popup_locate(2, 1)) |
d82b0cfb1e82
patch 8.1.1673: cannot easily find the popup window at a certain position
Bram Moolenaar <Bram@vim.org>
parents:
17338
diff
changeset
|
1155 |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1156 sleep 700m |
16802
f5487021fdad
patch 8.1.1403: cannot build without the timer feature
Bram Moolenaar <Bram@vim.org>
parents:
16800
diff
changeset
|
1157 redraw |
17994
0dcc2ee838dd
patch 8.1.1993: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17972
diff
changeset
|
1158 let line = join(map(range(1, 5), '1->screenstring(v:val)'), '') |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1159 call assert_equal('hello', line) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1160 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1161 call popup_create('on the command line', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1162 \ line: &lines, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1163 \ col: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1164 \ minwidth: 20, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1165 \ time: 500, |
16800
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1166 \}) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1167 redraw |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1168 let line = join(map(range(1, 30), 'screenstring(&lines, v:val)'), '') |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1169 call assert_match('.*on the command line.*', line) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1170 |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1171 sleep 700m |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1172 redraw |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1173 let line = join(map(range(1, 30), 'screenstring(&lines, v:val)'), '') |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1174 call assert_notmatch('.*on the command line.*', line) |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1175 |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1176 bwipe! |
12e3a3afdb6a
patch 8.1.1402: "timer" option of popup windows not supported
Bram Moolenaar <Bram@vim.org>
parents:
16794
diff
changeset
|
1177 endfunc |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1178 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1179 func Test_popup_hide() |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1180 topleft vnew |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1181 call setline(1, 'hello') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1182 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1183 let winid = popup_create('world', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1184 \ line: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1185 \ col: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1186 \ minwidth: 20, |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1187 \}) |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1188 redraw |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1189 let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1190 call assert_equal('world', line) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1191 call assert_equal(1, popup_getpos(winid).visible) |
16859
0154363d3b98
patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents:
16857
diff
changeset
|
1192 " buffer is still listed and active |
0154363d3b98
patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents:
16857
diff
changeset
|
1193 call assert_match(winbufnr(winid) .. 'u a.*\[Popup\]', execute('ls u')) |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1194 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1195 call popup_hide(winid) |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1196 redraw |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1197 let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1198 call assert_equal('hello', line) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1199 call assert_equal(0, popup_getpos(winid).visible) |
16859
0154363d3b98
patch 8.1.1431: popup window listed as "Scratch"
Bram Moolenaar <Bram@vim.org>
parents:
16857
diff
changeset
|
1200 " buffer is still listed but hidden |
19117
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
1201 call assert_match(winbufnr(winid) .. 'u a.*\[Popup\]', execute('ls u')) |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1202 |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1203 eval winid->popup_show() |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1204 redraw |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1205 let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1206 call assert_equal('world', line) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1207 call assert_equal(1, popup_getpos(winid).visible) |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1208 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1209 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1210 call popup_close(winid) |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1211 redraw |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1212 let line = join(map(range(1, 5), 'screenstring(1, v:val)'), '') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1213 call assert_equal('hello', line) |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1214 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1215 " error is given for existing non-popup window |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1216 call assert_fails('call popup_hide(win_getid())', 'E993:') |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1217 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1218 " no error non-existing window |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1219 eval 1234234->popup_hide() |
16809
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1220 call popup_show(41234234) |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1221 |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1222 bwipe! |
5ff14f96f1c9
patch 8.1.1406: popup_hide() and popup_show() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16806
diff
changeset
|
1223 endfunc |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1224 |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1225 func Test_popup_move() |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1226 topleft vnew |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1227 call setline(1, 'hello') |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1228 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1229 let winid = popup_create('world', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1230 \ line: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1231 \ col: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1232 \ minwidth: 20, |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1233 \}) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1234 redraw |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1235 let line = join(map(range(1, 6), 'screenstring(1, v:val)'), '') |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1236 call assert_equal('world ', line) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1237 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1238 call popup_move(winid, #{line: 2, col: 2}) |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1239 redraw |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1240 let line = join(map(range(1, 6), 'screenstring(1, v:val)'), '') |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1241 call assert_equal('hello ', line) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1242 let line = join(map(range(1, 6), 'screenstring(2, v:val)'), '') |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1243 call assert_equal('~world', line) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1244 |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1245 eval winid->popup_move(#{line: 1}) |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1246 redraw |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1247 let line = join(map(range(1, 6), 'screenstring(1, v:val)'), '') |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1248 call assert_equal('hworld', line) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1249 |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1250 call assert_fails('call popup_move(winid, [])', 'E715:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1251 call assert_fails('call popup_move(winid, test_null_dict())', 'E715:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1252 |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1253 call popup_close(winid) |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1254 |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1255 call assert_equal(0, popup_move(-1, {})) |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
1256 |
16817
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1257 bwipe! |
069ee8dc8c8d
patch 8.1.1410: popup_move() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16811
diff
changeset
|
1258 endfunc |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1259 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1260 func Test_popup_getpos() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1261 let winid = popup_create('hello', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1262 \ line: 2, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1263 \ col: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1264 \ minwidth: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1265 \ minheight: 11, |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1266 \}) |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1267 redraw |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1268 let res = popup_getpos(winid) |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1269 call assert_equal(2, res.line) |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1270 call assert_equal(3, res.col) |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1271 call assert_equal(10, res.width) |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1272 call assert_equal(11, res.height) |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1273 call assert_equal(1, res.visible) |
16829
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1274 |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1275 call popup_close(winid) |
5cebaecad422
patch 8.1.1416: popup_getposition() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16817
diff
changeset
|
1276 endfunc |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1277 |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1278 func Test_popup_width_longest() |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1279 let tests = [ |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1280 \ [['hello', 'this', 'window', 'displays', 'all of its text'], 15], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1281 \ [['hello', 'this', 'window', 'all of its text', 'displays'], 15], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1282 \ [['hello', 'this', 'all of its text', 'window', 'displays'], 15], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1283 \ [['hello', 'all of its text', 'this', 'window', 'displays'], 15], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1284 \ [['all of its text', 'hello', 'this', 'window', 'displays'], 15], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1285 \ ] |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1286 |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1287 for test in tests |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1288 let winid = popup_create(test[0], #{line: 2, col: 3}) |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1289 redraw |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1290 let position = popup_getpos(winid) |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1291 call assert_equal(test[1], position.width) |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1292 call popup_close(winid) |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1293 endfor |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1294 endfunc |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1295 |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1296 func Test_popup_wraps() |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1297 let tests = [ |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1298 \ ['nowrap', 6, 1], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1299 \ ['a line that wraps once', 12, 2], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1300 \ ['a line that wraps two times', 12, 3], |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1301 \ ] |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1302 for test in tests |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1303 let winid = popup_create(test[0], |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1304 \ #{line: 2, col: 3, maxwidth: 12}) |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1305 redraw |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1306 let position = popup_getpos(winid) |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1307 call assert_equal(test[1], position.width) |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1308 call assert_equal(test[2], position.height) |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1309 |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1310 call popup_close(winid) |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1311 call assert_equal({}, popup_getpos(winid)) |
16837
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1312 endfor |
18593056d8f1
patch 8.1.1420: popup window size only uses first line length
Bram Moolenaar <Bram@vim.org>
parents:
16829
diff
changeset
|
1313 endfunc |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1314 |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1315 func Test_popup_getoptions() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1316 let winid = popup_create('hello', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1317 \ line: 2, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1318 \ col: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1319 \ minwidth: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1320 \ minheight: 11, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1321 \ maxwidth: 20, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1322 \ maxheight: 21, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1323 \ zindex: 100, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1324 \ time: 5000, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1325 \ fixed: 1 |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1326 \}) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1327 redraw |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1328 let res = popup_getoptions(winid) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1329 call assert_equal(2, res.line) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1330 call assert_equal(3, res.col) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1331 call assert_equal(10, res.minwidth) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1332 call assert_equal(11, res.minheight) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1333 call assert_equal(20, res.maxwidth) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1334 call assert_equal(21, res.maxheight) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1335 call assert_equal(100, res.zindex) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1336 call assert_equal(1, res.fixed) |
17626
2ae30dac20d6
patch 8.1.1810: popup_getoptions() is missing an entry for "mapping"
Bram Moolenaar <Bram@vim.org>
parents:
17604
diff
changeset
|
1337 call assert_equal(1, res.mapping) |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1338 if has('timers') |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1339 call assert_equal(5000, res.time) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1340 endif |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1341 call popup_close(winid) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1342 |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1343 let winid = popup_create('hello', {}) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1344 redraw |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1345 let res = popup_getoptions(winid) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1346 call assert_equal(0, res.line) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1347 call assert_equal(0, res.col) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1348 call assert_equal(0, res.minwidth) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1349 call assert_equal(0, res.minheight) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1350 call assert_equal(0, res.maxwidth) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1351 call assert_equal(0, res.maxheight) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1352 call assert_equal(50, res.zindex) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1353 call assert_equal(0, res.fixed) |
16841
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1354 if has('timers') |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1355 call assert_equal(0, res.time) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1356 endif |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1357 call popup_close(winid) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1358 call assert_equal({}, popup_getoptions(winid)) |
cf630fab9fb6
patch 8.1.1422: popup_getoptions() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16839
diff
changeset
|
1359 endfunc |
16843
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1360 |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1361 func Test_popup_option_values() |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1362 new |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1363 " window-local |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1364 setlocal number |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1365 setlocal nowrap |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1366 " buffer-local |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1367 setlocal omnifunc=Something |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1368 " global/buffer-local |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1369 setlocal path=/there |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1370 " global/window-local |
17926
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1371 setlocal statusline=2 |
16843
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1372 |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1373 let winid = popup_create('hello', {}) |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1374 call assert_equal(0, getwinvar(winid, '&number')) |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1375 call assert_equal(1, getwinvar(winid, '&wrap')) |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1376 call assert_equal('', getwinvar(winid, '&omnifunc')) |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1377 call assert_equal(&g:path, getwinvar(winid, '&path')) |
17926
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1378 call assert_equal(&g:statusline, getwinvar(winid, '&statusline')) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1379 |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1380 " 'scrolloff' is reset to zero |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1381 call assert_equal(5, &scrolloff) |
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
1382 call assert_equal(0, getwinvar(winid, '&scrolloff')) |
16843
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1383 |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1384 call popup_close(winid) |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1385 bwipe |
283037126560
patch 8.1.1423: popup windows use options from current window and buffer
Bram Moolenaar <Bram@vim.org>
parents:
16841
diff
changeset
|
1386 endfunc |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1387 |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1388 func Test_popup_atcursor() |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1389 topleft vnew |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1390 call setline(1, [ |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1391 \ 'xxxxxxxxxxxxxxxxx', |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1392 \ 'xxxxxxxxxxxxxxxxx', |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1393 \ 'xxxxxxxxxxxxxxxxx', |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1394 \]) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1395 |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1396 call cursor(2, 2) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1397 redraw |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1398 let winid = popup_atcursor('vim', {}) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1399 redraw |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1400 let line = join(map(range(1, 17), 'screenstring(1, v:val)'), '') |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1401 call assert_equal('xvimxxxxxxxxxxxxx', line) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1402 call popup_close(winid) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1403 |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1404 call cursor(3, 4) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1405 redraw |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1406 let winid = 'vim'->popup_atcursor({}) |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1407 redraw |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1408 let line = join(map(range(1, 17), 'screenstring(2, v:val)'), '') |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1409 call assert_equal('xxxvimxxxxxxxxxxx', line) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1410 call popup_close(winid) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1411 |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1412 call cursor(1, 1) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1413 redraw |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1414 let winid = popup_create('vim', #{ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1415 \ line: 'cursor+2', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1416 \ col: 'cursor+1', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1417 \}) |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1418 redraw |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1419 let line = join(map(range(1, 17), 'screenstring(3, v:val)'), '') |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1420 call assert_equal('xvimxxxxxxxxxxxxx', line) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1421 call popup_close(winid) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1422 |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1423 call cursor(3, 3) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1424 redraw |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1425 let winid = popup_create('vim', #{ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1426 \ line: 'cursor-2', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1427 \ col: 'cursor-1', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1428 \}) |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1429 redraw |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1430 let line = join(map(range(1, 17), 'screenstring(1, v:val)'), '') |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1431 call assert_equal('xvimxxxxxxxxxxxxx', line) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1432 call popup_close(winid) |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1433 |
16857
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1434 " just enough room above |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1435 call cursor(3, 3) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1436 redraw |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1437 let winid = popup_atcursor(['vim', 'is great'], {}) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1438 redraw |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1439 let pos = popup_getpos(winid) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1440 call assert_equal(1, pos.line) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1441 call popup_close(winid) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1442 |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1443 " not enough room above, popup goes below the cursor |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1444 call cursor(3, 3) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1445 redraw |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1446 let winid = popup_atcursor(['vim', 'is', 'great'], {}) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1447 redraw |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1448 let pos = popup_getpos(winid) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1449 call assert_equal(4, pos.line) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1450 call popup_close(winid) |
4de94f6161f2
patch 8.1.1430: popup window option "wrap" not supported
Bram Moolenaar <Bram@vim.org>
parents:
16853
diff
changeset
|
1451 |
16902
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1452 " cursor in first line, popup in line 2 |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1453 call cursor(1, 1) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1454 redraw |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1455 let winid = popup_atcursor(['vim', 'is', 'great'], {}) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1456 redraw |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1457 let pos = popup_getpos(winid) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1458 call assert_equal(2, pos.line) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1459 call popup_close(winid) |
23645f9a5ce2
patch 8.1.1452: line and col property of popup windows not properly checked
Bram Moolenaar <Bram@vim.org>
parents:
16898
diff
changeset
|
1460 |
16853
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1461 bwipe! |
e6bcccccbf7b
patch 8.1.1428: popup_atcursor() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16849
diff
changeset
|
1462 endfunc |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1463 |
18558
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1464 func Test_popup_atcursor_pos() |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1465 CheckScreendump |
25114
989d7930ce65
patch 8.2.3094: Test_popup_atcursor_pos() fails without the conceal feature
Bram Moolenaar <Bram@vim.org>
parents:
25074
diff
changeset
|
1466 CheckFeature conceal |
18558
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1467 |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1468 let lines =<< trim END |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1469 call setline(1, repeat([repeat('-', 60)], 15)) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1470 set so=0 |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1471 |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1472 normal 9G3|r# |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1473 let winid1 = popup_atcursor(['first', 'second'], #{ |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1474 \ moved: [0, 0, 0], |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1475 \ }) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1476 normal 9G21|r& |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1477 let winid1 = popup_atcursor(['FIrsT', 'SEcoND'], #{ |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1478 \ pos: 'botright', |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1479 \ moved: [0, 0, 0], |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1480 \ }) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1481 normal 3G27|r% |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1482 let winid1 = popup_atcursor(['fiRSt', 'seCOnd'], #{ |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1483 \ pos: 'topleft', |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1484 \ moved: [0, 0, 0], |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1485 \ }) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1486 normal 3G45|r@ |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1487 let winid1 = popup_atcursor(['First', 'SeconD'], #{ |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1488 \ pos: 'topright', |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1489 \ moved: range(3), |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
1490 \ mousemoved: range(3), |
18558
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1491 \ }) |
25074
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1492 |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1493 normal 9G27|Rconcealed X |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1494 syn match Hidden /concealed/ conceal |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1495 set conceallevel=2 concealcursor=n |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1496 redraw |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1497 normal 0fX |
aa55d6d17625
patch 8.2.3074: popup_atcursor() uses wrong position with concealing
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1498 call popup_atcursor('mark', {}) |
18558
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1499 END |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1500 call writefile(lines, 'XtestPopupAtcursorPos') |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1501 let buf = RunVimInTerminal('-S XtestPopupAtcursorPos', #{rows: 12}) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1502 call VerifyScreenDump(buf, 'Test_popupwin_atcursor_pos', {}) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1503 |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1504 " clean up |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1505 call StopVimInTerminal(buf) |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1506 call delete('XtestPopupAtcursorPos') |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1507 endfunc |
e5ef5d820b5b
patch 8.1.2273: wrong default when "pos" is changed with popup_atcursor()
Bram Moolenaar <Bram@vim.org>
parents:
18544
diff
changeset
|
1508 |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1509 func Test_popup_beval() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1510 CheckScreendump |
18137
5a5e9eed6029
patch 8.1.2063: some tests fail when +balloon_eval_term is missing
Bram Moolenaar <Bram@vim.org>
parents:
18110
diff
changeset
|
1511 CheckFeature balloon_eval_term |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1512 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1513 let lines =<< trim END |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1514 call setline(1, range(1, 20)) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1515 call setline(5, 'here is some text to hover over') |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1516 set balloonevalterm |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1517 set balloonexpr=BalloonExpr() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1518 set balloondelay=100 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1519 func BalloonExpr() |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1520 let s:winid = [v:beval_text]->popup_beval({}) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1521 return '' |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1522 endfunc |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1523 func Hover() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1524 call test_setmouse(5, 15) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1525 call feedkeys("\<MouseMove>\<Ignore>", "xt") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1526 sleep 100m |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1527 endfunc |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1528 func MoveOntoPopup() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1529 call test_setmouse(4, 17) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1530 call feedkeys("\<F4>\<MouseMove>\<Ignore>", "xt") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1531 endfunc |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1532 func MoveAway() |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1533 call test_setmouse(5, 13) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1534 call feedkeys("\<F5>\<MouseMove>\<Ignore>", "xt") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1535 endfunc |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1536 END |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1537 call writefile(lines, 'XtestPopupBeval') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1538 let buf = RunVimInTerminal('-S XtestPopupBeval', #{rows: 10}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
1539 call TermWait(buf, 50) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1540 call term_sendkeys(buf, 'j') |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1541 call term_sendkeys(buf, ":call Hover()\<CR>") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1542 call VerifyScreenDump(buf, 'Test_popupwin_beval_1', {}) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1543 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1544 call term_sendkeys(buf, ":call MoveOntoPopup()\<CR>") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1545 call VerifyScreenDump(buf, 'Test_popupwin_beval_2', {}) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1546 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1547 call term_sendkeys(buf, ":call MoveAway()\<CR>") |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1548 call VerifyScreenDump(buf, 'Test_popupwin_beval_3', {}) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1549 |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1550 " clean up |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1551 call StopVimInTerminal(buf) |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1552 call delete('XtestPopupBeval') |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1553 endfunc |
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
1554 |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1555 func Test_popup_filter() |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1556 new |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1557 call setline(1, 'some text') |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1558 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1559 func MyPopupFilter(winid, c) |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
1560 if a:c == 'e' || a:c == "\<F9>" |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
1561 let g:eaten = a:c |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1562 return 1 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1563 endif |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1564 if a:c == '0' |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1565 let g:ignored = '0' |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1566 return 0 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1567 endif |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1568 if a:c == 'x' |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1569 call popup_close(a:winid) |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1570 return 1 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1571 endif |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1572 return 0 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1573 endfunc |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1574 |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
1575 let winid = 'something'->popup_create(#{filter: 'MyPopupFilter'}) |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1576 redraw |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1577 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1578 " e is consumed by the filter |
25122
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1579 let g:eaten = '' |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1580 call feedkeys('e', 'xt') |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1581 call assert_equal('e', g:eaten) |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
1582 call feedkeys("\<F9>", 'xt') |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
1583 call assert_equal("\<F9>", g:eaten) |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1584 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1585 " 0 is ignored by the filter |
25122
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1586 let g:ignored = '' |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1587 normal $ |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1588 call assert_equal(9, getcurpos()[2]) |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1589 call feedkeys('0', 'xt') |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1590 call assert_equal('0', g:ignored) |
25122
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1591 |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1592 if has('win32') && has('gui_running') |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1593 echo "FIXME: this check is very flaky on MS-Windows GUI, the cursor doesn't move" |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1594 else |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1595 call assert_equal(1, getcurpos()[2]) |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1596 endif |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1597 |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1598 " x closes the popup |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1599 call feedkeys('x', 'xt') |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
1600 call assert_equal("\<F9>", g:eaten) |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1601 call assert_equal(-1, winbufnr(winid)) |
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1602 |
25122
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1603 unlet g:eaten |
c1e79652ab27
patch 8.2.3098: popup window test is flaky on MS-Windows with GUI
Bram Moolenaar <Bram@vim.org>
parents:
25114
diff
changeset
|
1604 unlet g:ignored |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1605 delfunc MyPopupFilter |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
1606 call popup_clear() |
16880
998603a243d7
patch 8.1.1441: popup window filter not yet implemented
Bram Moolenaar <Bram@vim.org>
parents:
16878
diff
changeset
|
1607 endfunc |
16890
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1608 |
22442
73be82f278c0
patch 8.2.1769: popup filter interferes with using :normal to move the cursor
Bram Moolenaar <Bram@vim.org>
parents:
22435
diff
changeset
|
1609 " this tests that the filter is not used for :normal command |
22361
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1610 func Test_popup_filter_normal_cmd() |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1611 CheckScreendump |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1612 |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1613 let lines =<< trim END |
22442
73be82f278c0
patch 8.2.1769: popup filter interferes with using :normal to move the cursor
Bram Moolenaar <Bram@vim.org>
parents:
22435
diff
changeset
|
1614 let text = range(1, 20)->map({_, v -> string(v)}) |
73be82f278c0
patch 8.2.1769: popup filter interferes with using :normal to move the cursor
Bram Moolenaar <Bram@vim.org>
parents:
22435
diff
changeset
|
1615 let g:winid = popup_create(text, #{maxheight: 5, minwidth: 3, filter: 'invalidfilter'}) |
73be82f278c0
patch 8.2.1769: popup filter interferes with using :normal to move the cursor
Bram Moolenaar <Bram@vim.org>
parents:
22435
diff
changeset
|
1616 call timer_start(0, {-> win_execute(g:winid, 'norm! 10Gzz')}) |
22361
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1617 END |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1618 call writefile(lines, 'XtestPopupNormal') |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1619 let buf = RunVimInTerminal('-S XtestPopupNormal', #{rows: 10}) |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1620 call TermWait(buf, 100) |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1621 call VerifyScreenDump(buf, 'Test_popupwin_normal_cmd', {}) |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1622 |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1623 call StopVimInTerminal(buf) |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1624 call delete('XtestPopupNormal') |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1625 endfunc |
00f2eebe74d9
patch 8.2.1729: endless loop when ":normal" feeds popup window filter
Bram Moolenaar <Bram@vim.org>
parents:
22357
diff
changeset
|
1626 |
22377
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1627 " test that cursor line highlight is updated after using win_execute() |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1628 func Test_popup_filter_win_execute() |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1629 CheckScreendump |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1630 |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1631 let lines =<< trim END |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1632 let lines = range(1, &lines * 2)->map({_, v -> string(v)}) |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1633 let g:id = popup_create(lines, #{ |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1634 \ minheight: &lines - 5, |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1635 \ maxheight: &lines - 5, |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1636 \ cursorline: 1, |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1637 \ }) |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1638 redraw |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1639 END |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1640 call writefile(lines, 'XtestPopupWinExecute') |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1641 let buf = RunVimInTerminal('-S XtestPopupWinExecute', #{rows: 14}) |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1642 |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1643 call term_sendkeys(buf, ":call win_execute(g:id, ['normal 17Gzz'])\<CR>") |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1644 call term_sendkeys(buf, ":\<CR>") |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1645 |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1646 call VerifyScreenDump(buf, 'Test_popupwin_win_execute_cursorline', {}) |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1647 |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1648 call StopVimInTerminal(buf) |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1649 call delete('XtestPopupWinExecute') |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1650 endfunc |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1651 |
22403
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1652 func Test_popup_set_firstline() |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1653 CheckScreendump |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1654 |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1655 let lines =<< trim END |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1656 let lines = range(1, 50)->map({_, v -> string(v)}) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1657 let g:id = popup_create(lines, #{ |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1658 \ minwidth: 20, |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1659 \ maxwidth: 20, |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1660 \ minheight: &lines - 5, |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1661 \ maxheight: &lines - 5, |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1662 \ cursorline: 1, |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1663 \ }) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1664 call popup_setoptions(g:id, #{firstline: 10}) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1665 redraw |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1666 END |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1667 call writefile(lines, 'XtestPopupWinSetFirstline') |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1668 let buf = RunVimInTerminal('-S XtestPopupWinSetFirstline', #{rows: 16}) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1669 |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1670 call VerifyScreenDump(buf, 'Test_popupwin_set_firstline_1', {}) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1671 |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1672 call term_sendkeys(buf, ":call popup_setoptions(g:id, #{firstline: 5})\<CR>") |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1673 call term_sendkeys(buf, ":\<CR>") |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1674 call VerifyScreenDump(buf, 'Test_popupwin_set_firstline_2', {}) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1675 |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1676 call StopVimInTerminal(buf) |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1677 call delete('XtestPopupWinSetFirstline') |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1678 endfunc |
3351d2cd3f1f
patch 8.2.1750: popup_setoptions() setting firstline fails if cursorline set
Bram Moolenaar <Bram@vim.org>
parents:
22377
diff
changeset
|
1679 |
22367
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1680 " this tests that we don't get stuck with an error in "win_execute()" |
22377
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1681 func Test_popup_filter_win_execute_error() |
22367
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1682 CheckScreendump |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1683 |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1684 let lines =<< trim END |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1685 let g:winid = popup_create('some text', {'filter': 'invalidfilter'}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1686 call timer_start(0, {-> win_execute(g:winid, 'invalidCommand')}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1687 END |
22377
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1688 call writefile(lines, 'XtestPopupWinExecuteError') |
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1689 let buf = RunVimInTerminal('-S XtestPopupWinExecuteError', #{rows: 10, wait_for_ruler: 0}) |
22367
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1690 |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1691 call WaitFor({-> term_getline(buf, 9) =~ 'Not an editor command: invalidCommand'}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1692 call term_sendkeys(buf, "\<CR>") |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1693 call WaitFor({-> term_getline(buf, 9) =~ 'Unknown function: invalidfilter'}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1694 call term_sendkeys(buf, "\<CR>") |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1695 call WaitFor({-> term_getline(buf, 9) =~ 'Not allowed in a popup window'}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1696 call term_sendkeys(buf, "\<CR>") |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1697 call term_sendkeys(buf, "\<CR>") |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1698 call VerifyScreenDump(buf, 'Test_popupwin_win_execute', {}) |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1699 |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1700 call StopVimInTerminal(buf) |
22377
b2cb2a321af9
patch 8.2.1737: cursor line highlight in popup window is not always updated
Bram Moolenaar <Bram@vim.org>
parents:
22367
diff
changeset
|
1701 call delete('XtestPopupWinExecuteError') |
22367
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1702 endfunc |
997bbc35c181
patch 8.2.1732: stuck when win_execute() for a popup causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22361
diff
changeset
|
1703 |
17097
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1704 func ShowDialog(key, result) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1705 let s:cb_res = 999 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1706 let winid = popup_dialog('do you want to quit (Yes/no)?', #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1707 \ filter: 'popup_filter_yesno', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1708 \ callback: 'QuitCallback', |
17097
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1709 \ }) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1710 redraw |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1711 call feedkeys(a:key, "xt") |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1712 call assert_equal(winid, s:cb_winid) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1713 call assert_equal(a:result, s:cb_res) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1714 endfunc |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1715 |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1716 func Test_popup_dialog() |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1717 func QuitCallback(id, res) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1718 let s:cb_winid = a:id |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1719 let s:cb_res = a:res |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1720 endfunc |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1721 |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1722 let winid = ShowDialog("y", 1) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1723 let winid = ShowDialog("Y", 1) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1724 let winid = ShowDialog("n", 0) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1725 let winid = ShowDialog("N", 0) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1726 let winid = ShowDialog("x", 0) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1727 let winid = ShowDialog("X", 0) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1728 let winid = ShowDialog("\<Esc>", 0) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1729 let winid = ShowDialog("\<C-C>", -1) |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1730 |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1731 delfunc QuitCallback |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1732 endfunc |
94007c802045
patch 8.1.1548: popup_dialog() is not implemented
Bram Moolenaar <Bram@vim.org>
parents:
17089
diff
changeset
|
1733 |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1734 func ShowMenu(key, result) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1735 let s:cb_res = 999 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1736 let winid = popup_menu(['one', 'two', 'something else'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1737 \ callback: 'QuitCallback', |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1738 \ }) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1739 redraw |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1740 call feedkeys(a:key, "xt") |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1741 call assert_equal(winid, s:cb_winid) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1742 call assert_equal(a:result, s:cb_res) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1743 endfunc |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1744 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1745 func Test_popup_menu() |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1746 func QuitCallback(id, res) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1747 let s:cb_winid = a:id |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1748 let s:cb_res = a:res |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1749 endfunc |
17604
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
1750 " mapping won't be used in popup |
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
1751 map j k |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1752 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1753 let winid = ShowMenu(" ", 1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1754 let winid = ShowMenu("j \<CR>", 2) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1755 let winid = ShowMenu("JjK \<CR>", 2) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1756 let winid = ShowMenu("jjjjjj ", 3) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1757 let winid = ShowMenu("kkk ", 1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1758 let winid = ShowMenu("x", -1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1759 let winid = ShowMenu("X", -1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1760 let winid = ShowMenu("\<Esc>", -1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1761 let winid = ShowMenu("\<C-C>", -1) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1762 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1763 delfunc QuitCallback |
17604
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
1764 unmap j |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1765 endfunc |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1766 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1767 func Test_popup_menu_screenshot() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1768 CheckScreendump |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1769 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1770 let lines =<< trim END |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1771 call setline(1, range(1, 20)) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1772 hi PopupSelected ctermbg=lightblue |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1773 call popup_menu(['one', 'two', 'another'], #{callback: 'MenuDone', title: ' make a choice from the list '}) |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1774 func MenuDone(id, res) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1775 echomsg "selected " .. a:res |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1776 endfunc |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1777 END |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1778 call writefile(lines, 'XtestPopupMenu') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1779 let buf = RunVimInTerminal('-S XtestPopupMenu', #{rows: 10}) |
17117
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1780 call VerifyScreenDump(buf, 'Test_popupwin_menu_01', {}) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1781 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1782 call term_sendkeys(buf, "jj") |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1783 call VerifyScreenDump(buf, 'Test_popupwin_menu_02', {}) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1784 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1785 call term_sendkeys(buf, " ") |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1786 call VerifyScreenDump(buf, 'Test_popupwin_menu_03', {}) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1787 |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1788 " clean up |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1789 call StopVimInTerminal(buf) |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1790 call delete('XtestPopupMenu') |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1791 endfunc |
7ef5283ace3c
patch 8.1.1558: popup_menu() and popup_filter_menu() are not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17107
diff
changeset
|
1792 |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1793 func Test_popup_menu_narrow() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1794 CheckScreendump |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1795 |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1796 let lines =<< trim END |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1797 call setline(1, range(1, 20)) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1798 hi PopupSelected ctermbg=green |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1799 call popup_menu(['one', 'two', 'three'], #{callback: 'MenuDone'}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1800 func MenuDone(id, res) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1801 echomsg "selected " .. a:res |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1802 endfunc |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1803 END |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1804 call writefile(lines, 'XtestPopupNarrowMenu') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1805 let buf = RunVimInTerminal('-S XtestPopupNarrowMenu', #{rows: 10}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1806 call VerifyScreenDump(buf, 'Test_popupwin_menu_04', {}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1807 |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1808 " clean up |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1809 call term_sendkeys(buf, "x") |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1810 call StopVimInTerminal(buf) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1811 call delete('XtestPopupNarrowMenu') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1812 endfunc |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
1813 |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1814 func Test_popup_title() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1815 CheckScreendump |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1816 |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1817 " Create a popup without title or border, a line of padding will be added to |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1818 " put the title on. |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1819 let lines =<< trim END |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1820 call setline(1, range(1, 20)) |
17634
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1821 let winid = popup_create(['one', 'two', 'another'], #{title: 'Title String'}) |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1822 END |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1823 call writefile(lines, 'XtestPopupTitle') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1824 let buf = RunVimInTerminal('-S XtestPopupTitle', #{rows: 10}) |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1825 call VerifyScreenDump(buf, 'Test_popupwin_title', {}) |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1826 |
17634
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1827 call term_sendkeys(buf, ":call popup_setoptions(winid, #{maxwidth: 20, title: 'a very long title that is not going to fit'})\<CR>") |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1828 call term_sendkeys(buf, ":\<CR>") |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1829 call VerifyScreenDump(buf, 'Test_popupwin_longtitle_1', {}) |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1830 |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1831 call term_sendkeys(buf, ":call popup_setoptions(winid, #{border: []})\<CR>") |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1832 call term_sendkeys(buf, ":\<CR>") |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1833 call VerifyScreenDump(buf, 'Test_popupwin_longtitle_2', {}) |
6e6a84993444
patch 8.1.1814: a long title in a popup window overflows
Bram Moolenaar <Bram@vim.org>
parents:
17628
diff
changeset
|
1834 |
23173
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1835 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1836 call term_sendkeys(buf, ":call popup_create(['aaa', 'bbb'], #{title: 'Title', minwidth: 12, padding: [2, 2, 2, 2]})\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1837 call term_sendkeys(buf, ":\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1838 call VerifyScreenDump(buf, 'Test_popupwin_longtitle_3', {}) |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1839 |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1840 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1841 call term_sendkeys(buf, ":call popup_create(['aaa', 'bbb'], #{title: 'Title', minwidth: 12, border: [], padding: [2, 2, 2, 2]})\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1842 call term_sendkeys(buf, ":\<CR>") |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1843 call VerifyScreenDump(buf, 'Test_popupwin_longtitle_4', {}) |
6620b51e2916
patch 8.2.2132: padding not drawn properly for popup window with title
Bram Moolenaar <Bram@vim.org>
parents:
23154
diff
changeset
|
1844 |
24709
9d304d363ab6
patch 8.2.2893: multi-byte text in popup title shows up wrong
Bram Moolenaar <Bram@vim.org>
parents:
24053
diff
changeset
|
1845 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
25535
7cb1597067e0
patch 8.2.3304: popup window title with wide characters is truncated
Bram Moolenaar <Bram@vim.org>
parents:
25122
diff
changeset
|
1846 call term_sendkeys(buf, ":call popup_menu(['This is a line', 'and another line'], #{title: '▶Äあいうえお◀', })\<CR>") |
24709
9d304d363ab6
patch 8.2.2893: multi-byte text in popup title shows up wrong
Bram Moolenaar <Bram@vim.org>
parents:
24053
diff
changeset
|
1847 call VerifyScreenDump(buf, 'Test_popupwin_multibytetitle', {}) |
9d304d363ab6
patch 8.2.2893: multi-byte text in popup title shows up wrong
Bram Moolenaar <Bram@vim.org>
parents:
24053
diff
changeset
|
1848 call term_sendkeys(buf, "x") |
9d304d363ab6
patch 8.2.2893: multi-byte text in popup title shows up wrong
Bram Moolenaar <Bram@vim.org>
parents:
24053
diff
changeset
|
1849 |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1850 " clean up |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1851 call StopVimInTerminal(buf) |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1852 call delete('XtestPopupTitle') |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
1853 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1854 let winid = popup_create('something', #{title: 'Some Title'}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
1855 call assert_equal('Some Title', popup_getoptions(winid).title) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1856 call popup_setoptions(winid, #{title: 'Another Title'}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
1857 call assert_equal('Another Title', popup_getoptions(winid).title) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
1858 |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
1859 call popup_clear() |
17119
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1860 endfunc |
b439e096a011
patch 8.1.1559: popup window title property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17117
diff
changeset
|
1861 |
16890
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1862 func Test_popup_close_callback() |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1863 func PopupDone(id, result) |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1864 let g:result = a:result |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1865 endfunc |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1866 let winid = popup_create('something', #{callback: 'PopupDone'}) |
16890
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1867 redraw |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1868 call popup_close(winid, 'done') |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1869 call assert_equal('done', g:result) |
5131023c5728
patch 8.1.1446: popup window callback not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16888
diff
changeset
|
1870 endfunc |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1871 |
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1872 func Test_popup_empty() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1873 let winid = popup_create('', #{padding: [2,2,2,2]}) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1874 redraw |
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1875 let pos = popup_getpos(winid) |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
1876 call assert_equal(5, pos.width) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1877 call assert_equal(5, pos.height) |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
1878 call popup_close(winid) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1879 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1880 let winid = popup_create([], #{border: []}) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1881 redraw |
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1882 let pos = popup_getpos(winid) |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
1883 call assert_equal(3, pos.width) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1884 call assert_equal(3, pos.height) |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
1885 call popup_close(winid) |
16892
60c9ac14a2ec
patch 8.1.1447: not allowed to create an empty popup
Bram Moolenaar <Bram@vim.org>
parents:
16890
diff
changeset
|
1886 endfunc |
16894
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1887 |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1888 func Test_popup_never_behind() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1889 CheckScreendump |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
1890 |
16894
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1891 " +-----------------------------+ |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1892 " | | | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1893 " | | | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1894 " | | | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1895 " | line1 | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1896 " |------------line2------------| |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1897 " | line3 | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1898 " | line4 | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1899 " | | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1900 " | | |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1901 " +-----------------------------+ |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1902 let lines =<< trim END |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1903 split |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1904 vsplit |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1905 let info_window1 = getwininfo()[0] |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1906 let line = info_window1['height'] |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1907 let col = info_window1['width'] |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1908 call popup_create(['line1', 'line2', 'line3', 'line4'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1909 \ line : line, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
1910 \ col : col, |
16894
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1911 \ }) |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1912 END |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1913 call writefile(lines, 'XtestPopupBehind') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
1914 let buf = RunVimInTerminal('-S XtestPopupBehind', #{rows: 10}) |
16894
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1915 call term_sendkeys(buf, "\<C-W>w") |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1916 call VerifyScreenDump(buf, 'Test_popupwin_behind', {}) |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1917 |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1918 " clean up |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1919 call StopVimInTerminal(buf) |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1920 call delete('XtestPopupBehind') |
236c182c6300
patch 8.1.1448: statusline is sometimes drawn on top of popup
Bram Moolenaar <Bram@vim.org>
parents:
16892
diff
changeset
|
1921 endfunc |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1922 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1923 func s:VerifyPosition(p, msg, line, col, width, height) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1924 call assert_equal(a:line, popup_getpos(a:p).line, a:msg . ' (l)') |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1925 call assert_equal(a:col, popup_getpos(a:p).col, a:msg . ' (c)') |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1926 call assert_equal(a:width, popup_getpos(a:p).width, a:msg . ' (w)') |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1927 call assert_equal(a:height, popup_getpos(a:p).height, a:msg . ' (h)') |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1928 endfunc |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1929 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1930 func Test_popup_position_adjust() |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1931 " Anything placed past the last cell on the right of the screen is moved to |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1932 " the left. |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1933 " |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1934 " When wrapping is disabled, we also shift to the left to display on the |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1935 " screen, unless fixed is set. |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1936 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1937 " Entries for cases which don't vary based on wrapping. |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1938 " Format is per tests described below |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1939 let both_wrap_tests = [ |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1940 \ ['a', 5, &columns, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1941 \ ['b', 5, &columns + 1, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1942 \ ['c', 5, &columns - 1, 5, &columns - 1, 1, 1], |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1943 \ ['d', 5, &columns - 2, 5, &columns - 2, 1, 1], |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1944 \ ['e', 5, &columns - 3, 5, &columns - 3, 1, 1]] |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1945 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1946 " these test groups are dicts with: |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1947 " - comment: something to identify the group of tests by |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1948 " - options: dict of options to merge with the row/col in tests |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1949 " - tests: list of cases. Each one is a list with elements: |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1950 " - text |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1951 " - row |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1952 " - col |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1953 " - expected row |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1954 " - expected col |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1955 " - expected width |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1956 " - expected height |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
1957 let tests = [ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1958 \ #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1959 \ comment: 'left-aligned with wrapping', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1960 \ options: #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1961 \ wrap: 1, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1962 \ pos: 'botleft', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1963 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1964 \ tests: both_wrap_tests + [ |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1965 \ ['aa', 5, &columns, 4, &columns, 1, 2], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1966 \ ['bb', 5, &columns + 1, 4, &columns, 1, 2], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1967 \ ['cc', 5, &columns - 1, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1968 \ ['dd', 5, &columns - 2, 5, &columns - 2, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1969 \ ['ee', 5, &columns - 3, 5, &columns - 3, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1970 \ |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1971 \ ['aaa', 5, &columns, 3, &columns, 1, 3], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1972 \ ['bbb', 5, &columns + 1, 3, &columns, 1, 3], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1973 \ ['ccc', 5, &columns - 1, 4, &columns - 1, 2, 2], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1974 \ ['ddd', 5, &columns - 2, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1975 \ ['eee', 5, &columns - 3, 5, &columns - 3, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1976 \ |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1977 \ ['aaaa', 5, &columns, 2, &columns, 1, 4], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1978 \ ['bbbb', 5, &columns + 1, 2, &columns, 1, 4], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1979 \ ['cccc', 5, &columns - 1, 4, &columns - 1, 2, 2], |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1980 \ ['dddd', 5, &columns - 2, 4, &columns - 2, 3, 2], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1981 \ ['eeee', 5, &columns - 3, 5, &columns - 3, 4, 1], |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1982 \ ['eeee', 5, &columns - 4, 5, &columns - 4, 4, 1], |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1983 \ ], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1984 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1985 \ #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1986 \ comment: 'left aligned without wrapping', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1987 \ options: #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1988 \ wrap: 0, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1989 \ pos: 'botleft', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1990 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
1991 \ tests: both_wrap_tests + [ |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1992 \ ['aa', 5, &columns, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1993 \ ['bb', 5, &columns + 1, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1994 \ ['cc', 5, &columns - 1, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1995 \ ['dd', 5, &columns - 2, 5, &columns - 2, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1996 \ ['ee', 5, &columns - 3, 5, &columns - 3, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1997 \ |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1998 \ ['aaa', 5, &columns, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
1999 \ ['bbb', 5, &columns + 1, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2000 \ ['ccc', 5, &columns - 1, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2001 \ ['ddd', 5, &columns - 2, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2002 \ ['eee', 5, &columns - 3, 5, &columns - 3, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2003 \ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2004 \ ['aaaa', 5, &columns, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2005 \ ['bbbb', 5, &columns + 1, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2006 \ ['cccc', 5, &columns - 1, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2007 \ ['dddd', 5, &columns - 2, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2008 \ ['eeee', 5, &columns - 3, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2009 \ ], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2010 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2011 \ #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2012 \ comment: 'left aligned with fixed position', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2013 \ options: #{ |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2014 \ wrap: 0, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2015 \ fixed: 1, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2016 \ pos: 'botleft', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2017 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2018 \ tests: both_wrap_tests + [ |
19071
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2019 \ ['aa', 5, &columns, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2020 \ ['bb', 5, &columns + 1, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2021 \ ['cc', 5, &columns - 1, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2022 \ ['dd', 5, &columns - 2, 5, &columns - 2, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2023 \ ['ee', 5, &columns - 3, 5, &columns - 3, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2024 \ |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2025 \ ['aaa', 5, &columns, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2026 \ ['bbb', 5, &columns + 1, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2027 \ ['ccc', 5, &columns - 1, 5, &columns - 1, 2, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2028 \ ['ddd', 5, &columns - 2, 5, &columns - 2, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2029 \ ['eee', 5, &columns - 3, 5, &columns - 3, 3, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2030 \ |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2031 \ ['aaaa', 5, &columns, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2032 \ ['bbbb', 5, &columns + 1, 5, &columns, 1, 1], |
48e0208f53c2
patch 8.2.0096: cannot create tiny popup window in last column
Bram Moolenaar <Bram@vim.org>
parents:
18868
diff
changeset
|
2033 \ ['cccc', 5, &columns - 1, 5, &columns - 1, 2, 1], |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2034 \ ['dddd', 5, &columns - 2, 5, &columns - 2, 3, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2035 \ ['eeee', 5, &columns - 3, 5, &columns - 3, 4, 1], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2036 \ ], |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2037 \ }, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2038 \ ] |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2039 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2040 for test_group in tests |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2041 for test in test_group.tests |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2042 let [ text, line, col, e_line, e_col, e_width, e_height ] = test |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2043 let options = #{ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2044 \ line: line, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2045 \ col: col, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2046 \ } |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2047 call extend(options, test_group.options) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2048 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2049 let p = popup_create(text, options) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2050 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2051 let msg = string(extend(options, #{text: text})) |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2052 call s:VerifyPosition(p, msg, e_line, e_col, e_width, e_height) |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2053 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2054 endfor |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2055 endfor |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2056 |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2057 call popup_clear() |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2058 %bwipe! |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2059 endfunc |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2060 |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2061 func Test_adjust_left_past_screen_width() |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2062 " width of screen |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2063 let X = join(map(range(&columns), {->'X'}), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2064 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2065 let p = popup_create(X, #{line: 1, col: 1, wrap: 0}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2066 call s:VerifyPosition(p, 'full width topleft', 1, 1, &columns, 1) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2067 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2068 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2069 let line = join(map(range(1, &columns + 1), 'screenstring(1, v:val)'), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2070 call assert_equal(X, line) |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2071 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2072 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2073 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2074 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2075 " Same if placed on the right hand side |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2076 let p = popup_create(X, #{line: 1, col: &columns, wrap: 0}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2077 call s:VerifyPosition(p, 'full width topright', 1, 1, &columns, 1) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2078 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2079 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2080 let line = join(map(range(1, &columns + 1), 'screenstring(1, v:val)'), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2081 call assert_equal(X, line) |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2082 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2083 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2084 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2085 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2086 " Extend so > window width |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2087 let X .= 'x' |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2088 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2089 let p = popup_create(X, #{line: 1, col: 1, wrap: 0}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2090 call s:VerifyPosition(p, 'full width + 1 topleft', 1, 1, &columns, 1) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2091 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2092 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2093 let line = join(map(range(1, &columns + 1), 'screenstring(1, v:val)'), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2094 call assert_equal(X[ : -2 ], line) |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2095 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2096 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2097 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2098 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2099 " Shifted then truncated (the x is not visible) |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2100 let p = popup_create(X, #{line: 1, col: &columns - 3, wrap: 0}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2101 call s:VerifyPosition(p, 'full width + 1 topright', 1, 1, &columns, 1) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2102 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2103 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2104 let line = join(map(range(1, &columns + 1), 'screenstring(1, v:val)'), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2105 call assert_equal(X[ : -2 ], line) |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2106 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2107 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2108 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2109 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2110 " Not shifted, just truncated |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2111 let p = popup_create(X, |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2112 \ #{line: 1, col: 2, wrap: 0, fixed: 1}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2113 call s:VerifyPosition(p, 'full width + 1 fixed', 1, 2, &columns - 1, 1) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2114 |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2115 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2116 let line = join(map(range(1, &columns + 1), 'screenstring(1, v:val)'), '') |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2117 let e_line = ' ' . X[ 1 : -2 ] |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2118 call assert_equal(e_line, line) |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2119 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2120 call popup_close(p) |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2121 redraw |
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2122 |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2123 call popup_clear() |
16896
52fc577a087d
patch 8.1.1449: popup text truncated at end of screen
Bram Moolenaar <Bram@vim.org>
parents:
16894
diff
changeset
|
2124 %bwipe! |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2125 endfunc |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2126 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2127 func Test_popup_moved() |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2128 new |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2129 call test_override('char_avail', 1) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2130 call setline(1, ['one word to move around', 'a WORD.and->some thing']) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2131 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2132 exe "normal gg0/word\<CR>" |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2133 let winid = popup_atcursor('text', #{moved: 'any'}) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2134 redraw |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2135 call assert_equal(1, popup_getpos(winid).visible) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
2136 call assert_equal([1, 4, 4], popup_getoptions(winid).moved) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2137 " trigger the check for last_cursormoved by going into insert mode |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2138 call feedkeys("li\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2139 call assert_equal({}, popup_getpos(winid)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2140 call popup_clear() |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2141 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2142 exe "normal gg0/word\<CR>" |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2143 let winid = popup_atcursor('text', #{moved: 'word'}) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2144 redraw |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2145 call assert_equal(1, popup_getpos(winid).visible) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
2146 call assert_equal([1, 4, 7], popup_getoptions(winid).moved) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2147 call feedkeys("hi\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2148 call assert_equal({}, popup_getpos(winid)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2149 call popup_clear() |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2150 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2151 exe "normal gg0/word\<CR>" |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2152 let winid = popup_atcursor('text', #{moved: 'word'}) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2153 redraw |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2154 call assert_equal(1, popup_getpos(winid).visible) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
2155 call assert_equal([1, 4, 7], popup_getoptions(winid).moved) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2156 call feedkeys("li\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2157 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2158 call feedkeys("ei\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2159 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2160 call feedkeys("eli\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2161 call assert_equal({}, popup_getpos(winid)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2162 call popup_clear() |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2163 |
16908
df06694b761b
patch 8.1.1455: popup_atcursor() not completely implemented
Bram Moolenaar <Bram@vim.org>
parents:
16904
diff
changeset
|
2164 " WORD is the default |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2165 exe "normal gg0/WORD\<CR>" |
16908
df06694b761b
patch 8.1.1455: popup_atcursor() not completely implemented
Bram Moolenaar <Bram@vim.org>
parents:
16904
diff
changeset
|
2166 let winid = popup_atcursor('text', {}) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2167 redraw |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2168 call assert_equal(1, popup_getpos(winid).visible) |
17292
8a095d343c59
patch 8.1.1645: cannot use a popup window for a balloon
Bram Moolenaar <Bram@vim.org>
parents:
17278
diff
changeset
|
2169 call assert_equal([2, 2, 15], popup_getoptions(winid).moved) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2170 call feedkeys("eli\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2171 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2172 call feedkeys("wi\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2173 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2174 call feedkeys("Eli\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2175 call assert_equal({}, popup_getpos(winid)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2176 call popup_clear() |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2177 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2178 exe "normal gg0/word\<CR>" |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2179 let winid = popup_atcursor('text', #{moved: [5, 10]}) |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2180 redraw |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2181 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2182 call feedkeys("eli\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2183 call feedkeys("ei\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2184 call assert_equal(1, popup_getpos(winid).visible) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2185 call feedkeys("eli\<Esc>", 'xt') |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2186 call assert_equal({}, popup_getpos(winid)) |
17026
905e1b154058
patch 8.1.1513: all popup functionality is in functions, except :popupclear
Bram Moolenaar <Bram@vim.org>
parents:
17022
diff
changeset
|
2187 call popup_clear() |
16904
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2188 |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2189 bwipe! |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2190 call test_override('ALL', 0) |
9138e2c60bf1
patch 8.1.1453: popup window "moved" property not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
16902
diff
changeset
|
2191 endfunc |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2192 |
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2193 func Test_notifications() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2194 CheckFeature timers |
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2195 CheckScreendump |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2196 |
17920
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2197 let lines =<< trim END |
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2198 call setline(1, range(1, 20)) |
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2199 hi Notification ctermbg=lightblue |
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2200 call popup_notification('first notification', {}) |
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2201 END |
233e316c0b5a
patch 8.1.1956: screenshot tests may use a different encoding
Bram Moolenaar <Bram@vim.org>
parents:
17918
diff
changeset
|
2202 call writefile(lines, 'XtestNotifications') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2203 let buf = RunVimInTerminal('-S XtestNotifications', #{rows: 10}) |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2204 call VerifyScreenDump(buf, 'Test_popupwin_notify_01', {}) |
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2205 |
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2206 " second one goes below the first one |
17077
2546930657a9
patch 8.1.1538: cannot specify highlighting for notifications
Bram Moolenaar <Bram@vim.org>
parents:
17075
diff
changeset
|
2207 call term_sendkeys(buf, ":hi link PopupNotification Notification\<CR>") |
2546930657a9
patch 8.1.1538: cannot specify highlighting for notifications
Bram Moolenaar <Bram@vim.org>
parents:
17075
diff
changeset
|
2208 call term_sendkeys(buf, ":call popup_notification('another important notification', {})\<CR>") |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2209 call VerifyScreenDump(buf, 'Test_popupwin_notify_02', {}) |
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2210 |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2211 " clean up |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2212 call StopVimInTerminal(buf) |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2213 call delete('XtestNotifications') |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2214 endfunc |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2215 |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2216 func Test_popup_scrollbar() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2217 CheckScreendump |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2218 |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2219 let lines =<< trim END |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2220 call setline(1, range(1, 20)) |
17204
1a6ccc91ed46
patch 8.1.1601: missing changes to popup window test file
Bram Moolenaar <Bram@vim.org>
parents:
17198
diff
changeset
|
2221 hi ScrollThumb ctermbg=blue |
1a6ccc91ed46
patch 8.1.1601: missing changes to popup window test file
Bram Moolenaar <Bram@vim.org>
parents:
17198
diff
changeset
|
2222 hi ScrollBar ctermbg=red |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2223 let winid = popup_create(['one', 'two', 'three', 'four', 'five', |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2224 \ 'six', 'seven', 'eight', 'nine'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2225 \ minwidth: 8, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2226 \ maxheight: 4, |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2227 \ }) |
17198
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2228 func ScrollUp() |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2229 call feedkeys("\<F3>\<ScrollWheelUp>", "xt") |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2230 endfunc |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2231 func ScrollDown() |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2232 call feedkeys("\<F3>\<ScrollWheelDown>", "xt") |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2233 endfunc |
17216
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2234 func ClickTop() |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2235 call feedkeys("\<F4>\<LeftMouse>", "xt") |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2236 endfunc |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2237 func ClickBot() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2238 call popup_setoptions(g:winid, #{border: [], close: 'button'}) |
17216
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2239 call feedkeys("\<F5>\<LeftMouse>", "xt") |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2240 endfunc |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2241 func Popup_filter(winid, key) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2242 if a:key == 'j' |
22675
ff29f22c93f7
patch 8.2.1886: using ":silent!" in a popup filter has unexpected effect
Bram Moolenaar <Bram@vim.org>
parents:
22600
diff
changeset
|
2243 silent! this_throws_an_error_but_is_ignored |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2244 let line = popup_getoptions(a:winid).firstline |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2245 let nlines = line('$', a:winid) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2246 let newline = line < nlines ? (line + 1) : nlines |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2247 call popup_setoptions(a:winid, #{firstline: newline}) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2248 return v:true |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2249 elseif a:key == 'x' |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2250 call popup_close(a:winid) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2251 return v:true |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2252 endif |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2253 endfunc |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2254 |
22429
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2255 def CreatePopup(text: list<string>) |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23041
diff
changeset
|
2256 popup_create(text, { |
22429
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2257 \ minwidth: 30, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2258 \ maxwidth: 30, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2259 \ minheight: 4, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2260 \ maxheight: 4, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2261 \ firstline: 1, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2262 \ lastline: 4, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2263 \ wrap: true, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2264 \ scrollbar: true, |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2265 \ mapping: false, |
27464
a14c4d3e3260
patch 8.2.4260: Vim9: can still use a global function without g:
Bram Moolenaar <Bram@vim.org>
parents:
27457
diff
changeset
|
2266 \ filter: g:Popup_filter, |
22429
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2267 \ }) |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2268 enddef |
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2269 |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2270 func PopupScroll() |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2271 call popup_clear() |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2272 let text =<< trim END |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2273 1 |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2274 2 |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2275 3 |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2276 4 |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2277 long line long line long line long line long line long line |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2278 long line long line long line long line long line long line |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2279 long line long line long line long line long line long line |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2280 END |
22429
909ce065e99a
patch 8.2.1763: Vim9: cannot use "true" for popup window scrollbar option
Bram Moolenaar <Bram@vim.org>
parents:
22403
diff
changeset
|
2281 call CreatePopup(text) |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2282 endfunc |
17198
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2283 map <silent> <F3> :call test_setmouse(5, 36)<CR> |
17216
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2284 map <silent> <F4> :call test_setmouse(4, 42)<CR> |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2285 map <silent> <F5> :call test_setmouse(7, 42)<CR> |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2286 END |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2287 call writefile(lines, 'XtestPopupScroll') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2288 let buf = RunVimInTerminal('-S XtestPopupScroll', #{rows: 10}) |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2289 call VerifyScreenDump(buf, 'Test_popupwin_scroll_1', {}) |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2290 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2291 call term_sendkeys(buf, ":call popup_setoptions(winid, #{firstline: 2})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
2292 call term_sendkeys(buf, ":\<CR>") |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2293 call VerifyScreenDump(buf, 'Test_popupwin_scroll_2', {}) |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2294 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2295 call term_sendkeys(buf, ":call popup_setoptions(winid, #{firstline: 6})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
2296 call term_sendkeys(buf, ":\<CR>") |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2297 call VerifyScreenDump(buf, 'Test_popupwin_scroll_3', {}) |
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2298 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2299 call term_sendkeys(buf, ":call popup_setoptions(winid, #{firstline: 9})\<CR>") |
17387
2558f90045e5
patch 8.1.1692: using *{} for literal dict is not backwards compatible
Bram Moolenaar <Bram@vim.org>
parents:
17368
diff
changeset
|
2300 call term_sendkeys(buf, ":\<CR>") |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2301 call VerifyScreenDump(buf, 'Test_popupwin_scroll_4', {}) |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2302 |
17897
fa032e079825
patch 8.1.1945: popup window "firstline" cannot be reset
Bram Moolenaar <Bram@vim.org>
parents:
17847
diff
changeset
|
2303 call term_sendkeys(buf, ":call popup_setoptions(winid, #{scrollbarhighlight: 'ScrollBar', thumbhighlight: 'ScrollThumb', firstline: 5})\<CR>") |
17926
ad7a4bd65f20
patch 8.1.1959: when using "firstline" in popup window text may jump
Bram Moolenaar <Bram@vim.org>
parents:
17920
diff
changeset
|
2304 " this scrolls two lines (half the window height) |
17198
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2305 call term_sendkeys(buf, ":call ScrollUp()\<CR>") |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2306 call VerifyScreenDump(buf, 'Test_popupwin_scroll_5', {}) |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2307 |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2308 call term_sendkeys(buf, ":call ScrollDown()\<CR>") |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2309 call VerifyScreenDump(buf, 'Test_popupwin_scroll_6', {}) |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2310 |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2311 call term_sendkeys(buf, ":call ScrollDown()\<CR>") |
17210
175941dcc96b
patch 8.1.1604: popup window scroll test is flaky
Bram Moolenaar <Bram@vim.org>
parents:
17204
diff
changeset
|
2312 " wait a bit, otherwise it fails sometimes (double click recognized?) |
175941dcc96b
patch 8.1.1604: popup window scroll test is flaky
Bram Moolenaar <Bram@vim.org>
parents:
17204
diff
changeset
|
2313 sleep 100m |
17198
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2314 call term_sendkeys(buf, ":call ScrollDown()\<CR>") |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2315 call VerifyScreenDump(buf, 'Test_popupwin_scroll_7', {}) |
4c009ec23c0a
patch 8.1.1598: update to test file missing
Bram Moolenaar <Bram@vim.org>
parents:
17182
diff
changeset
|
2316 |
17216
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2317 call term_sendkeys(buf, ":call ClickTop()\<CR>") |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2318 sleep 100m |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2319 call term_sendkeys(buf, ":call ClickTop()\<CR>") |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2320 call VerifyScreenDump(buf, 'Test_popupwin_scroll_8', {}) |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2321 |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2322 call term_sendkeys(buf, ":call ClickBot()\<CR>") |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2323 call VerifyScreenDump(buf, 'Test_popupwin_scroll_9', {}) |
11f3cf51d43b
patch 8.1.1608: the evalfunc.c file is too big
Bram Moolenaar <Bram@vim.org>
parents:
17210
diff
changeset
|
2324 |
17905
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
2325 " remove the minwidth and maxheight |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
2326 call term_sendkeys(buf, ":call popup_setoptions(winid, #{maxheight: 0, minwidth: 0})\<CR>") |
18110
6a6c4536ea4c
patch 8.1.2050: popup window test fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
18088
diff
changeset
|
2327 call term_sendkeys(buf, ":\<CR>") |
17905
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
2328 call VerifyScreenDump(buf, 'Test_popupwin_scroll_10', {}) |
fb773f73a4be
patch 8.1.1949: cannot scroll a popup window to the very bottom
Bram Moolenaar <Bram@vim.org>
parents:
17897
diff
changeset
|
2329 |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2330 " check size with non-wrapping lines |
27464
a14c4d3e3260
patch 8.2.4260: Vim9: can still use a global function without g:
Bram Moolenaar <Bram@vim.org>
parents:
27457
diff
changeset
|
2331 call term_sendkeys(buf, ":call g:PopupScroll()\<CR>") |
18492
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2332 call VerifyScreenDump(buf, 'Test_popupwin_scroll_11', {}) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2333 |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2334 " check size with wrapping lines |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2335 call term_sendkeys(buf, "j") |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2336 call VerifyScreenDump(buf, 'Test_popupwin_scroll_12', {}) |
41a5f241e9d5
patch 8.1.2240: popup window width changes when scrolling
Bram Moolenaar <Bram@vim.org>
parents:
18432
diff
changeset
|
2337 |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2338 " clean up |
20927
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
2339 call term_sendkeys(buf, "x") |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2340 call StopVimInTerminal(buf) |
17180
8581779aa16f
patch 8.1.1589: popup window does not indicate scroll position
Bram Moolenaar <Bram@vim.org>
parents:
17172
diff
changeset
|
2341 call delete('XtestPopupScroll') |
17045
7fe328ad5573
patch 8.1.1522: poup_notification() not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17043
diff
changeset
|
2342 endfunc |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2343 |
21713
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2344 func Test_popup_too_high_scrollbar() |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2345 CheckScreendump |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2346 |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2347 let lines =<< trim END |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2348 call setline(1, range(1, 20)->map({i, v -> repeat(v, 10)})) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2349 set scrolloff=0 |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2350 func ShowPopup() |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2351 let winid = popup_atcursor(['one', 'two', 'three', 'four', 'five', |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2352 \ 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve'], #{ |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2353 \ minwidth: 8, |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2354 \ border: [], |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2355 \ }) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2356 endfunc |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2357 normal 3G$ |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2358 call ShowPopup() |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2359 END |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2360 call writefile(lines, 'XtestPopupToohigh') |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2361 let buf = RunVimInTerminal('-S XtestPopupToohigh', #{rows: 10}) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2362 call VerifyScreenDump(buf, 'Test_popupwin_toohigh_1', {}) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2363 |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2364 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2365 call term_sendkeys(buf, "8G$") |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2366 call term_sendkeys(buf, ":call ShowPopup()\<CR>") |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2367 call VerifyScreenDump(buf, 'Test_popupwin_toohigh_2', {}) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2368 |
21729
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
2369 call term_sendkeys(buf, ":call popup_clear()\<CR>") |
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
2370 call term_sendkeys(buf, "gg$") |
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
2371 call term_sendkeys(buf, ":call ShowPopup()\<CR>") |
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
2372 call VerifyScreenDump(buf, 'Test_popupwin_toohigh_3', {}) |
f2ba8ebbab2b
patch 8.2.1414: popupwindow missing last couple of lines
Bram Moolenaar <Bram@vim.org>
parents:
21713
diff
changeset
|
2373 |
21713
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2374 " clean up |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2375 call StopVimInTerminal(buf) |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2376 call delete('XtestPopupToohigh') |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2377 endfunc |
b997e872ff95
patch 8.2.1406: popupwindow lacks scrollbar if no "maxheight" is used
Bram Moolenaar <Bram@vim.org>
parents:
21552
diff
changeset
|
2378 |
17274
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2379 func Test_popup_fitting_scrollbar() |
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2380 " this was causing a crash, divide by zero |
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2381 let winid = popup_create([ |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2382 \ 'one', 'two', 'longer line that wraps', 'four', 'five'], #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2383 \ scrollbar: 1, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2384 \ maxwidth: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2385 \ maxheight: 5, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2386 \ firstline: 2}) |
17274
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2387 redraw |
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2388 call popup_clear() |
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2389 endfunc |
6a7ba68d448e
patch 8.1.1636: crash when popup has fitting scrollbar
Bram Moolenaar <Bram@vim.org>
parents:
17253
diff
changeset
|
2390 |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2391 func Test_popup_settext() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2392 CheckScreendump |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2393 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2394 let lines =<< trim END |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2395 let opts = #{wrap: 0} |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2396 let p = popup_create('test', opts) |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2397 eval p->popup_settext('this is a text') |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2398 END |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2399 |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
2400 call writefile(lines, 'XtestPopupSetText') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2401 let buf = RunVimInTerminal('-S XtestPopupSetText', #{rows: 10}) |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2402 call VerifyScreenDump(buf, 'Test_popup_settext_01', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2403 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2404 " Setting to empty string clears it |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2405 call term_sendkeys(buf, ":call popup_settext(p, '')\<CR>") |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2406 call VerifyScreenDump(buf, 'Test_popup_settext_02', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2407 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2408 " Setting a list |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2409 call term_sendkeys(buf, ":call popup_settext(p, ['a','b','c'])\<CR>") |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2410 call VerifyScreenDump(buf, 'Test_popup_settext_03', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2411 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2412 " Shrinking with a list |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2413 call term_sendkeys(buf, ":call popup_settext(p, ['a'])\<CR>") |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2414 call VerifyScreenDump(buf, 'Test_popup_settext_04', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2415 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2416 " Growing with a list |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2417 call term_sendkeys(buf, ":call popup_settext(p, ['a','b','c'])\<CR>") |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2418 call VerifyScreenDump(buf, 'Test_popup_settext_03', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2419 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2420 " Empty list clears |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2421 call term_sendkeys(buf, ":call popup_settext(p, [])\<CR>") |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2422 call VerifyScreenDump(buf, 'Test_popup_settext_05', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2423 |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2424 " Dicts |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2425 call term_sendkeys(buf, ":call popup_settext(p, [#{text: 'aaaa'}, #{text: 'bbbb'}, #{text: 'cccc'}])\<CR>") |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2426 call VerifyScreenDump(buf, 'Test_popup_settext_06', {}) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2427 |
19241
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
2428 " range() (doesn't work) |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
2429 call term_sendkeys(buf, ":call popup_settext(p, range(4, 8))\<CR>") |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
2430 call VerifyScreenDump(buf, 'Test_popup_settext_07', {}) |
c53dbbf3229b
patch 8.2.0179: still a few places where range() does not work
Bram Moolenaar <Bram@vim.org>
parents:
19166
diff
changeset
|
2431 |
17107
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2432 " clean up |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2433 call StopVimInTerminal(buf) |
0001d10a7661
patch 8.1.1553: not easy to change the text in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17101
diff
changeset
|
2434 call delete('XtestPopupSetText') |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2435 endfunc |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2436 |
22063
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2437 func Test_popup_settext_getline() |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2438 let id = popup_create('', #{ tabpage: 0 }) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2439 call popup_settext(id, ['a','b']) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2440 call assert_equal(2, line('$', id)) " OK :) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2441 call popup_close(id) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2442 |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2443 let id = popup_create('', #{ tabpage: -1 }) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2444 call popup_settext(id, ['a','b']) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2445 call assert_equal(2, line('$', id)) " Fails :( |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2446 call popup_close(id) |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2447 endfunc |
0716b3299872
patch 8.2.1581: using line() for global popup window doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
22057
diff
changeset
|
2448 |
22600
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2449 func Test_popup_settext_null() |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2450 let id = popup_create('', #{ tabpage: 0 }) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2451 call popup_settext(id, test_null_list()) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2452 call popup_close(id) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2453 |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2454 let id = popup_create('', #{ tabpage: 0 }) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2455 call popup_settext(id, test_null_string()) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2456 call popup_close(id) |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2457 endfunc |
d5ce7dd60dc1
patch 8.2.1848: crash when passing a NULL string or list to popup_settext()
Bram Moolenaar <Bram@vim.org>
parents:
22518
diff
changeset
|
2458 |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2459 func Test_popup_hidden() |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2460 new |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2461 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2462 let winid = popup_atcursor('text', #{hidden: 1}) |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2463 redraw |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2464 call assert_equal(0, popup_getpos(winid).visible) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2465 call popup_close(winid) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2466 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2467 let winid = popup_create('text', #{hidden: 1}) |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2468 redraw |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2469 call assert_equal(0, popup_getpos(winid).visible) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2470 call popup_close(winid) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2471 |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2472 func QuitCallback(id, res) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2473 let s:cb_winid = a:id |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2474 let s:cb_res = a:res |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2475 endfunc |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2476 let winid = 'make a choice'->popup_dialog(#{hidden: 1, |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2477 \ filter: 'popup_filter_yesno', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2478 \ callback: 'QuitCallback', |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2479 \ }) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2480 redraw |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2481 call assert_equal(0, popup_getpos(winid).visible) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2482 call assert_equal(function('popup_filter_yesno'), popup_getoptions(winid).filter) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2483 call assert_equal(function('QuitCallback'), popup_getoptions(winid).callback) |
17121
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2484 exe "normal anot used by filter\<Esc>" |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2485 call assert_equal('not used by filter', getline(1)) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2486 |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2487 call popup_show(winid) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2488 call feedkeys('y', "xt") |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2489 call assert_equal(1, s:cb_res) |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2490 |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2491 bwipe! |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2492 delfunc QuitCallback |
808ea76535a9
patch 8.1.1560: popup window hidden option not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17119
diff
changeset
|
2493 endfunc |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2494 |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2495 " Test options not checked elsewhere |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2496 func Test_set_get_options() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2497 let winid = popup_create('some text', #{highlight: 'Beautiful'}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2498 let options = popup_getoptions(winid) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2499 call assert_equal(1, options.wrap) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2500 call assert_equal(0, options.drag) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2501 call assert_equal('Beautiful', options.highlight) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2502 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2503 call popup_setoptions(winid, #{wrap: 0, drag: 1, highlight: 'Another'}) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2504 let options = popup_getoptions(winid) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2505 call assert_equal(0, options.wrap) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2506 call assert_equal(1, options.drag) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2507 call assert_equal('Another', options.highlight) |
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2508 |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
2509 call assert_fails('call popup_setoptions(winid, [])', 'E715:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
2510 call assert_fails('call popup_setoptions(winid, test_null_dict())', 'E715:') |
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
2511 |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2512 call popup_close(winid) |
20120
16460964c304
patch 8.2.0615: regexp benchmark stest is old style
Bram Moolenaar <Bram@vim.org>
parents:
19954
diff
changeset
|
2513 call assert_equal(0, popup_setoptions(winid, options.wrap)) |
17123
efc6f5e3b543
patch 8.1.1561: popup_setoptions() is not implemented yet
Bram Moolenaar <Bram@vim.org>
parents:
17121
diff
changeset
|
2514 endfunc |
17151
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2515 |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2516 func Test_popupwin_garbage_collect() |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2517 func MyPopupFilter(x, winid, c) |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2518 " NOP |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2519 endfunc |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2520 |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2521 let winid = popup_create('something', #{filter: function('MyPopupFilter', [{}])}) |
17151
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2522 call test_garbagecollect_now() |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2523 redraw |
17918
9606c0adc148
patch 8.1.1955: tests contain typos
Bram Moolenaar <Bram@vim.org>
parents:
17905
diff
changeset
|
2524 " Must not crash caused by invalid memory access |
17151
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2525 call feedkeys('j', 'xt') |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2526 call assert_true(v:true) |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2527 |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2528 call popup_close(winid) |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2529 delfunc MyPopupFilter |
ebe9aab81898
patch 8.1.1575: callbacks may be garbage collected
Bram Moolenaar <Bram@vim.org>
parents:
17149
diff
changeset
|
2530 endfunc |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2531 |
17946
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2532 func Test_popupwin_filter_mode() |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2533 func MyPopupFilter(winid, c) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2534 let s:typed = a:c |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2535 if a:c == ':' || a:c == "\r" || a:c == 'v' |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2536 " can start cmdline mode, get out, and start/stop Visual mode |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2537 return 0 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2538 endif |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2539 return 1 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2540 endfunc |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2541 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2542 " Normal, Visual and Insert mode |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2543 let winid = popup_create('something', #{filter: 'MyPopupFilter', filtermode: 'nvi'}) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2544 redraw |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2545 call feedkeys('x', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2546 call assert_equal('x', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2547 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2548 call feedkeys(":let g:foo = 'foo'\<CR>", 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2549 call assert_equal(':', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2550 call assert_equal('foo', g:foo) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2551 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2552 let @x = 'something' |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2553 call feedkeys('v$"xy', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2554 call assert_equal('y', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2555 call assert_equal('something', @x) " yank command is filtered out |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2556 call feedkeys('v', 'xt') " end Visual mode |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2557 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2558 call popup_close(winid) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2559 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2560 " only Normal mode |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2561 let winid = popup_create('something', #{filter: 'MyPopupFilter', filtermode: 'n'}) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2562 redraw |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2563 call feedkeys('x', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2564 call assert_equal('x', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2565 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2566 call feedkeys(":let g:foo = 'foo'\<CR>", 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2567 call assert_equal(':', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2568 call assert_equal('foo', g:foo) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2569 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2570 let @x = 'something' |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2571 call feedkeys('v$"xy', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2572 call assert_equal('v', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2573 call assert_notequal('something', @x) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2574 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2575 call popup_close(winid) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2576 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2577 " default: all modes |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2578 let winid = popup_create('something', #{filter: 'MyPopupFilter'}) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2579 redraw |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2580 call feedkeys('x', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2581 call assert_equal('x', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2582 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2583 let g:foo = 'bar' |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2584 call feedkeys(":let g:foo = 'foo'\<CR>", 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2585 call assert_equal("\r", s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2586 call assert_equal('bar', g:foo) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2587 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2588 let @x = 'something' |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2589 call feedkeys('v$"xy', 'xt') |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2590 call assert_equal('y', s:typed) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2591 call assert_equal('something', @x) " yank command is filtered out |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2592 call feedkeys('v', 'xt') " end Visual mode |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2593 |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2594 call popup_close(winid) |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2595 delfunc MyPopupFilter |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2596 endfunc |
ec4248c4b92c
patch 8.1.1969: popup window filter is used in all modes
Bram Moolenaar <Bram@vim.org>
parents:
17942
diff
changeset
|
2597 |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2598 func Test_popupwin_filter_mouse() |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2599 func MyPopupFilter(winid, c) |
18623
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2600 let g:got_mousepos = getmousepos() |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2601 return 0 |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2602 endfunc |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2603 |
18623
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2604 call setline(1, ['.'->repeat(25)]->repeat(10)) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2605 let winid = popup_create(['short', 'long line that will wrap', 'other'], #{ |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2606 \ line: 2, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2607 \ col: 4, |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2608 \ maxwidth: 12, |
18623
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2609 \ padding: [], |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2610 \ border: [], |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2611 \ filter: 'MyPopupFilter', |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2612 \ }) |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2613 redraw |
18623
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2614 " 123456789012345678901 |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2615 " 1 ..................... |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2616 " 2 ...+--------------+.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2617 " 3 ...| |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2618 " 4 ...| short |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2619 " 5 ...| long line th |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2620 " 6 ...| at will wrap |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2621 " 7 ...| other |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2622 " 8 ...| |.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2623 " 9 ...+--------------+.. |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2624 " 10 ..................... |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2625 let tests = [] |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2626 |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2627 func AddItemOutsidePopup(tests, row, col) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2628 eval a:tests->add(#{clickrow: a:row, clickcol: a:col, result: #{ |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2629 \ screenrow: a:row, screencol: a:col, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2630 \ winid: win_getid(), winrow: a:row, wincol: a:col, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2631 \ line: a:row, column: a:col, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2632 \ }}) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2633 endfunc |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2634 func AddItemInPopupBorder(tests, winid, row, col) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2635 eval a:tests->add(#{clickrow: a:row, clickcol: a:col, result: #{ |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2636 \ screenrow: a:row, screencol: a:col, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2637 \ winid: a:winid, winrow: a:row - 1, wincol: a:col - 3, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2638 \ line: 0, column: 0, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2639 \ }}) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2640 endfunc |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2641 func AddItemInPopupText(tests, winid, row, col, textline, textcol) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2642 eval a:tests->add(#{clickrow: a:row, clickcol: a:col, result: #{ |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2643 \ screenrow: a:row, screencol: a:col, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2644 \ winid: a:winid, winrow: a:row - 1, wincol: a:col - 3, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2645 \ line: a:textline, column: a:textcol, |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2646 \ }}) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2647 endfunc |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2648 |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2649 " above and below popup |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2650 for c in range(1, 21) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2651 call AddItemOutsidePopup(tests, 1, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2652 call AddItemOutsidePopup(tests, 10, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2653 endfor |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2654 " left and right of popup |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2655 for r in range(1, 10) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2656 call AddItemOutsidePopup(tests, r, 3) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2657 call AddItemOutsidePopup(tests, r, 20) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2658 endfor |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2659 " top and bottom in popup |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2660 for c in range(4, 19) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2661 call AddItemInPopupBorder(tests, winid, 2, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2662 call AddItemInPopupBorder(tests, winid, 3, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2663 call AddItemInPopupBorder(tests, winid, 8, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2664 call AddItemInPopupBorder(tests, winid, 9, c) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2665 endfor |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2666 " left and right margin in popup |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2667 for r in range(2, 9) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2668 call AddItemInPopupBorder(tests, winid, r, 4) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2669 call AddItemInPopupBorder(tests, winid, r, 5) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2670 call AddItemInPopupBorder(tests, winid, r, 18) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2671 call AddItemInPopupBorder(tests, winid, r, 19) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2672 endfor |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2673 " text "short" |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2674 call AddItemInPopupText(tests, winid, 4, 6, 1, 1) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2675 call AddItemInPopupText(tests, winid, 4, 10, 1, 5) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2676 call AddItemInPopupText(tests, winid, 4, 11, 1, 6) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2677 call AddItemInPopupText(tests, winid, 4, 17, 1, 6) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2678 " text "long line th" |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2679 call AddItemInPopupText(tests, winid, 5, 6, 2, 1) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2680 call AddItemInPopupText(tests, winid, 5, 10, 2, 5) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2681 call AddItemInPopupText(tests, winid, 5, 17, 2, 12) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2682 " text "at will wrap" |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2683 call AddItemInPopupText(tests, winid, 6, 6, 2, 13) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2684 call AddItemInPopupText(tests, winid, 6, 10, 2, 17) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2685 call AddItemInPopupText(tests, winid, 6, 17, 2, 24) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2686 " text "other" |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2687 call AddItemInPopupText(tests, winid, 7, 6, 3, 1) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2688 call AddItemInPopupText(tests, winid, 7, 10, 3, 5) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2689 call AddItemInPopupText(tests, winid, 7, 11, 3, 6) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2690 call AddItemInPopupText(tests, winid, 7, 17, 3, 6) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2691 |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2692 for item in tests |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2693 call test_setmouse(item.clickrow, item.clickcol) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2694 call feedkeys("\<LeftMouse>", 'xt') |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2695 call assert_equal(item.result, g:got_mousepos) |
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2696 endfor |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2697 |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2698 call popup_close(winid) |
18623
3089b422b9dc
patch 8.1.2304: cannot get the mouse position when getting a mouse click
Bram Moolenaar <Bram@vim.org>
parents:
18613
diff
changeset
|
2699 enew! |
18544
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2700 delfunc MyPopupFilter |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2701 endfunc |
a6dbbedddce1
patch 8.1.2266: position unknown for a mouse click in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18542
diff
changeset
|
2702 |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2703 func Test_popupwin_with_buffer() |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2704 call writefile(['some text', 'in a buffer'], 'XsomeFile') |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2705 let buf = bufadd('XsomeFile') |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2706 call assert_equal(0, bufloaded(buf)) |
17845
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2707 |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2708 setlocal number |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2709 call setbufvar(buf, "&wrapmargin", 13) |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2710 |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2711 let winid = popup_create(buf, {}) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2712 call assert_notequal(0, winid) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2713 let pos = popup_getpos(winid) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2714 call assert_equal(2, pos.height) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2715 call assert_equal(1, bufloaded(buf)) |
17845
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2716 |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2717 " window-local option is set to default, buffer-local is not |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2718 call assert_equal(0, getwinvar(winid, '&number')) |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2719 call assert_equal(13, getbufvar(buf, '&wrapmargin')) |
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2720 |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2721 call popup_close(winid) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2722 call assert_equal({}, popup_getpos(winid)) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2723 call assert_equal(1, bufloaded(buf)) |
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2724 exe 'bwipe! ' .. buf |
17845
b6acc24df7de
patch 8.1.1919: using window options when passing a buffer to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17841
diff
changeset
|
2725 setlocal nonumber |
17231
e9ebf3f27af6
patch 8.1.1615: crash when passing buffer number to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17225
diff
changeset
|
2726 |
e9ebf3f27af6
patch 8.1.1615: crash when passing buffer number to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17225
diff
changeset
|
2727 edit test_popupwin.vim |
e9ebf3f27af6
patch 8.1.1615: crash when passing buffer number to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17225
diff
changeset
|
2728 let winid = popup_create(bufnr(''), {}) |
e9ebf3f27af6
patch 8.1.1615: crash when passing buffer number to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17225
diff
changeset
|
2729 redraw |
e9ebf3f27af6
patch 8.1.1615: crash when passing buffer number to popup_create()
Bram Moolenaar <Bram@vim.org>
parents:
17225
diff
changeset
|
2730 call popup_close(winid) |
17278
b6de6181e5ab
patch 8.1.1638: running tests leaves some files behind
Bram Moolenaar <Bram@vim.org>
parents:
17274
diff
changeset
|
2731 call delete('XsomeFile') |
17225
09fa437d33d8
patch 8.1.1612: cannot show an existing buffer in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17219
diff
changeset
|
2732 endfunc |
17245
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2733 |
18162
9c3347b21b89
patch 8.1.2076: crash when trying to put a terminal in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18137
diff
changeset
|
2734 func Test_popupwin_terminal_buffer() |
18168
781a81bf4d24
patch 8.1.2079: popup window test fails without +terminal
Bram Moolenaar <Bram@vim.org>
parents:
18162
diff
changeset
|
2735 CheckFeature terminal |
19275
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2736 CheckUnix |
20395
8216bfb88709
patch 8.2.0752: terminal in popup window test is a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
20386
diff
changeset
|
2737 " Starting a terminal to run a shell in is considered flaky. |
8216bfb88709
patch 8.2.0752: terminal in popup window test is a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
20386
diff
changeset
|
2738 let g:test_is_flaky = 1 |
19275
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2739 |
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2740 let origwin = win_getid() |
22518
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2741 |
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2742 " open help window to test that :help below fails |
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2743 help |
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2744 |
20474
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2745 let termbuf = term_start(&shell, #{hidden: 1}) |
23041
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2746 let winid = popup_create(termbuf, #{minwidth: 40, minheight: 10, border: []}) |
23217
0e4b3e7010df
patch 8.2.2154: popupwin test for terminal buffer fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23215
diff
changeset
|
2747 " Wait for shell to start |
20474
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2748 call WaitForAssert({-> assert_equal("run", job_status(term_getjob(termbuf)))}) |
23217
0e4b3e7010df
patch 8.2.2154: popupwin test for terminal buffer fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23215
diff
changeset
|
2749 " Wait for a prompt (see border char first, then space after prompt) |
0e4b3e7010df
patch 8.2.2154: popupwin test for terminal buffer fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23215
diff
changeset
|
2750 call WaitForAssert({ -> assert_equal(' ', screenstring(screenrow(), screencol() - 1))}) |
23041
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2751 |
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2752 " When typing a character, the cursor is after it. |
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2753 call feedkeys("x", 'xt') |
23217
0e4b3e7010df
patch 8.2.2154: popupwin test for terminal buffer fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23215
diff
changeset
|
2754 call term_wait(termbuf) |
23041
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2755 redraw |
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2756 call WaitForAssert({ -> assert_equal('x', screenstring(screenrow(), screencol() - 1))}) |
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2757 call feedkeys("\<BS>", 'xt') |
139573353c6d
patch 8.2.2067: cursor position in popup terminal is wrong
Bram Moolenaar <Bram@vim.org>
parents:
22967
diff
changeset
|
2758 |
19291
1d6bc6b31c2e
patch 8.2.0204: crash when using winnr('j') in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19275
diff
changeset
|
2759 " Check this doesn't crash |
1d6bc6b31c2e
patch 8.2.0204: crash when using winnr('j') in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19275
diff
changeset
|
2760 call assert_equal(winnr(), winnr('j')) |
1d6bc6b31c2e
patch 8.2.0204: crash when using winnr('j') in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19275
diff
changeset
|
2761 call assert_equal(winnr(), winnr('k')) |
1d6bc6b31c2e
patch 8.2.0204: crash when using winnr('j') in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19275
diff
changeset
|
2762 call assert_equal(winnr(), winnr('h')) |
1d6bc6b31c2e
patch 8.2.0204: crash when using winnr('j') in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19275
diff
changeset
|
2763 call assert_equal(winnr(), winnr('l')) |
20375
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2764 |
19275
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2765 " Cannot quit while job is running |
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2766 call assert_fails('call feedkeys("\<C-W>:quit\<CR>", "xt")', 'E948:') |
20375
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2767 |
20474
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2768 " Cannot enter Terminal-Normal mode. (TODO: but it works...) |
20375
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2769 call feedkeys("xxx\<C-W>N", 'xt') |
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2770 call assert_fails('call feedkeys("gf", "xt")', 'E863:') |
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2771 call feedkeys("a\<C-U>", 'xt') |
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2772 |
20561
18c52f380193
patch 8.2.0834: :drop command in terminal popup causes problems
Bram Moolenaar <Bram@vim.org>
parents:
20474
diff
changeset
|
2773 " Cannot escape from terminal window |
18c52f380193
patch 8.2.0834: :drop command in terminal popup causes problems
Bram Moolenaar <Bram@vim.org>
parents:
20474
diff
changeset
|
2774 call assert_fails('tab drop xxx', 'E863:') |
22518
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2775 call assert_fails('help', 'E994:') |
20561
18c52f380193
patch 8.2.0834: :drop command in terminal popup causes problems
Bram Moolenaar <Bram@vim.org>
parents:
20474
diff
changeset
|
2776 |
20474
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2777 " Cannot open a second one. |
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2778 let termbuf2 = term_start(&shell, #{hidden: 1}) |
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2779 call assert_fails('call popup_create(termbuf2, #{})', 'E861:') |
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2780 call term_sendkeys(termbuf2, "exit\<CR>") |
3fe45aa3bbc5
patch 8.2.0791: a second popup window with terminal causes trouble
Bram Moolenaar <Bram@vim.org>
parents:
20395
diff
changeset
|
2781 |
20375
b790d00d5ccb
patch 8.2.0743: can move to another buffer from a terminal in popup window
Bram Moolenaar <Bram@vim.org>
parents:
20120
diff
changeset
|
2782 " Exiting shell closes popup window |
19275
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2783 call feedkeys("exit\<CR>", 'xt') |
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2784 " Wait for shell to exit |
20974
769f5a2d0879
patch 8.2.1038: popupwin test fails
Bram Moolenaar <Bram@vim.org>
parents:
20970
diff
changeset
|
2785 call WaitForAssert({-> assert_equal("dead", job_status(term_getjob(termbuf)))}) |
20970
736d6e6f55f6
patch 8.2.1036: popupwin test fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
20937
diff
changeset
|
2786 |
22518
81ae5fa92928
patch 8.2.1807: can use :help in a terminal popup window
Bram Moolenaar <Bram@vim.org>
parents:
22442
diff
changeset
|
2787 helpclose |
19275
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2788 call feedkeys(":quit\<CR>", 'xt') |
2142fb624658
patch 8.2.0196: blocking commands for a finished job in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
19241
diff
changeset
|
2789 call assert_equal(origwin, win_getid()) |
18162
9c3347b21b89
patch 8.1.2076: crash when trying to put a terminal in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18137
diff
changeset
|
2790 endfunc |
9c3347b21b89
patch 8.1.2076: crash when trying to put a terminal in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
18137
diff
changeset
|
2791 |
20865
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2792 func Test_popupwin_close_prevwin() |
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2793 CheckFeature terminal |
22057
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2794 call Popupwin_close_prevwin() |
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2795 endfunc |
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2796 |
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2797 def Popupwin_close_prevwin() |
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2798 assert_equal(1, winnr('$')) |
20865
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2799 split |
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2800 wincmd b |
22057
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2801 assert_equal(2, winnr()) |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23041
diff
changeset
|
2802 var buf = term_start(&shell, {hidden: 1}) |
22057
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2803 popup_create(buf, {}) |
27457
4c16acb2525f
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
26332
diff
changeset
|
2804 g:TermWait(buf, 100) |
22057
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2805 popup_clear(true) |
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2806 assert_equal(2, winnr()) |
20865
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2807 |
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2808 quit |
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2809 exe 'bwipe! ' .. buf |
22057
f64a16f5bff0
patch 8.2.1578: Vim9: popup_clear() does not take "true" as argument
Bram Moolenaar <Bram@vim.org>
parents:
21897
diff
changeset
|
2810 enddef |
20865
0e4cf74642a3
patch 8.2.0984: not using previous window when closing a shell popup window
Bram Moolenaar <Bram@vim.org>
parents:
20561
diff
changeset
|
2811 |
17934
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2812 func Test_popupwin_with_buffer_and_filter() |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2813 new Xwithfilter |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2814 call setline(1, range(100)) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2815 let bufnr = bufnr() |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2816 hide |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2817 |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2818 func BufferFilter(win, key) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2819 if a:key == 'G' |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2820 " recursive use of "G" does not cause problems. |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2821 call win_execute(a:win, 'normal! G') |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2822 return 1 |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2823 endif |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2824 return 0 |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2825 endfunc |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2826 |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2827 let winid = popup_create(bufnr, #{maxheight: 5, filter: 'BufferFilter'}) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2828 call assert_equal(1, popup_getpos(winid).firstline) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2829 redraw |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2830 call feedkeys("G", 'xt') |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2831 call assert_equal(99, popup_getpos(winid).firstline) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2832 |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2833 call popup_close(winid) |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2834 exe 'bwipe! ' .. bufnr |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2835 endfunc |
0bf8cb0258be
patch 8.1.1963: popup window filter may be called recursively
Bram Moolenaar <Bram@vim.org>
parents:
17926
diff
changeset
|
2836 |
17245
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2837 func Test_popupwin_width() |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2838 let winid = popup_create(repeat(['short', 'long long long line', 'medium width'], 50), #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2839 \ maxwidth: 40, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2840 \ maxheight: 10, |
17245
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2841 \ }) |
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2842 for top in range(1, 20) |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2843 eval winid->popup_setoptions(#{firstline: top}) |
17245
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2844 redraw |
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2845 call assert_equal(19, popup_getpos(winid).width) |
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2846 endfor |
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2847 call popup_clear() |
13a2d3364b3f
patch 8.1.1622: wrong width if displaying a lot of lines in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17241
diff
changeset
|
2848 endfunc |
17253
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2849 |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2850 func Test_popupwin_buf_close() |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2851 let buf = bufadd('Xtestbuf') |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2852 call bufload(buf) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2853 call setbufline(buf, 1, ['just', 'some', 'lines']) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2854 let winid = popup_create(buf, {}) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2855 redraw |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2856 call assert_equal(3, popup_getpos(winid).height) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2857 let bufinfo = getbufinfo(buf)[0] |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2858 call assert_equal(1, bufinfo.changed) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2859 call assert_equal(0, bufinfo.hidden) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2860 call assert_equal(0, bufinfo.listed) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2861 call assert_equal(1, bufinfo.loaded) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2862 call assert_equal([], bufinfo.windows) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2863 call assert_equal([winid], bufinfo.popups) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2864 |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2865 call popup_close(winid) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2866 call assert_equal({}, popup_getpos(winid)) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2867 let bufinfo = getbufinfo(buf)[0] |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2868 call assert_equal(1, bufinfo.changed) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2869 call assert_equal(1, bufinfo.hidden) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2870 call assert_equal(0, bufinfo.listed) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2871 call assert_equal(1, bufinfo.loaded) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2872 call assert_equal([], bufinfo.windows) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2873 call assert_equal([], bufinfo.popups) |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2874 exe 'bwipe! ' .. buf |
26e0352613ec
patch 8.1.1626: no test for closing a popup window with a modified buffer
Bram Moolenaar <Bram@vim.org>
parents:
17245
diff
changeset
|
2875 endfunc |
17354
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2876 |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2877 func Test_popup_menu_with_maxwidth() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2878 CheckScreendump |
17354
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2879 |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2880 let lines =<< trim END |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2881 call setline(1, range(1, 10)) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2882 hi ScrollThumb ctermbg=blue |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2883 hi ScrollBar ctermbg=red |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2884 func PopupMenu(lines, line, col, scrollbar = 0) |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2885 return popup_menu(a:lines, #{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2886 \ maxwidth: 10, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2887 \ maxheight: 3, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2888 \ pos : 'topleft', |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2889 \ col : a:col, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2890 \ line : a:line, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2891 \ scrollbar : a:scrollbar, |
17354
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2892 \ }) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2893 endfunc |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2894 call PopupMenu(['x'], 1, 1) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2895 call PopupMenu(['123456789|'], 1, 16) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2896 call PopupMenu(['123456789|' .. ' '], 7, 1) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2897 call PopupMenu([repeat('123456789|', 100)], 7, 16) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2898 call PopupMenu(repeat(['123456789|' .. ' '], 5), 1, 33, 1) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2899 END |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2900 call writefile(lines, 'XtestPopupMenuMaxWidth') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2901 let buf = RunVimInTerminal('-S XtestPopupMenuMaxWidth', #{rows: 13}) |
17354
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2902 call VerifyScreenDump(buf, 'Test_popupwin_menu_maxwidth_1', {}) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2903 |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2904 " close the menu popupwin. |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2905 call term_sendkeys(buf, " ") |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2906 call term_sendkeys(buf, " ") |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2907 call term_sendkeys(buf, " ") |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2908 call term_sendkeys(buf, " ") |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2909 call term_sendkeys(buf, " ") |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2910 |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2911 " clean up |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2912 call StopVimInTerminal(buf) |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2913 call delete('XtestPopupMenuMaxWidth') |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2914 endfunc |
102ed3a26a5d
patch 8.1.1676: "maxwidth" of popup window does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
17348
diff
changeset
|
2915 |
17358
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2916 func Test_popup_menu_with_scrollbar() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2917 CheckScreendump |
17358
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2918 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2919 let lines =<< trim END |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2920 call setline(1, range(1, 20)) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2921 hi ScrollThumb ctermbg=blue |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2922 hi ScrollBar ctermbg=red |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2923 eval ['one', 'two', 'three', 'four', 'five', |
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2924 \ 'six', 'seven', 'eight', 'nine'] |
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
2925 \ ->popup_menu(#{ |
17368
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2926 \ minwidth: 8, |
6604ecb7a615
patch 8.1.1683: dictionary with string keys is longer than needed
Bram Moolenaar <Bram@vim.org>
parents:
17358
diff
changeset
|
2927 \ maxheight: 3, |
17358
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2928 \ }) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2929 END |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2930 call writefile(lines, 'XtestPopupMenuScroll') |
17413
40417757dffd
patch 8.1.1705: using ~{} for a literal dict is not nice
Bram Moolenaar <Bram@vim.org>
parents:
17387
diff
changeset
|
2931 let buf = RunVimInTerminal('-S XtestPopupMenuScroll', #{rows: 10}) |
17358
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2932 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2933 call term_sendkeys(buf, "j") |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2934 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_1', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2935 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2936 call term_sendkeys(buf, "jjj") |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2937 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_2', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2938 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2939 " if the cursor is the bottom line, it stays at the bottom line. |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2940 call term_sendkeys(buf, repeat("j", 20)) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2941 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_3', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2942 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2943 call term_sendkeys(buf, "kk") |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2944 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_4', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2945 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2946 call term_sendkeys(buf, "k") |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2947 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_5', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2948 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2949 " if the cursor is in the top line, it stays in the top line. |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2950 call term_sendkeys(buf, repeat("k", 20)) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2951 call VerifyScreenDump(buf, 'Test_popupwin_menu_scroll_6', {}) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2952 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2953 " close the menu popupwin. |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2954 call term_sendkeys(buf, " ") |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2955 |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2956 " clean up |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2957 call StopVimInTerminal(buf) |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2958 call delete('XtestPopupMenuScroll') |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2959 endfunc |
d1ea88736ebd
patch 8.1.1678: using popup_menu() does not scroll to show the selected line
Bram Moolenaar <Bram@vim.org>
parents:
17354
diff
changeset
|
2960 |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2961 func Test_popup_menu_filter() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
2962 CheckScreendump |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2963 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2964 let lines =<< trim END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2965 function! MyFilter(winid, key) abort |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2966 if a:key == "0" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2967 call win_execute(a:winid, "call setpos('.', [0, 1, 1, 0])") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2968 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2969 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2970 if a:key == "G" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2971 call win_execute(a:winid, "call setpos('.', [0, line('$'), 1, 0])") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2972 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2973 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2974 if a:key == "j" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2975 call win_execute(a:winid, "call setpos('.', [0, line('.') + 1, 1, 0])") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2976 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2977 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2978 if a:key == "k" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2979 call win_execute(a:winid, "call setpos('.', [0, line('.') - 1, 1, 0])") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2980 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2981 endif |
18002
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
2982 if a:key == ':' |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2983 call popup_close(a:winid) |
18002
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
2984 return 0 |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2985 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2986 return 0 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2987 endfunction |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2988 call popup_menu(['111', '222', '333', '444', '555', '666', '777', '888', '999'], #{ |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2989 \ maxheight : 3, |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2990 \ filter : 'MyFilter' |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2991 \ }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2992 END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2993 call writefile(lines, 'XtestPopupMenuFilter') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2994 let buf = RunVimInTerminal('-S XtestPopupMenuFilter', #{rows: 10}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2995 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2996 call term_sendkeys(buf, "j") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2997 call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_1', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2998 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
2999 call term_sendkeys(buf, "k") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3000 call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_2', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3001 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3002 call term_sendkeys(buf, "G") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3003 call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_3', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3004 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3005 call term_sendkeys(buf, "0") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3006 call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_4', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3007 |
18002
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
3008 " check that when the popup is closed in the filter the screen is redrawn |
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
3009 call term_sendkeys(buf, ":") |
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
3010 call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_5', {}) |
2fdbcecab216
patch 8.1.1997: no redraw after a popup window filter is invoked
Bram Moolenaar <Bram@vim.org>
parents:
17994
diff
changeset
|
3011 call term_sendkeys(buf, "\<CR>") |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3012 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3013 " clean up |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3014 call StopVimInTerminal(buf) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3015 call delete('XtestPopupMenuFilter') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3016 endfunc |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3017 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3018 func Test_popup_cursorline() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
3019 CheckScreendump |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3020 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3021 let winid = popup_create('some text', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3022 call assert_equal(0, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3023 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3024 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3025 let winid = popup_create('some text', #{ cursorline: 1, }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3026 call assert_equal(1, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3027 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3028 |
23998
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3029 let winid = popup_create('some text', #{ cursorline: v:true, }) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3030 call assert_equal(1, popup_getoptions(winid).cursorline) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3031 call popup_close(winid) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3032 |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3033 let winid = popup_create('some text', #{ cursorline: 0, }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3034 call assert_equal(0, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3035 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3036 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3037 let winid = popup_menu('some text', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3038 call assert_equal(1, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3039 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3040 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3041 let winid = popup_menu('some text', #{ cursorline: 1, }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3042 call assert_equal(1, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3043 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3044 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3045 let winid = popup_menu('some text', #{ cursorline: 0, }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3046 call assert_equal(0, popup_getoptions(winid).cursorline) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3047 call popup_close(winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3048 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3049 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3050 " Pattern 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3051 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3052 let lines =<< trim END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3053 call popup_create(['111', '222', '333'], #{ cursorline : 0 }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3054 END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3055 call writefile(lines, 'XtestPopupCursorLine') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3056 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3057 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_1', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3058 call term_sendkeys(buf, ":call popup_clear()\<cr>") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3059 call StopVimInTerminal(buf) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3060 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3061 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3062 " Pattern 2 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3063 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3064 let lines =<< trim END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3065 call popup_create(['111', '222', '333'], #{ cursorline : 1 }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3066 END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3067 call writefile(lines, 'XtestPopupCursorLine') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3068 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3069 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_2', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3070 call term_sendkeys(buf, ":call popup_clear()\<cr>") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3071 call StopVimInTerminal(buf) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3072 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3073 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3074 " Pattern 3 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3075 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3076 let lines =<< trim END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3077 function! MyFilter(winid, key) abort |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3078 if a:key == "j" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3079 call win_execute(a:winid, "call setpos('.', [0, line('.') + 1, 1, 0]) | redraw") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3080 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3081 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3082 if a:key == 'x' |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3083 call popup_close(a:winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3084 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3085 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3086 return 0 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3087 endfunction |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3088 call popup_menu(['111', '222', '333'], #{ |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3089 \ cursorline : 0, |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3090 \ maxheight : 2, |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3091 \ filter : 'MyFilter', |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3092 \ }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3093 END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3094 call writefile(lines, 'XtestPopupCursorLine') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3095 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3096 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_3', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3097 call term_sendkeys(buf, "j") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3098 call term_sendkeys(buf, "j") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3099 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_4', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3100 call term_sendkeys(buf, "x") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3101 call StopVimInTerminal(buf) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3102 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3103 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3104 " Pattern 4 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3105 " --------- |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3106 let lines =<< trim END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3107 function! MyFilter(winid, key) abort |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3108 if a:key == "j" |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3109 call win_execute(a:winid, "call setpos('.', [0, line('.') + 1, 1, 0]) | redraw") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3110 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3111 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3112 if a:key == 'x' |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3113 call popup_close(a:winid) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3114 return 1 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3115 endif |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3116 return 0 |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3117 endfunction |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3118 call popup_menu(['111', '222', '333'], #{ |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3119 \ cursorline : 1, |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3120 \ maxheight : 2, |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3121 \ filter : 'MyFilter', |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3122 \ }) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3123 END |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3124 call writefile(lines, 'XtestPopupCursorLine') |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3125 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3126 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_5', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3127 call term_sendkeys(buf, "j") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3128 call term_sendkeys(buf, "j") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3129 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_6', {}) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3130 call term_sendkeys(buf, "x") |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3131 call StopVimInTerminal(buf) |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3132 |
18027
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3133 " --------- |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3134 " Cursor in second line when creating the popup |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3135 " --------- |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3136 let lines =<< trim END |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3137 let winid = popup_create(['111', '222', '333'], #{ |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3138 \ cursorline : 1, |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3139 \ }) |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3140 call win_execute(winid, "2") |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3141 END |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3142 call writefile(lines, 'XtestPopupCursorLine') |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3143 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3144 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_7', {}) |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3145 call StopVimInTerminal(buf) |
56032a704448
patch 8.1.2009: cursorline highlighting not updated in popup window
Bram Moolenaar <Bram@vim.org>
parents:
18002
diff
changeset
|
3146 |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3147 call delete('XtestPopupCursorLine') |
18603
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3148 |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3149 " --------- |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3150 " Use current buffer for popupmenu |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3151 " --------- |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3152 let lines =<< trim END |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3153 call setline(1, ['one', 'two', 'three']) |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3154 let winid = popup_create(bufnr('%'), #{ |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3155 \ cursorline : 1, |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3156 \ }) |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3157 call win_execute(winid, "2") |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3158 END |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3159 call writefile(lines, 'XtestPopupCursorLine') |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3160 let buf = RunVimInTerminal('-S XtestPopupCursorLine', #{rows: 10}) |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3161 call VerifyScreenDump(buf, 'Test_popupwin_cursorline_8', {}) |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3162 call StopVimInTerminal(buf) |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3163 |
f249b44039e0
patch 8.1.2295: if buffer of popup is in another window cursorline sign shows
Bram Moolenaar <Bram@vim.org>
parents:
18597
diff
changeset
|
3164 call delete('XtestPopupCursorLine') |
17429
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3165 endfunc |
6e756ad5ef1a
patch 8.1.1713: highlighting cursor line only works with popup_menu()
Bram Moolenaar <Bram@vim.org>
parents:
17421
diff
changeset
|
3166 |
23998
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3167 def Test_popup_cursorline_vim9() |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3168 var winid = popup_create('some text', { cursorline: true, }) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3169 assert_equal(1, popup_getoptions(winid).cursorline) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3170 popup_close(winid) |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3171 |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3172 assert_fails("popup_create('some text', { cursorline: 2, })", 'E1023:') |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3173 popup_clear() |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3174 enddef |
0967c54ff3b2
patch 8.2.2541: popup_create() does not allow boolean for "cursorline"
Bram Moolenaar <Bram@vim.org>
parents:
23936
diff
changeset
|
3175 |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3176 func Test_previewpopup() |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
3177 CheckScreendump |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18763
diff
changeset
|
3178 CheckFeature quickfix |
17680
55704f587945
patch 8.1.1837: popup test fails if clipboard is supported but not working
Bram Moolenaar <Bram@vim.org>
parents:
17644
diff
changeset
|
3179 |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3180 call writefile([ |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3181 \ "!_TAG_FILE_ENCODING\tutf-8\t//", |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3182 \ "another\tXtagfile\t/^this is another", |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3183 \ "theword\tXtagfile\t/^theword"], |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3184 \ 'Xtags') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3185 call writefile(range(1,20) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3186 \ + ['theword is here'] |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3187 \ + range(22, 27) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3188 \ + ['this is another place'] |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3189 \ + range(29, 40), |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3190 \ "Xtagfile") |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3191 call writefile(range(1,10) |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3192 \ + ['searched word is here'] |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3193 \ + range(12, 20), |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3194 \ "Xheader.h") |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3195 let lines =<< trim END |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3196 set tags=Xtags |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3197 call setline(1, [ |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3198 \ 'one', |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3199 \ '#include "Xheader.h"', |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3200 \ 'three', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3201 \ 'four', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3202 \ 'five', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3203 \ 'six', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3204 \ 'seven', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3205 \ 'find theword somewhere', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3206 \ 'nine', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3207 \ 'this is another word', |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3208 \ 'very long line where the word is also another']) |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3209 set previewpopup=height:4,width:40 |
24053
bcf16185be60
patch 8.2.2568: second time a preview popup is opened highlight is not set
Bram Moolenaar <Bram@vim.org>
parents:
23998
diff
changeset
|
3210 hi OtherColor ctermbg=lightcyan guibg=lightcyan |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3211 set path=. |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3212 END |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3213 call writefile(lines, 'XtestPreviewPopup') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3214 let buf = RunVimInTerminal('-S XtestPreviewPopup', #{rows: 14}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3215 |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3216 call term_sendkeys(buf, "/theword\<CR>\<C-W>}") |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3217 call term_sendkeys(buf, ":\<CR>") |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3218 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_1', {}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3219 |
24053
bcf16185be60
patch 8.2.2568: second time a preview popup is opened highlight is not set
Bram Moolenaar <Bram@vim.org>
parents:
23998
diff
changeset
|
3220 call term_sendkeys(buf, ":set previewpopup+=highlight:OtherColor\<CR>") |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3221 call term_sendkeys(buf, "/another\<CR>\<C-W>}") |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3222 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_2', {}) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3223 |
17817
e8a7029efa40
patch 8.1.1905: cannot set all properties of the info popup
Bram Moolenaar <Bram@vim.org>
parents:
17815
diff
changeset
|
3224 call term_sendkeys(buf, ":call popup_move(popup_findpreview(), #{col: 15})\<CR>") |
17551
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3225 call term_sendkeys(buf, ":\<CR>") |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3226 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_3', {}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3227 |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3228 call term_sendkeys(buf, "/another\<CR>\<C-W>}") |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3229 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_4', {}) |
8cca2654d459
patch 8.1.1773: the preview popup window may be too far to the right
Bram Moolenaar <Bram@vim.org>
parents:
17442
diff
changeset
|
3230 |
19368
fcd5a2acbb3d
patch 8.2.0242: preview popup window test fails with long directory name
Bram Moolenaar <Bram@vim.org>
parents:
19291
diff
changeset
|
3231 call term_sendkeys(buf, ":silent cd ..\<CR>:\<CR>") |
17604
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
3232 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_5', {}) |
19368
fcd5a2acbb3d
patch 8.2.0242: preview popup window test fails with long directory name
Bram Moolenaar <Bram@vim.org>
parents:
19291
diff
changeset
|
3233 call term_sendkeys(buf, ":silent cd testdir\<CR>") |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3234 |
24053
bcf16185be60
patch 8.2.2568: second time a preview popup is opened highlight is not set
Bram Moolenaar <Bram@vim.org>
parents:
23998
diff
changeset
|
3235 call term_sendkeys(buf, ":set previewpopup-=highlight:OtherColor\<CR>") |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3236 call term_sendkeys(buf, ":pclose\<CR>") |
17718
6a73e3bd0ff8
patch 8.1.1856: popup preview test fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
17680
diff
changeset
|
3237 call term_sendkeys(buf, ":\<BS>") |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3238 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_6', {}) |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3239 |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3240 call term_sendkeys(buf, ":pedit +/theword Xtagfile\<CR>") |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3241 call term_sendkeys(buf, ":\<CR>") |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3242 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_7', {}) |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3243 |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3244 call term_sendkeys(buf, ":pclose\<CR>") |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3245 call term_sendkeys(buf, ":psearch searched\<CR>") |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3246 call term_sendkeys(buf, ":\<CR>") |
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3247 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_8', {}) |
17604
506dd2efcbb2
patch 8.1.1799: cannot avoid mapping for a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17580
diff
changeset
|
3248 |
19166
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3249 call term_sendkeys(buf, "\<C-W>p") |
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3250 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_9', {}) |
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3251 |
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3252 call term_sendkeys(buf, ":call win_execute(popup_findpreview(), 'call popup_clear()')\<CR>") |
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3253 call VerifyScreenDump(buf, 'Test_popupwin_previewpopup_10', {}) |
215793f6b59d
patch 8.2.0142: possible to enter popup window with CTRL-W p
Bram Moolenaar <Bram@vim.org>
parents:
19135
diff
changeset
|
3254 |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3255 call StopVimInTerminal(buf) |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3256 call delete('Xtags') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3257 call delete('Xtagfile') |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3258 call delete('XtestPreviewPopup') |
17644
daa1dea1c1b3
patch 8.1.1819: :pedit does not work with a popup preview window
Bram Moolenaar <Bram@vim.org>
parents:
17634
diff
changeset
|
3259 call delete('Xheader.h') |
17438
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3260 endfunc |
967e2ee9b656
patch 8.1.1717: last char in menu popup window highlighted
Bram Moolenaar <Bram@vim.org>
parents:
17429
diff
changeset
|
3261 |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3262 func Get_popupmenu_lines() |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3263 let lines =<< trim END |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3264 set completeopt+=preview,popup |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3265 set completefunc=CompleteFuncDict |
17771
4bd21046902b
patch 8.1.1882: cannot specify properties of the info popup window
Bram Moolenaar <Bram@vim.org>
parents:
17769
diff
changeset
|
3266 hi InfoPopup ctermbg=yellow |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3267 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3268 func CompleteFuncDict(findstart, base) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3269 if a:findstart |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3270 if col('.') > 10 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3271 return col('.') - 10 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3272 endif |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3273 return 0 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3274 endif |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3275 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3276 return { |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3277 \ 'words': [ |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3278 \ { |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3279 \ 'word': 'aword', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3280 \ 'abbr': 'wrd', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3281 \ 'menu': 'extra text', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3282 \ 'info': 'words are cool', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3283 \ 'kind': 'W', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3284 \ 'user_data': 'test' |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3285 \ }, |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3286 \ { |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3287 \ 'word': 'anotherword', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3288 \ 'abbr': 'anotwrd', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3289 \ 'menu': 'extra text', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3290 \ 'info': "other words are\ncooler than this and some more text\nto make wrap", |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3291 \ 'kind': 'W', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3292 \ 'user_data': 'notest' |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3293 \ }, |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3294 \ { |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3295 \ 'word': 'noinfo', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3296 \ 'abbr': 'noawrd', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3297 \ 'menu': 'extra text', |
17771
4bd21046902b
patch 8.1.1882: cannot specify properties of the info popup window
Bram Moolenaar <Bram@vim.org>
parents:
17769
diff
changeset
|
3298 \ 'info': "lets\nshow\na\nscrollbar\nhere", |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3299 \ 'kind': 'W', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3300 \ 'user_data': 'notest' |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3301 \ }, |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3302 \ { |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3303 \ 'word': 'thatword', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3304 \ 'abbr': 'thatwrd', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3305 \ 'menu': 'extra text', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3306 \ 'info': 'that word is cool', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3307 \ 'kind': 'W', |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3308 \ 'user_data': 'notest' |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3309 \ }, |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3310 \ ] |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3311 \ } |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3312 endfunc |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3313 call setline(1, 'text text text text text text text ') |
17817
e8a7029efa40
patch 8.1.1905: cannot set all properties of the info popup
Bram Moolenaar <Bram@vim.org>
parents:
17815
diff
changeset
|
3314 func ChangeColor() |
e8a7029efa40
patch 8.1.1905: cannot set all properties of the info popup
Bram Moolenaar <Bram@vim.org>
parents:
17815
diff
changeset
|
3315 let id = popup_findinfo() |
23154
713912dd96cd
patch 8.2.2123: after using a complete popup the buffer is listed
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3316 if buflisted(winbufnr(id)) |
713912dd96cd
patch 8.2.2123: after using a complete popup the buffer is listed
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3317 call setline(1, 'buffer is listed') |
713912dd96cd
patch 8.2.2123: after using a complete popup the buffer is listed
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3318 endif |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
3319 eval id->popup_setoptions(#{highlight: 'InfoPopup'}) |
17817
e8a7029efa40
patch 8.1.1905: cannot set all properties of the info popup
Bram Moolenaar <Bram@vim.org>
parents:
17815
diff
changeset
|
3320 endfunc |
18396
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3321 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3322 func InfoHidden() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3323 set completepopup=height:4,border:off,align:menu |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3324 set completeopt-=popup completeopt+=popuphidden |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3325 au CompleteChanged * call HandleChange() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3326 endfunc |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3327 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3328 let s:counter = 0 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3329 func HandleChange() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3330 let s:counter += 1 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3331 let selected = complete_info(['selected']).selected |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3332 if selected <= 0 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3333 " First time: do nothing, info remains hidden |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3334 return |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3335 endif |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3336 if selected == 1 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3337 " Second time: show info right away |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3338 let id = popup_findinfo() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3339 if id |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3340 call popup_settext(id, 'immediate info ' .. s:counter) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3341 call popup_show(id) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3342 endif |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3343 else |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3344 " Third time: show info after a short delay |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3345 call timer_start(100, 'ShowInfo') |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3346 endif |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3347 endfunc |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3348 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3349 func ShowInfo(...) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3350 let id = popup_findinfo() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3351 if id |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3352 call popup_settext(id, 'async info ' .. s:counter) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3353 call popup_show(id) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3354 endif |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3355 endfunc |
22884
68dc849715b5
patch 8.2.1989: info popup triggers WinEnter and WinLeave autocommands
Bram Moolenaar <Bram@vim.org>
parents:
22838
diff
changeset
|
3356 |
26165
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3357 func OpenOtherPopups() |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3358 call popup_create([ |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3359 \ 'popup below', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3360 \ 'popup below', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3361 \ 'popup below', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3362 \ 'popup below', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3363 \ ], #{ |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3364 \ line: 'cursor', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3365 \ col: 'cursor+3', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3366 \ highlight: 'ErrorMsg', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3367 \ minwidth: 17, |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3368 \ zindex: 50, |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3369 \ }) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3370 call popup_create([ |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3371 \ 'popup on top', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3372 \ 'popup on top', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3373 \ 'popup on top', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3374 \ ], #{ |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3375 \ line: 'cursor+3', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3376 \ col: 'cursor-10', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3377 \ highlight: 'Search', |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3378 \ minwidth: 10, |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3379 \ zindex: 200, |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3380 \ }) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3381 endfunc |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3382 |
22884
68dc849715b5
patch 8.2.1989: info popup triggers WinEnter and WinLeave autocommands
Bram Moolenaar <Bram@vim.org>
parents:
22838
diff
changeset
|
3383 " Check that no autocommands are triggered for the info popup |
68dc849715b5
patch 8.2.1989: info popup triggers WinEnter and WinLeave autocommands
Bram Moolenaar <Bram@vim.org>
parents:
22838
diff
changeset
|
3384 au WinEnter * if win_gettype() == 'popup' | call setline(2, 'WinEnter') | endif |
68dc849715b5
patch 8.2.1989: info popup triggers WinEnter and WinLeave autocommands
Bram Moolenaar <Bram@vim.org>
parents:
22838
diff
changeset
|
3385 au WinLeave * if win_gettype() == 'popup' | call setline(2, 'WinLeave') | endif |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3386 END |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3387 return lines |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3388 endfunc |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3389 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3390 func Test_popupmenu_info_border() |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3391 CheckScreendump |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18763
diff
changeset
|
3392 CheckFeature quickfix |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3393 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3394 let lines = Get_popupmenu_lines() |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3395 call add(lines, 'set completepopup=height:4,highlight:InfoPopup') |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3396 call writefile(lines, 'XtestInfoPopup') |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3397 |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3398 let buf = RunVimInTerminal('-S XtestInfoPopup', #{rows: 14}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
3399 call TermWait(buf, 25) |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3400 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3401 call term_sendkeys(buf, "A\<C-X>\<C-U>") |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3402 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_1', {}) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3403 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3404 call term_sendkeys(buf, "\<C-N>") |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3405 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_2', {}) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3406 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3407 call term_sendkeys(buf, "\<C-N>") |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3408 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_3', {}) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3409 |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3410 call term_sendkeys(buf, "\<C-N>\<C-N>") |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3411 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_4', {}) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3412 |
17821
fe92aaf166c1
patch 8.1.1907: wrong position for info popup with scrollbar on the left
Bram Moolenaar <Bram@vim.org>
parents:
17817
diff
changeset
|
3413 " info on the left with scrollbar |
fe92aaf166c1
patch 8.1.1907: wrong position for info popup with scrollbar on the left
Bram Moolenaar <Bram@vim.org>
parents:
17817
diff
changeset
|
3414 call term_sendkeys(buf, "test text test text\<C-X>\<C-U>") |
fe92aaf166c1
patch 8.1.1907: wrong position for info popup with scrollbar on the left
Bram Moolenaar <Bram@vim.org>
parents:
17817
diff
changeset
|
3415 call term_sendkeys(buf, "\<C-N>\<C-N>") |
fe92aaf166c1
patch 8.1.1907: wrong position for info popup with scrollbar on the left
Bram Moolenaar <Bram@vim.org>
parents:
17817
diff
changeset
|
3416 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_5', {}) |
fe92aaf166c1
patch 8.1.1907: wrong position for info popup with scrollbar on the left
Bram Moolenaar <Bram@vim.org>
parents:
17817
diff
changeset
|
3417 |
18665
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3418 " Test that the popupmenu's scrollbar and infopopup do not overlap |
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3419 call term_sendkeys(buf, "\<Esc>") |
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3420 call term_sendkeys(buf, ":set pumheight=3\<CR>") |
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3421 call term_sendkeys(buf, "cc\<C-X>\<C-U>") |
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3422 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_6', {}) |
7369756d05de
patch 8.1.2324: with of scrollbar in popup menu not taken into account
Bram Moolenaar <Bram@vim.org>
parents:
18623
diff
changeset
|
3423 |
23229
b545334ae654
patch 8.2.2160: various typos
Bram Moolenaar <Bram@vim.org>
parents:
23217
diff
changeset
|
3424 " Hide the info popup, cycle through buffers, make sure it didn't get |
19117
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3425 " deleted. |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3426 call term_sendkeys(buf, "\<Esc>") |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3427 call term_sendkeys(buf, ":set hidden\<CR>") |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3428 call term_sendkeys(buf, ":bn\<CR>") |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3429 call term_sendkeys(buf, ":bn\<CR>") |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3430 call term_sendkeys(buf, "otest text test text\<C-X>\<C-U>") |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3431 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_7', {}) |
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3432 |
21373
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3433 " Test that when the option is changed the popup changes. |
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3434 call term_sendkeys(buf, "\<Esc>") |
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3435 call term_sendkeys(buf, ":set completepopup=border:off\<CR>") |
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3436 call term_sendkeys(buf, "a\<C-X>\<C-U>") |
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3437 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_8', {}) |
3d73cdd173ab
patch 8.2.1237: changing 'completepopup' after opening popup has no effect
Bram Moolenaar <Bram@vim.org>
parents:
21339
diff
changeset
|
3438 |
21506
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3439 call term_sendkeys(buf, " \<Esc>") |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3440 call term_sendkeys(buf, ":set completepopup+=width:10\<CR>") |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3441 call term_sendkeys(buf, "a\<C-X>\<C-U>") |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3442 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_9', {}) |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3443 |
19117
8db080710015
patch 8.2.0118: crash when cycling to buffers involving popup window
Bram Moolenaar <Bram@vim.org>
parents:
19071
diff
changeset
|
3444 call term_sendkeys(buf, "\<Esc>") |
17767
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3445 call StopVimInTerminal(buf) |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3446 call delete('XtestInfoPopup') |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3447 endfunc |
c75da1064e33
patch 8.1.1880: cannot show extra info for completion in a popup window
Bram Moolenaar <Bram@vim.org>
parents:
17754
diff
changeset
|
3448 |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3449 func Test_popupmenu_info_noborder() |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3450 CheckScreendump |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18763
diff
changeset
|
3451 CheckFeature quickfix |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3452 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3453 let lines = Get_popupmenu_lines() |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3454 call add(lines, 'set completepopup=height:4,border:off') |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3455 call writefile(lines, 'XtestInfoPopupNb') |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3456 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3457 let buf = RunVimInTerminal('-S XtestInfoPopupNb', #{rows: 14}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
3458 call TermWait(buf, 25) |
17811
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3459 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3460 call term_sendkeys(buf, "A\<C-X>\<C-U>") |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3461 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_nb_1', {}) |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3462 |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3463 call StopVimInTerminal(buf) |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3464 call delete('XtestInfoPopupNb') |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3465 endfunc |
b5499bf22a97
patch 8.1.1902: cannot have an info popup without a border
Bram Moolenaar <Bram@vim.org>
parents:
17771
diff
changeset
|
3466 |
17815
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3467 func Test_popupmenu_info_align_menu() |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3468 CheckScreendump |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18763
diff
changeset
|
3469 CheckFeature quickfix |
17815
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3470 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3471 let lines = Get_popupmenu_lines() |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3472 call add(lines, 'set completepopup=height:4,border:off,align:menu') |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3473 call writefile(lines, 'XtestInfoPopupNb') |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3474 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3475 let buf = RunVimInTerminal('-S XtestInfoPopupNb', #{rows: 14}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
3476 call TermWait(buf, 25) |
17815
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3477 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3478 call term_sendkeys(buf, "A\<C-X>\<C-U>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3479 call term_sendkeys(buf, "\<C-N>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3480 call term_sendkeys(buf, "\<C-N>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3481 call term_sendkeys(buf, "\<C-N>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3482 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_align_1', {}) |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3483 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3484 call term_sendkeys(buf, "test text test text test\<C-X>\<C-U>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3485 call term_sendkeys(buf, "\<C-N>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3486 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_align_2', {}) |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3487 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3488 call term_sendkeys(buf, "\<Esc>") |
17817
e8a7029efa40
patch 8.1.1905: cannot set all properties of the info popup
Bram Moolenaar <Bram@vim.org>
parents:
17815
diff
changeset
|
3489 call term_sendkeys(buf, ":call ChangeColor()\<CR>") |
17815
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3490 call term_sendkeys(buf, ":call setline(2, ['x']->repeat(10))\<CR>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3491 call term_sendkeys(buf, "Gotest text test text\<C-X>\<C-U>") |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3492 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_align_3', {}) |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3493 |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3494 call StopVimInTerminal(buf) |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3495 call delete('XtestInfoPopupNb') |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3496 endfunc |
9ec2526c04c5
patch 8.1.1904: cannot have an info popup align with the popup menu
Bram Moolenaar <Bram@vim.org>
parents:
17811
diff
changeset
|
3497 |
18396
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3498 func Test_popupmenu_info_hidden() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3499 CheckScreendump |
18767
068337e86133
patch 8.1.2373: cannot build with +popupwin but without +quickfix
Bram Moolenaar <Bram@vim.org>
parents:
18763
diff
changeset
|
3500 CheckFeature quickfix |
18396
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3501 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3502 let lines = Get_popupmenu_lines() |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3503 call add(lines, 'call InfoHidden()') |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3504 call writefile(lines, 'XtestInfoPopupHidden') |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3505 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3506 let buf = RunVimInTerminal('-S XtestInfoPopupHidden', #{rows: 14}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
3507 call TermWait(buf, 25) |
18396
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3508 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3509 call term_sendkeys(buf, "A\<C-X>\<C-U>") |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3510 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_hidden_1', {}) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3511 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3512 call term_sendkeys(buf, "\<C-N>") |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3513 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_hidden_2', {}) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3514 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3515 call term_sendkeys(buf, "\<C-N>") |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3516 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_hidden_3', {}) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3517 |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3518 call term_sendkeys(buf, "\<Esc>") |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3519 call StopVimInTerminal(buf) |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3520 call delete('XtestInfoPopupHidden') |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3521 endfunc |
ba5d8c5d77d7
patch 8.1.2192: cannot easily fill the info popup asynchronously
Bram Moolenaar <Bram@vim.org>
parents:
18339
diff
changeset
|
3522 |
18823
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3523 func Test_popupmenu_info_too_wide() |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3524 CheckScreendump |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3525 CheckFeature quickfix |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3526 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3527 let lines =<< trim END |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3528 call setline(1, range(10)) |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3529 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3530 set completeopt+=preview,popup |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3531 set completepopup=align:menu |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3532 set omnifunc=OmniFunc |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3533 hi InfoPopup ctermbg=lightgrey |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3534 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3535 func OmniFunc(findstart, base) |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3536 if a:findstart |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3537 return 0 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3538 endif |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3539 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3540 let menuText = 'some long text to make sure the menu takes up all of the width of the window' |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3541 return #{ |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3542 \ words: [ |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3543 \ #{ |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3544 \ word: 'scrap', |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3545 \ menu: menuText, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3546 \ info: "other words are\ncooler than this and some more text\nto make wrap", |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3547 \ }, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3548 \ #{ |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3549 \ word: 'scappier', |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3550 \ menu: menuText, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3551 \ info: 'words are cool', |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3552 \ }, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3553 \ #{ |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3554 \ word: 'scrappier2', |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3555 \ menu: menuText, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3556 \ info: 'words are cool', |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3557 \ }, |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3558 \ ] |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3559 \ } |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3560 endfunc |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3561 END |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3562 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3563 call writefile(lines, 'XtestInfoPopupWide') |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3564 let buf = RunVimInTerminal('-S XtestInfoPopupWide', #{rows: 8}) |
19954
c087099e9163
patch 8.2.0533: tests using term_wait() can still be flaky
Bram Moolenaar <Bram@vim.org>
parents:
19732
diff
changeset
|
3565 call TermWait(buf, 25) |
18823
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3566 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3567 call term_sendkeys(buf, "Ascr\<C-X>\<C-O>") |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3568 call VerifyScreenDump(buf, 'Test_popupwin_infopopup_wide_1', {}) |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3569 |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3570 call term_sendkeys(buf, "\<Esc>") |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3571 call StopVimInTerminal(buf) |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3572 call delete('XtestInfoPopupWide') |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3573 endfunc |
ae2bd5ec98d0
patch 8.1.2399: info popup on top of cursor if it doesn't fit
Bram Moolenaar <Bram@vim.org>
parents:
18767
diff
changeset
|
3574 |
26165
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3575 func Test_popupmenu_masking() |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3576 " Test that popup windows that are opened while popup menu is open are |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3577 " properly displayed. |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3578 CheckScreendump |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3579 CheckFeature quickfix |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3580 |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3581 let lines = Get_popupmenu_lines() |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3582 call add(lines, 'inoremap <C-A> <Cmd>call OpenOtherPopups()<CR>') |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3583 call writefile(lines, 'XtestPopupmenuMasking') |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3584 |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3585 let buf = RunVimInTerminal('-S XtestPopupmenuMasking', #{rows: 14}) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3586 call TermWait(buf, 25) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3587 |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3588 call term_sendkeys(buf, "A\<C-X>\<C-U>\<C-A>") |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3589 call VerifyScreenDump(buf, 'Test_popupwin_popupmenu_masking_1', {}) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3590 |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3591 call term_sendkeys(buf, "\<Esc>") |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3592 call VerifyScreenDump(buf, 'Test_popupwin_popupmenu_masking_2', {}) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3593 |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3594 call StopVimInTerminal(buf) |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3595 call delete('XtestPopupmenuMasking') |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3596 endfunc |
7b07f361b1d4
patch 8.2.3614: zindex of popup windows not used when redrawing popup menu
Bram Moolenaar <Bram@vim.org>
parents:
25535
diff
changeset
|
3597 |
17823
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3598 func Test_popupwin_recycle_bnr() |
17825
ce993ba17adb
patch 8.1.1909: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17823
diff
changeset
|
3599 let bufnr = popup_notification('nothing wrong', {})->winbufnr() |
17823
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3600 call popup_clear() |
17972
a170c48e0f91
patch 8.1.1982: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17946
diff
changeset
|
3601 let winid = 'nothing wrong'->popup_notification({}) |
17823
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3602 call assert_equal(bufnr, winbufnr(winid)) |
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3603 call popup_clear() |
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3604 endfunc |
7e6b7a4f13bc
patch 8.1.1908: every popup window consumes a buffer number
Bram Moolenaar <Bram@vim.org>
parents:
17821
diff
changeset
|
3605 |
18229
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3606 func Test_popupwin_getoptions_tablocal() |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3607 topleft split |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3608 let win1 = popup_create('nothing', #{maxheight: 8}) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3609 let win2 = popup_create('something', #{maxheight: 10}) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3610 let win3 = popup_create('something', #{maxheight: 15}) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3611 call assert_equal(8, popup_getoptions(win1).maxheight) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3612 call assert_equal(10, popup_getoptions(win2).maxheight) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3613 call assert_equal(15, popup_getoptions(win3).maxheight) |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3614 call popup_clear() |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3615 quit |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3616 endfunc |
e6c83ae0c4d0
patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Bram Moolenaar <Bram@vim.org>
parents:
18168
diff
changeset
|
3617 |
18231
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3618 func Test_popupwin_cancel() |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3619 let win1 = popup_create('one', #{line: 5, filter: {... -> 0}}) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3620 let win2 = popup_create('two', #{line: 10, filter: {... -> 0}}) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3621 let win3 = popup_create('three', #{line: 15, filter: {... -> 0}}) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3622 call assert_equal(5, popup_getpos(win1).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3623 call assert_equal(10, popup_getpos(win2).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3624 call assert_equal(15, popup_getpos(win3).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3625 " TODO: this also works without patch 8.1.2110 |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3626 call feedkeys("\<C-C>", 'xt') |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3627 call assert_equal(5, popup_getpos(win1).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3628 call assert_equal(10, popup_getpos(win2).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3629 call assert_equal({}, popup_getpos(win3)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3630 call feedkeys("\<C-C>", 'xt') |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3631 call assert_equal(5, popup_getpos(win1).line) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3632 call assert_equal({}, popup_getpos(win2)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3633 call assert_equal({}, popup_getpos(win3)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3634 call feedkeys("\<C-C>", 'xt') |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3635 call assert_equal({}, popup_getpos(win1)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3636 call assert_equal({}, popup_getpos(win2)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3637 call assert_equal({}, popup_getpos(win3)) |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3638 endfunc |
25535ef50842
patch 8.1.2110: CTRL-C closes two popups instead of one
Bram Moolenaar <Bram@vim.org>
parents:
18229
diff
changeset
|
3639 |
18613
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3640 func Test_popupwin_filter_redraw() |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3641 " Create two popups with a filter that closes the popup when typing "0". |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3642 " Both popups should close, even though the redraw also calls |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3643 " popup_reset_handled() |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3644 |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3645 func CloseFilter(winid, key) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3646 if a:key == '0' |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3647 call popup_close(a:winid) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3648 redraw |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3649 endif |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3650 return 0 " pass the key |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3651 endfunc |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3652 |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3653 let id1 = popup_create('first one', #{ |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3654 \ line: 1, |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3655 \ col: 1, |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3656 \ filter: 'CloseFilter', |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3657 \ }) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3658 let id2 = popup_create('second one', #{ |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3659 \ line: 9, |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3660 \ col: 1, |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3661 \ filter: 'CloseFilter', |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3662 \ }) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3663 call assert_equal(1, popup_getpos(id1).line) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3664 call assert_equal(9, popup_getpos(id2).line) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3665 |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3666 call feedkeys('0', 'xt') |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3667 call assert_equal({}, popup_getpos(id1)) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3668 call assert_equal({}, popup_getpos(id2)) |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3669 |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3670 call popup_clear() |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3671 delfunc CloseFilter |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3672 endfunc |
fa995154904e
patch 8.1.2300: redraw breaks going through list of popup windows
Bram Moolenaar <Bram@vim.org>
parents:
18603
diff
changeset
|
3673 |
18751
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3674 func Test_popupwin_double_width() |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3675 CheckScreendump |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3676 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3677 let lines =<< trim END |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3678 call setline(1, 'x你好世界你好世你好世界你好') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3679 call setline(2, '你好世界你好世你好世界你好') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3680 call setline(3, 'x你好世界你好世你好世界你好') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3681 call popup_create('你好,世界 - 你好,世界xxxxx', #{line: 1, col: 3, maxwidth: 14}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3682 END |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3683 call writefile(lines, 'XtestPopupWide') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3684 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3685 let buf = RunVimInTerminal('-S XtestPopupWide', #{rows: 10}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3686 call VerifyScreenDump(buf, 'Test_popupwin_doublewidth_1', {}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3687 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3688 call StopVimInTerminal(buf) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3689 call delete('XtestPopupWide') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3690 endfunc |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3691 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3692 func Test_popupwin_sign() |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3693 CheckScreendump |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3694 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3695 let lines =<< trim END |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3696 call setline(1, range(10)) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3697 call sign_define('Current', { |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3698 \ 'text': '>>', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3699 \ 'texthl': 'WarningMsg', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3700 \ 'linehl': 'Error', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3701 \ }) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3702 call sign_define('Other', { |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3703 \ 'text': '#!', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3704 \ 'texthl': 'Error', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3705 \ 'linehl': 'Search', |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3706 \ }) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3707 let winid = popup_create(['hello', 'bright', 'world'], { |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3708 \ 'minwidth': 20, |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3709 \ }) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3710 call setwinvar(winid, "&signcolumn", "yes") |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3711 let winbufnr = winbufnr(winid) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3712 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3713 " add sign to current buffer, shows |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3714 call sign_place(1, 'Selected', 'Current', bufnr('%'), {'lnum': 1}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3715 " add sign to current buffer, does not show |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3716 call sign_place(2, 'PopUpSelected', 'Other', bufnr('%'), {'lnum': 2}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3717 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3718 " add sign to popup buffer, shows |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3719 call sign_place(3, 'PopUpSelected', 'Other', winbufnr, {'lnum': 1}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3720 " add sign to popup buffer, does not show |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3721 call sign_place(4, 'Selected', 'Current', winbufnr, {'lnum': 2}) |
21514
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3722 |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3723 func SetOptions() |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3724 call setwinvar(g:winid, '&number', 1) |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3725 call setwinvar(g:winid, '&foldcolumn', 2) |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3726 call popup_settext(g:winid, 'a longer line to check the width') |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3727 endfunc |
18751
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3728 END |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3729 call writefile(lines, 'XtestPopupSign') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3730 |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3731 let buf = RunVimInTerminal('-S XtestPopupSign', #{rows: 10}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3732 call VerifyScreenDump(buf, 'Test_popupwin_sign_1', {}) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3733 |
21514
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3734 " set more options to check the width is adjusted |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3735 call term_sendkeys(buf, ":call SetOptions()\<CR>") |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3736 call VerifyScreenDump(buf, 'Test_popupwin_sign_2', {}) |
27bbd918e70c
patch 8.2.1307: popup window width does not include number of sign columns
Bram Moolenaar <Bram@vim.org>
parents:
21506
diff
changeset
|
3737 |
18751
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3738 call StopVimInTerminal(buf) |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3739 call delete('XtestPopupSign') |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3740 endfunc |
aa385f88f900
patch 8.1.2365: missing tests for recent popupwin changes
Bram Moolenaar <Bram@vim.org>
parents:
18665
diff
changeset
|
3741 |
18864
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3742 func Test_popupwin_bufnr() |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3743 let popwin = popup_create(['blah'], #{}) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3744 let popbuf = winbufnr(popwin) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3745 split asdfasdf |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3746 let newbuf = bufnr() |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3747 call assert_true(newbuf > popbuf, 'New buffer number is higher') |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3748 call assert_equal(newbuf, bufnr('$')) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3749 call popup_clear() |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3750 let popwin = popup_create(['blah'], #{}) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3751 " reuses previous buffer number |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3752 call assert_equal(popbuf, winbufnr(popwin)) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3753 call assert_equal(newbuf, bufnr('$')) |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3754 |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3755 call popup_clear() |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3756 bwipe! |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3757 endfunc |
9449ed2ee8d4
patch 8.1.2418: bufnr('$') is wrong after recycling popup buffer
Bram Moolenaar <Bram@vim.org>
parents:
18823
diff
changeset
|
3758 |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3759 func Test_popupwin_filter_input_multibyte() |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3760 func MyPopupFilter(winid, c) |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3761 let g:bytes = range(a:c->strlen())->map({i -> char2nr(a:c[i])}) |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3762 return 0 |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3763 endfunc |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3764 let winid = popup_create('', #{mapping: 0, filter: 'MyPopupFilter'}) |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3765 |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3766 " UTF-8: E3 80 80, including K_SPECIAL(0x80) |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3767 call feedkeys("\u3000", 'xt') |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3768 call assert_equal([0xe3, 0x80, 0x80], g:bytes) |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3769 |
19599
5eb0ead1415f
patch 8.2.0356: MS-Windows: feedkeys() with VIMDLL cannot handle CSI
Bram Moolenaar <Bram@vim.org>
parents:
19544
diff
changeset
|
3770 " UTF-8: E3 80 9B, including CSI(0x9B) |
5eb0ead1415f
patch 8.2.0356: MS-Windows: feedkeys() with VIMDLL cannot handle CSI
Bram Moolenaar <Bram@vim.org>
parents:
19544
diff
changeset
|
3771 call feedkeys("\u301b", 'xt') |
5eb0ead1415f
patch 8.2.0356: MS-Windows: feedkeys() with VIMDLL cannot handle CSI
Bram Moolenaar <Bram@vim.org>
parents:
19544
diff
changeset
|
3772 call assert_equal([0xe3, 0x80, 0x9b], g:bytes) |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3773 |
20927
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
3774 if has('unix') |
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
3775 " with modifyOtherKeys <M-S-a> does not include a modifier sequence |
20937
a02ba6be5a84
patch 8.2.1020: popupwin test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
20927
diff
changeset
|
3776 if has('gui_running') |
a02ba6be5a84
patch 8.2.1020: popupwin test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
20927
diff
changeset
|
3777 call feedkeys("\x9b\xfc\x08A", 'Lx!') |
a02ba6be5a84
patch 8.2.1020: popupwin test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
20927
diff
changeset
|
3778 else |
a02ba6be5a84
patch 8.2.1020: popupwin test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
20927
diff
changeset
|
3779 call feedkeys("\<Esc>[27;4;65~", 'Lx!') |
a02ba6be5a84
patch 8.2.1020: popupwin test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
20927
diff
changeset
|
3780 endif |
20927
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
3781 call assert_equal([0xc3, 0x81], g:bytes) |
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
3782 endif |
9328feafbbf5
patch 8.2.1015: popup filter gets key with modifier prepended
Bram Moolenaar <Bram@vim.org>
parents:
20865
diff
changeset
|
3783 |
19544
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3784 call popup_clear() |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3785 delfunc MyPopupFilter |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3786 unlet g:bytes |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3787 endfunc |
167181848770
patch 8.2.0329: popup filter converts 0x80 bytes
Bram Moolenaar <Bram@vim.org>
parents:
19368
diff
changeset
|
3788 |
21731
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3789 func Test_popupwin_filter_close_ctrl_c() |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3790 CheckScreendump |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3791 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3792 let lines =<< trim END |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3793 vsplit |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3794 set laststatus=2 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3795 set statusline=%!Statusline() |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3796 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3797 function Statusline() abort |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3798 return '%<%f %h%m%r%=%-14.(%l,%c%V%) %P' |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3799 endfunction |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3800 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3801 call popup_create('test test test test...', {'filter': {-> 0}}) |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3802 END |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3803 call writefile(lines, 'XtestPopupCtrlC') |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3804 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3805 let buf = RunVimInTerminal('-S XtestPopupCtrlC', #{rows: 10}) |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3806 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3807 call term_sendkeys(buf, "\<C-C>") |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3808 call VerifyScreenDump(buf, 'Test_popupwin_ctrl_c', {}) |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3809 |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3810 call StopVimInTerminal(buf) |
22174
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3811 call delete('XtestPopupCtrlC') |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3812 endfunc |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3813 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3814 func Test_popupwin_filter_close_wrong_name() |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3815 CheckScreendump |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3816 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3817 let lines =<< trim END |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3818 call popup_create('one two three...', {'filter': 'NoSuchFunc'}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3819 END |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3820 call writefile(lines, 'XtestPopupWrongName') |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3821 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3822 let buf = RunVimInTerminal('-S XtestPopupWrongName', #{rows: 10}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3823 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3824 call term_sendkeys(buf, "j") |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3825 call VerifyScreenDump(buf, 'Test_popupwin_wrong_name', {}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3826 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3827 call StopVimInTerminal(buf) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3828 call delete('XtestPopupWrongName') |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3829 endfunc |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3830 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3831 func Test_popupwin_filter_close_three_errors() |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3832 CheckScreendump |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3833 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3834 let lines =<< trim END |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3835 set cmdheight=2 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3836 call popup_create('one two three...', {'filter': 'filter'}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3837 END |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3838 call writefile(lines, 'XtestPopupThreeErrors') |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3839 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3840 let buf = RunVimInTerminal('-S XtestPopupThreeErrors', #{rows: 10}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3841 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3842 call term_sendkeys(buf, "jj") |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3843 call VerifyScreenDump(buf, 'Test_popupwin_three_errors_1', {}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3844 call term_sendkeys(buf, "j") |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3845 call VerifyScreenDump(buf, 'Test_popupwin_three_errors_2', {}) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3846 |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3847 call StopVimInTerminal(buf) |
ea87cd1fac75
patch 8.2.1636: get stuck if a popup filter causes an error
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3848 call delete('XtestPopupThreeErrors') |
21731
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3849 endfunc |
48f9bf2c677d
patch 8.2.1415: closing a popup window with CTRL-C interrupts 'statusline'
Bram Moolenaar <Bram@vim.org>
parents:
21729
diff
changeset
|
3850 |
22832
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3851 func Test_popupwin_latin1_encoding() |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3852 CheckScreendump |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3853 CheckUnix |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3854 |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3855 " When 'encoding' is a single-byte encoding a terminal window will mess up |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3856 " the display. Check that showing a popup on top of that doesn't crash. |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3857 let lines =<< trim END |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3858 set encoding=latin1 |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3859 terminal cat Xmultibyte |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3860 call popup_create(['one', 'two', 'three', 'four'], #{line: 1, col: 10}) |
23207
f2da0d40449f
patch 8.2.2149: popupwin test for latin1 sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
23173
diff
changeset
|
3861 redraw |
23215
62310124e265
patch 8.2.2153: popupwin test for latin1 still fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23207
diff
changeset
|
3862 " wait for "cat" to finish |
62310124e265
patch 8.2.2153: popupwin test for latin1 still fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23207
diff
changeset
|
3863 while execute('ls!') !~ 'finished' |
62310124e265
patch 8.2.2153: popupwin test for latin1 still fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23207
diff
changeset
|
3864 sleep 10m |
62310124e265
patch 8.2.2153: popupwin test for latin1 still fails sometimes
Bram Moolenaar <Bram@vim.org>
parents:
23207
diff
changeset
|
3865 endwhile |
23207
f2da0d40449f
patch 8.2.2149: popupwin test for latin1 sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
23173
diff
changeset
|
3866 echo "Done" |
22832
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3867 END |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3868 call writefile(lines, 'XtestPopupLatin') |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3869 call writefile([repeat("\u3042 ", 120)], 'Xmultibyte') |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3870 |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3871 let buf = RunVimInTerminal('-S XtestPopupLatin', #{rows: 10}) |
23207
f2da0d40449f
patch 8.2.2149: popupwin test for latin1 sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
23173
diff
changeset
|
3872 call WaitForAssert({-> assert_match('Done', term_getline(buf, 10))}) |
22832
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3873 |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3874 call term_sendkeys(buf, ":q\<CR>") |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3875 call StopVimInTerminal(buf) |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3876 call delete('XtestPopupLatin') |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3877 call delete('Xmultibyte') |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3878 endfunc |
8059beb101d0
patch 8.2.1963: crash when using a popup window with "latin1" encoding
Bram Moolenaar <Bram@vim.org>
parents:
22675
diff
changeset
|
3879 |
19605
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3880 func Test_popupwin_atcursor_far_right() |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3881 new |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3882 |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3883 " this was getting stuck |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3884 set signcolumn=yes |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3885 call setline(1, repeat('=', &columns)) |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3886 normal! ggg$ |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
3887 let winid = popup_atcursor(repeat('x', 500), #{moved: 'any', border: []}) |
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
3888 |
21506
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3889 " 'signcolumn' was getting reset |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3890 call setwinvar(winid, '&signcolumn', 'yes') |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3891 call popup_setoptions(winid, {'zindex': 1000}) |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3892 call assert_equal('yes', getwinvar(winid, '&signcolumn')) |
1d1ffb0dbd87
patch 8.2.1303: calling popup_setoptions() resets 'signcolumn'
Bram Moolenaar <Bram@vim.org>
parents:
21373
diff
changeset
|
3893 |
20386
3b3589275ab9
patch 8.2.0748: cannot get a list of all popups
Bram Moolenaar <Bram@vim.org>
parents:
20375
diff
changeset
|
3894 call popup_close(winid) |
19605
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3895 bwipe! |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3896 set signcolumn& |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3897 endfunc |
5ad7a406647a
patch 8.2.0359: popup_atcursor() may hang
Bram Moolenaar <Bram@vim.org>
parents:
19599
diff
changeset
|
3898 |
19732
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3899 func Test_popupwin_splitmove() |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3900 vsplit |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3901 let win2 = win_getid() |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3902 let popup_winid = popup_dialog('hello', {}) |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3903 call assert_fails('call win_splitmove(popup_winid, win2)', 'E957:') |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3904 call assert_fails('call win_splitmove(win2, popup_winid)', 'E957:') |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3905 |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3906 call popup_clear() |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3907 bwipe |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3908 endfunc |
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3909 |
22838
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3910 func Test_popupwin_exiting_terminal() |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3911 CheckFeature terminal |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3912 |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3913 " Tests that when creating a popup right after closing a terminal window does |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3914 " not make the popup the current window. |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3915 let winid = win_getid() |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3916 try |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3917 augroup Test_popupwin_exiting_terminal |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3918 autocmd! |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3919 autocmd WinEnter * :call popup_create('test', {}) |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3920 augroup END |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3921 let bnr = term_start(&shell, #{term_finish: 'close'}) |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3922 call term_sendkeys(bnr, "exit\r\n") |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3923 call WaitForAssert({-> assert_equal(winid, win_getid())}) |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3924 finally |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3925 call popup_clear(1) |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3926 augroup Test_popupwin_exiting_terminal |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3927 autocmd! |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3928 augroup END |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3929 endtry |
80bd5de5dcab
patch 8.2.1966: popup becomes current window after closing a terminal window
Bram Moolenaar <Bram@vim.org>
parents:
22832
diff
changeset
|
3930 endfunc |
19732
e292acf16e26
patch 8.2.0422: crash when passing popup window to win_splitmove()
Bram Moolenaar <Bram@vim.org>
parents:
19621
diff
changeset
|
3931 |
23507
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3932 func Test_popup_filter_menu() |
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3933 let colors = ['red', 'green', 'blue'] |
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3934 call popup_menu(colors, #{callback: {_, result -> assert_equal('green', colors[result - 1])}}) |
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3935 call feedkeys("\<c-n>\<c-n>\<c-p>\<cr>", 'xt') |
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3936 endfunc |
88a7e3bbb594
patch 8.2.2296: cannot use CTRL-N and CTRL-P in a popup menu
Bram Moolenaar <Bram@vim.org>
parents:
23400
diff
changeset
|
3937 |
23857
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3938 func Test_popup_getoptions_other_tab() |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3939 new |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3940 call setline(1, 'some text') |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3941 call prop_type_add('textprop', {}) |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3942 call prop_add(1, 1, #{type: 'textprop', length: 1}) |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3943 let id = popup_create('TEST', #{textprop: 'textprop', highlight: 'ErrorMsg', tabpage: 1}) |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3944 tab sp |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3945 call assert_equal(['textprop', 'textpropid', 'textpropwin'], popup_getoptions(id)->keys()->filter({_, v -> v =~ 'textprop'})) |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3946 |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3947 tabclose |
23859
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3948 call popup_close(id) |
23857
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3949 bwipe! |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3950 call prop_type_delete('textprop') |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3951 endfunc |
16a19892e22e
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Bram Moolenaar <Bram@vim.org>
parents:
23507
diff
changeset
|
3952 |
23859
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3953 |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3954 func Test_popup_setoptions_other_tab() |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3955 new Xfile |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3956 let winid = win_getid() |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3957 call setline(1, 'some text') |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3958 call prop_type_add('textprop', {}) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3959 call prop_add(1, 1, #{type: 'textprop', length: 1}) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3960 let id = popup_create('TEST', #{textprop: 'textprop'}) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3961 tab sp |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3962 call popup_setoptions(id, #{textprop: 'textprop', textpropwin: winid}) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3963 call assert_equal(winid, popup_getoptions(id).textpropwin) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3964 |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3965 tabclose |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3966 call popup_close(id) |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3967 bwipe! Xfile |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3968 call prop_type_delete('textprop') |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3969 endfunc |
12b446696927
patch 8.2.2471: popup_setoptions() does not set textprop in other tab
Bram Moolenaar <Bram@vim.org>
parents:
23857
diff
changeset
|
3970 |
23897
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3971 func Test_popup_prop_not_visible() |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3972 CheckScreendump |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3973 |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3974 let lines =<< trim END |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3975 vim9script |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3976 set nowrap stal=2 |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3977 rightbelow :31vnew |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3978 setline(1, ['', 'some text', '', 'other text']) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3979 prop_type_add('someprop', {}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3980 prop_add(2, 9, {type: 'someprop', length: 5}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3981 popup_create('attached to "some"', { |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3982 textprop: 'someprop', |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3983 highlight: 'ErrorMsg', |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3984 line: -1, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3985 wrap: false, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3986 fixed: true, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3987 }) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3988 prop_type_add('otherprop', {}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3989 prop_add(4, 10, {type: 'otherprop', length: 5}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3990 popup_create('attached to "other"', { |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3991 textprop: 'otherprop', |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3992 highlight: 'ErrorMsg', |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3993 line: -1, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3994 wrap: false, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3995 fixed: false, |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3996 }) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3997 END |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3998 call writefile(lines, 'XtestPropNotVisble') |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
3999 let buf = RunVimInTerminal('-S XtestPropNotVisble', #{rows: 10}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4000 call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_01', {}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4001 |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4002 call term_sendkeys(buf, ":vert resize -14\<CR>") |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4003 call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_02', {}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4004 |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4005 call term_sendkeys(buf, ":vert resize -8\<CR>") |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4006 call VerifyScreenDump(buf, 'Test_popup_prop_not_visible_03', {}) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4007 |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4008 " clean up |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4009 call StopVimInTerminal(buf) |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4010 call delete('XtestPropNotVisble') |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4011 endfunction |
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4012 |
24868
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4013 func Test_bufdel_skips_popupwin_buffer() |
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4014 let id = popup_create("Some text", {}) |
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4015 %bd |
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4016 call popup_close(id) |
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4017 endfunc |
e8451dc0d643
patch 8.2.2972: "%bd" tries to delete popup window buffers, which fails
Bram Moolenaar <Bram@vim.org>
parents:
24709
diff
changeset
|
4018 |
23897
3033dade50ca
patch 8.2.2491: popup window for text property may show in first screen line
Bram Moolenaar <Bram@vim.org>
parents:
23859
diff
changeset
|
4019 |
17442
57b9fca8c7d2
patch 8.1.1719: popup too wide when 'showbreak' is set
Bram Moolenaar <Bram@vim.org>
parents:
17438
diff
changeset
|
4020 " vim: shiftwidth=2 sts=2 |