Mercurial > vim
annotate src/testdir/test_termcodes.vim @ 16487:a4732cdcfaaf v8.1.1247
patch 8.1.1247: urxvt mouse codes are not tested
commit https://github.com/vim/vim/commit/d0621d85a6ceb17e1e6fb17415c3f94a755aaafa
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 2 21:12:19 2019 +0200
patch 8.1.1247: urxvt mouse codes are not tested
Problem: Urxvt mouse codes are not tested.
Solution: Also set 'ttymouse' to "urxvt" in the termcodes test.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 02 May 2019 21:15:05 +0200 |
parents | 8428e0edba1b |
children | 42910f306377 |
rev | line source |
---|---|
16263
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Tests for decoding escape sequences sent by the terminal. |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 " This only works for Unix in a terminal |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 if has('gui_running') || !has('unix') |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 finish |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 endif |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
16437
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
8 source shared.vim |
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
9 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
10 " xterm2 and sgr always work, urxvt is optional. |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
11 let s:test_ttymouse = ['xterm2', 'sgr'] |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
12 if has('mouse_urxvt') |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
13 call add(s:test_ttymouse, 'urxvt') |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
14 endif |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
15 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
16 " Helper function to emit a terminal escape code. |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
17 func TerminalEscapeCode(code, row, col, m) |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
18 if &ttymouse ==# 'xterm2' |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
19 " need to use byte encoding here. |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
20 let str = list2str([a:code + 0x20, a:col + 0x20, a:row + 0x20]) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
21 if has('iconv') |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
22 let bytes = iconv(str, 'utf-8', 'latin1') |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
23 else |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
24 " Hopefully the numbers are not too big. |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
25 let bytes = str |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
26 endif |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
27 call feedkeys("\<Esc>[M" .. bytes, 'Lx!') |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
28 elseif &ttymouse ==# 'sgr' |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
29 call feedkeys(printf("\<Esc>[<%d;%d;%d%s", a:code, a:col, a:row, a:m), 'Lx!') |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
30 elseif &ttymouse ==# 'urxvt' |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
31 call feedkeys(printf("\<Esc>[%d;%d;%dM", a:code + 0x20, a:col, a:row), 'Lx!') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
32 endif |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
33 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
34 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
35 func MouseLeftClick(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
36 call TerminalEscapeCode(0, a:row, a:col, 'M') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
37 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
38 |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
39 func MouseMiddleClick(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
40 call TerminalEscapeCode(1, a:row, a:col, 'M') |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
41 endfunc |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
42 |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
43 func MouseCtrlLeftClick(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
44 let ctrl = 0x10 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
45 call TerminalEscapeCode(0 + ctrl, a:row, a:col, 'M') |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
46 endfunc |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
47 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
48 func MouseCtrlRightClick(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
49 let ctrl = 0x10 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
50 call TerminalEscapeCode(2 + ctrl, a:row, a:col, 'M') |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
51 endfunc |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
52 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
53 func MouseLeftRelease(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
54 call TerminalEscapeCode(3, a:row, a:col, 'm') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
55 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
56 |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
57 func MouseMiddleRelease(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
58 call TerminalEscapeCode(3, a:row, a:col, 'm') |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
59 endfunc |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
60 |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
61 func MouseRightRelease(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
62 call TerminalEscapeCode(3, a:row, a:col, 'm') |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
63 endfunc |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
64 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
65 func MouseLeftDrag(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
66 call TerminalEscapeCode(0x20, a:row, a:col, 'M') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
67 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
68 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
69 func MouseWheelUp(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
70 call TerminalEscapeCode(0x40, a:row, a:col, 'M') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
71 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
72 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
73 func MouseWheelDown(row, col) |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
74 call TerminalEscapeCode(0x41, a:row, a:col, 'M') |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
75 endfunc |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
76 |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
77 func Test_xterm_mouse_left_click() |
16263
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
78 new |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
79 let save_mouse = &mouse |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
80 let save_term = &term |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
81 let save_ttymouse = &ttymouse |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
82 set mouse=a term=xterm |
16263
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
83 call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer']) |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
84 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
85 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
86 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
87 exe 'set ttymouse=' .. ttymouse_val |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
88 go |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
89 call assert_equal([0, 1, 1, 0], getpos('.'), msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
90 let row = 2 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
91 let col = 6 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
92 call MouseLeftClick(row, col) |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
93 call MouseLeftRelease(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
94 call assert_equal([0, 2, 6, 0], getpos('.'), msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
95 endfor |
16263
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
96 |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
97 let &mouse = save_mouse |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
98 let &term = save_term |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
99 let &ttymouse = save_ttymouse |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
100 bwipe! |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
101 endfunc |
d3377393e3d9
patch 8.1.1136: decoding of mouse click escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
102 |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
103 " Test that <C-LeftMouse> jumps to help tag and <C-RightMouse> jumps back. |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
104 func Test_xterm_mouse_ctrl_click() |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
105 let save_mouse = &mouse |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
106 let save_term = &term |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
107 let save_ttymouse = &ttymouse |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
108 set mouse=a term=xterm |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
109 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
110 for ttymouse_val in s:test_ttymouse |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
111 let msg = 'ttymouse=' .. ttymouse_val |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
112 exe 'set ttymouse=' .. ttymouse_val |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
113 help |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
114 /usr_02.txt |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
115 norm! zt |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
116 let row = 1 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
117 let col = 1 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
118 call MouseCtrlLeftClick(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
119 call MouseLeftRelease(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
120 call assert_match('usr_02.txt$', bufname('%'), msg) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
121 call assert_equal('*usr_02.txt*', expand('<cWORD>')) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
122 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
123 call MouseCtrlRightClick(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
124 call MouseLeftRelease(row, col) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
125 call assert_match('help.txt$', bufname('%'), msg) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
126 call assert_equal('|usr_02.txt|', expand('<cWORD>')) |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
127 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
128 helpclose |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
129 endfor |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
130 |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
131 let &mouse = save_mouse |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
132 let &term = save_term |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
133 let &ttymouse = save_ttymouse |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
134 endfunc |
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
135 |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
136 func Test_xterm_mouse_middle_click() |
16437
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
137 if !WorkingClipboard() |
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
138 throw 'Skipped: No working clipboard' |
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
139 endif |
fbc0b3b38c79
patch 8.1.1223: middle mouse click test fails without a clipboard
Bram Moolenaar <Bram@vim.org>
parents:
16423
diff
changeset
|
140 |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
141 new |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
142 let save_mouse = &mouse |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
143 let save_term = &term |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
144 let save_ttymouse = &ttymouse |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
145 let save_quotestar = @* |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
146 let @* = 'abc' |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
147 set mouse=a term=xterm |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
148 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
149 for ttymouse_val in s:test_ttymouse |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
150 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
151 exe 'set ttymouse=' .. ttymouse_val |
16423
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
152 call setline(1, ['123456789', '123456789']) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
153 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
154 " Middle-click in the middle of the line pastes text where clicked. |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
155 let row = 1 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
156 let col = 6 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
157 call MouseMiddleClick(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
158 call MouseMiddleRelease(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
159 call assert_equal(['12345abc6789', '123456789'], getline(1, '$'), msg) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
160 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
161 " Middle-click beyond end of the line pastes text at the end of the line. |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
162 let col = 20 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
163 call MouseMiddleClick(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
164 call MouseMiddleRelease(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
165 call assert_equal(['12345abc6789abc', '123456789'], getline(1, '$'), msg) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
166 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
167 " Middle-click beyond the last line pastes in the last line. |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
168 let row = 5 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
169 let col = 3 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
170 call MouseMiddleClick(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
171 call MouseMiddleRelease(row, col) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
172 call assert_equal(['12345abc6789abc', '12abc3456789'], getline(1, '$'), msg) |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
173 endfor |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
174 |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
175 let &mouse = save_mouse |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
176 let &term = save_term |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
177 let &ttymouse = save_ttymouse |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
178 let @* = save_quotestar |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
179 bwipe! |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
180 endfunc |
4182fa3b9f70
patch 8.1.1216: mouse middle click is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16352
diff
changeset
|
181 |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
182 func Test_xterm_mouse_wheel() |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
183 new |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
184 let save_mouse = &mouse |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
185 let save_term = &term |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
186 let save_ttymouse = &ttymouse |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
187 set mouse=a term=xterm |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
188 call setline(1, range(1, 100)) |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
189 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
190 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
191 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
192 exe 'set ttymouse=' .. ttymouse_val |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
193 go |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
194 call assert_equal(1, line('w0'), msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
195 call assert_equal([0, 1, 1, 0], getpos('.'), msg) |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
196 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
197 call MouseWheelDown(1, 1) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
198 call assert_equal(4, line('w0'), msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
199 call assert_equal([0, 4, 1, 0], getpos('.'), msg) |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
200 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
201 call MouseWheelDown(1, 1) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
202 call assert_equal(7, line('w0'), msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
203 call assert_equal([0, 7, 1, 0], getpos('.'), msg) |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
204 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
205 call MouseWheelUp(1, 1) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
206 call assert_equal(4, line('w0'), msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
207 call assert_equal([0, 7, 1, 0], getpos('.'), msg) |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
208 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
209 call MouseWheelUp(1, 1) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
210 call assert_equal(1, line('w0'), msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
211 call assert_equal([0, 7, 1, 0], getpos('.'), msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
212 endfor |
16265
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
213 |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
214 let &mouse = save_mouse |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
215 let &term = save_term |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
216 let &ttymouse = save_ttymouse |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
217 bwipe! |
7feb5b90be5f
patch 8.1.1137: xterm mouse wheel escape sequence is not tested
Bram Moolenaar <Bram@vim.org>
parents:
16263
diff
changeset
|
218 endfunc |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
219 |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
220 func Test_xterm_mouse_drag_window_separator() |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
221 let save_mouse = &mouse |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
222 let save_term = &term |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
223 let save_ttymouse = &ttymouse |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
224 set mouse=a term=xterm |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
225 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
226 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
227 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
228 exe 'set ttymouse=' .. ttymouse_val |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
229 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
230 " Split horizontally and test dragging the horizontal window separator. |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
231 split |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
232 let rowseparator = winheight(0) + 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
233 let row = rowseparator |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
234 let col = 1 |
16310
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
235 |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
236 " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported. |
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
237 if ttymouse_val !=# 'xterm2' || row <= 223 |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
238 call MouseLeftClick(row, col) |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
239 let row -= 1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
240 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
241 call assert_equal(rowseparator - 1, winheight(0) + 1, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
242 let row += 1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
243 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
244 call assert_equal(rowseparator, winheight(0) + 1, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
245 call MouseLeftRelease(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
246 call assert_equal(rowseparator, winheight(0) + 1, msg) |
16310
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
247 endif |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
248 bwipe! |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
249 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
250 " Split vertically and test dragging the vertical window separator. |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
251 vsplit |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
252 let colseparator = winwidth(0) + 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
253 let row = 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
254 let col = colseparator |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
255 |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
256 " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported. |
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
257 if ttymouse_val !=# 'xterm2' || col <= 223 |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
258 call MouseLeftClick(row, col) |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
259 let col -= 1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
260 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
261 call assert_equal(colseparator - 1, winwidth(0) + 1, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
262 let col += 1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
263 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
264 call assert_equal(colseparator, winwidth(0) + 1, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
265 call MouseLeftRelease(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
266 call assert_equal(colseparator, winwidth(0) + 1, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
267 endif |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
268 bwipe! |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
269 endfor |
16275
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
270 |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
271 let &mouse = save_mouse |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
272 let &term = save_term |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
273 let &ttymouse = save_ttymouse |
ed5172ae1c32
patch 8.1.1142: no test for dragging the window separators with the mouse
Bram Moolenaar <Bram@vim.org>
parents:
16265
diff
changeset
|
274 endfunc |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
275 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
276 func Test_xterm_mouse_drag_statusline() |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
277 let save_mouse = &mouse |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
278 let save_term = &term |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
279 let save_ttymouse = &ttymouse |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
280 let save_laststatus = &laststatus |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
281 set mouse=a term=xterm laststatus=2 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
282 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
283 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
284 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
285 exe 'set ttymouse=' .. ttymouse_val |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
286 |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
287 call assert_equal(1, &cmdheight, msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
288 let rowstatusline = winheight(0) + 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
289 let row = rowstatusline |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
290 let col = 1 |
16310
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
291 |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
292 if ttymouse_val ==# 'xterm2' && row > 223 |
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
293 " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported. |
16310
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
294 continue |
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
295 endif |
5b8b849dc3aa
patch 8.1.1160: termcodes test would fail in a very big terminal
Bram Moolenaar <Bram@vim.org>
parents:
16300
diff
changeset
|
296 |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
297 call MouseLeftClick(row, col) |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
298 let row -= 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
299 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
300 call assert_equal(2, &cmdheight, msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
301 call assert_equal(rowstatusline - 1, winheight(0) + 1, msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
302 let row += 1 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
303 call MouseLeftDrag(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
304 call assert_equal(1, &cmdheight, msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
305 call assert_equal(rowstatusline, winheight(0) + 1, msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
306 call MouseLeftRelease(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
307 call assert_equal(1, &cmdheight, msg) |
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
308 call assert_equal(rowstatusline, winheight(0) + 1, msg) |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
309 endfor |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
310 |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
311 let &mouse = save_mouse |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
312 let &term = save_term |
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
313 let &ttymouse = save_ttymouse |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
314 let &laststatus = save_laststatus |
16300
f3d579f009d1
patch 8.1.1155: termcodes tests can be improved
Bram Moolenaar <Bram@vim.org>
parents:
16275
diff
changeset
|
315 endfunc |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
316 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
317 func Test_xterm_mouse_click_tab() |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
318 let save_mouse = &mouse |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
319 let save_term = &term |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
320 let save_ttymouse = &ttymouse |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
321 set mouse=a term=xterm |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
322 let row = 1 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
323 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
324 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
325 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
326 exe 'set ttymouse=' .. ttymouse_val |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
327 e Xfoo |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
328 tabnew Xbar |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
329 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
330 let a = split(execute(':tabs'), "\n") |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
331 call assert_equal(['Tab page 1', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
332 \ ' Xfoo', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
333 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
334 \ '> Xbar'], a, msg) |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
335 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
336 " Test clicking on tab names in the tabline at the top. |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
337 let col = 2 |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
338 redraw |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
339 call MouseLeftClick(row, col) |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
340 call MouseLeftRelease(row, col) |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
341 let a = split(execute(':tabs'), "\n") |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
342 call assert_equal(['Tab page 1', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
343 \ '> Xfoo', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
344 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
345 \ ' Xbar'], a, msg) |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
346 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
347 let col = 9 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
348 call MouseLeftClick(row, col) |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
349 call MouseLeftRelease(row, col) |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
350 let a = split(execute(':tabs'), "\n") |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
351 call assert_equal(['Tab page 1', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
352 \ ' Xfoo', |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
353 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
354 \ '> Xbar'], a, msg) |
16320
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
355 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
356 %bwipe! |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
357 endfor |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
358 |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
359 let &mouse = save_mouse |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
360 let &term = save_term |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
361 let &ttymouse = save_ttymouse |
57e0f6b4a87d
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Bram Moolenaar <Bram@vim.org>
parents:
16310
diff
changeset
|
362 endfunc |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
363 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
364 func Test_xterm_mouse_click_X_to_close_tab() |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
365 let save_mouse = &mouse |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
366 let save_term = &term |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
367 let save_ttymouse = &ttymouse |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
368 set mouse=a term=xterm |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
369 let row = 1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
370 let col = &columns |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
371 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
372 for ttymouse_val in s:test_ttymouse |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
373 if ttymouse_val ==# 'xterm2' && col > 223 |
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
374 " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported. |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
375 continue |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
376 endif |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
377 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
378 exe 'set ttymouse=' .. ttymouse_val |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
379 e Xtab1 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
380 tabnew Xtab2 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
381 tabnew Xtab3 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
382 tabn 2 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
383 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
384 let a = split(execute(':tabs'), "\n") |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
385 call assert_equal(['Tab page 1', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
386 \ ' Xtab1', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
387 \ 'Tab page 2', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
388 \ '> Xtab2', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
389 \ 'Tab page 3', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
390 \ ' Xtab3'], a, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
391 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
392 " Click on "X" in tabline to close current tab i.e. Xtab2. |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
393 redraw |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
394 call MouseLeftClick(row, col) |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
395 call MouseLeftRelease(row, col) |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
396 let a = split(execute(':tabs'), "\n") |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
397 call assert_equal(['Tab page 1', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
398 \ ' Xtab1', |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
399 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
400 \ '> Xtab3'], a, msg) |
16324
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
401 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
402 %bwipe! |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
403 endfor |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
404 |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
405 let &mouse = save_mouse |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
406 let &term = save_term |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
407 let &ttymouse = save_ttymouse |
6b2412d0509f
patch 8.1.1167: no test for closing tab by click in tabline
Bram Moolenaar <Bram@vim.org>
parents:
16320
diff
changeset
|
408 endfunc |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
409 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
410 func Test_xterm_mouse_drag_to_move_tab() |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
411 let save_mouse = &mouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
412 let save_term = &term |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
413 let save_ttymouse = &ttymouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
414 " Set 'mousetime' to 1 to avoid recognizing a double-click in the loop |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
415 set mouse=a term=xterm mousetime=1 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
416 let row = 1 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
417 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
418 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
419 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
420 exe 'set ttymouse=' .. ttymouse_val |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
421 e Xtab1 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
422 tabnew Xtab2 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
423 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
424 let a = split(execute(':tabs'), "\n") |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
425 call assert_equal(['Tab page 1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
426 \ ' Xtab1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
427 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
428 \ '> Xtab2'], a, msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
429 redraw |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
430 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
431 " Click in tab2 and drag it to tab1. |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
432 " Check getcharmod() to verify that click is not |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
433 " interpreted as a spurious double-click. |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
434 call MouseLeftClick(row, 10) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
435 call assert_equal(0, getcharmod(), msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
436 for col in [9, 8, 7, 6] |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
437 call MouseLeftDrag(row, col) |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
438 endfor |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
439 call MouseLeftRelease(row, col) |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
440 let a = split(execute(':tabs'), "\n") |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
441 call assert_equal(['Tab page 1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
442 \ '> Xtab2', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
443 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
444 \ ' Xtab1'], a, msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
445 |
16342
06f3eb443e93
patch 8.1.1176: test for dragging a tab is flaky
Bram Moolenaar <Bram@vim.org>
parents:
16340
diff
changeset
|
446 " brief sleep to avoid causing a double-click |
06f3eb443e93
patch 8.1.1176: test for dragging a tab is flaky
Bram Moolenaar <Bram@vim.org>
parents:
16340
diff
changeset
|
447 sleep 20m |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
448 %bwipe! |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
449 endfor |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
450 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
451 let &mouse = save_mouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
452 let &term = save_term |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
453 let &ttymouse = save_ttymouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
454 set mousetime& |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
455 endfunc |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
456 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
457 func Test_xterm_mouse_double_click_to_create_tab() |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
458 let save_mouse = &mouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
459 let save_term = &term |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
460 let save_ttymouse = &ttymouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
461 " Set 'mousetime' to a small value, so that double-click works but we don't |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
462 " have to wait long to avoid a triple-click. |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
463 set mouse=a term=xterm mousetime=100 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
464 let row = 1 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
465 let col = 10 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
466 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
467 let round = 0 |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
468 for ttymouse_val in s:test_ttymouse |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
469 let msg = 'ttymouse=' .. ttymouse_val |
16481
8428e0edba1b
patch 8.1.1244: no tests for CTRL-mouse-click
Bram Moolenaar <Bram@vim.org>
parents:
16437
diff
changeset
|
470 exe 'set ttymouse=' .. ttymouse_val |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
471 e Xtab1 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
472 tabnew Xtab2 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
473 |
16487
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
474 if round > 0 |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
475 " We need to sleep, or else the first MouseLeftClick() will be |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
476 " interpreted as a spurious triple-click. |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
477 sleep 100m |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
478 endif |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
479 let round += 1 |
a4732cdcfaaf
patch 8.1.1247: urxvt mouse codes are not tested
Bram Moolenaar <Bram@vim.org>
parents:
16481
diff
changeset
|
480 |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
481 let a = split(execute(':tabs'), "\n") |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
482 call assert_equal(['Tab page 1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
483 \ ' Xtab1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
484 \ 'Tab page 2', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
485 \ '> Xtab2'], a, msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
486 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
487 redraw |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
488 call MouseLeftClick(row, col) |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
489 " Check getcharmod() to verify that first click is not |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
490 " interpreted as a spurious double-click. |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
491 call assert_equal(0, getcharmod(), msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
492 call MouseLeftRelease(row, col) |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
493 call MouseLeftClick(row, col) |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
494 call assert_equal(32, getcharmod(), msg) " double-click |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
495 call MouseLeftRelease(row, col) |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
496 let a = split(execute(':tabs'), "\n") |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
497 call assert_equal(['Tab page 1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
498 \ ' Xtab1', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
499 \ 'Tab page 2', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
500 \ '> [No Name]', |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
501 \ 'Tab page 3', |
16346
2fb516abde42
patch 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
Bram Moolenaar <Bram@vim.org>
parents:
16342
diff
changeset
|
502 \ ' Xtab2'], a, msg) |
16340
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
503 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
504 %bwipe! |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
505 endfor |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
506 |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
507 let &mouse = save_mouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
508 let &term = save_term |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
509 let &ttymouse = save_ttymouse |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
510 set mousetime& |
2f70fc41ff7e
patch 8.1.1175: no test for dragging a tab and double click for new tab
Bram Moolenaar <Bram@vim.org>
parents:
16324
diff
changeset
|
511 endfunc |
16348
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
512 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
513 func Test_xterm_mouse_click_in_fold_columns() |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
514 new |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
515 let save_mouse = &mouse |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
516 let save_term = &term |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
517 let save_ttymouse = &ttymouse |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
518 let save_foldcolumn = &foldcolumn |
16352
c742c008953e
patch 8.1.1181: tests for mouse clicks are a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
16348
diff
changeset
|
519 set mouse=a term=xterm foldcolumn=3 ttymouse=xterm2 |
16348
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
520 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
521 " Create 2 nested folds. |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
522 call setline(1, range(1, 7)) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
523 2,6fold |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
524 norm! zR |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
525 4,5fold |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
526 call assert_equal([-1, -1, -1, 4, 4, -1, -1], |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
527 \ map(range(1, 7), 'foldclosed(v:val)')) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
528 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
529 " Click in "+" of inner fold in foldcolumn should open it. |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
530 redraw |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
531 let row = 4 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
532 let col = 2 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
533 call MouseLeftClick(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
534 call MouseLeftRelease(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
535 call assert_equal([-1, -1, -1, -1, -1, -1, -1], |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
536 \ map(range(1, 7), 'foldclosed(v:val)')) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
537 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
538 " Click in "-" of outer fold in foldcolumn should close it. |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
539 redraw |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
540 let row = 2 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
541 let col = 1 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
542 call MouseLeftClick(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
543 call MouseLeftRelease(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
544 call assert_equal([-1, 2, 2, 2, 2, 2, -1], |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
545 \ map(range(1, 7), 'foldclosed(v:val)')) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
546 norm! zR |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
547 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
548 " Click in "|" of inner fold in foldcolumn should close it. |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
549 redraw |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
550 let row = 5 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
551 let col = 2 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
552 call MouseLeftClick(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
553 call MouseLeftRelease(row, col) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
554 call assert_equal([-1, -1, -1, 4, 4, -1, -1], |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
555 \ map(range(1, 7), 'foldclosed(v:val)')) |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
556 |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
557 let &foldcolumn = save_foldcolumn |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
558 let &ttymouse = save_ttymouse |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
559 let &term = save_term |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
560 let &mouse = save_mouse |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
561 bwipe! |
5f3a86ba4261
patch 8.1.1179: no test for mouse clicks in the fold column
Bram Moolenaar <Bram@vim.org>
parents:
16346
diff
changeset
|
562 endfunc |