comparison src/testdir/test_termcodes.vim @ 16265:7feb5b90be5f v8.1.1137

patch 8.1.1137: xterm mouse wheel escape sequence is not tested commit https://github.com/vim/vim/commit/049736fa8af211886848d4a847b45d5d991c9687 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 7 21:55:07 2019 +0200 patch 8.1.1137: xterm mouse wheel escape sequence is not tested Problem: Xterm mouse wheel escape sequence is not tested. Solution: Add a test using low-level input. (Dominique Pelle, closes https://github.com/vim/vim/issues/4221)
author Bram Moolenaar <Bram@vim.org>
date Sun, 07 Apr 2019 22:00:04 +0200
parents d3377393e3d9
children ed5172ae1c32
comparison
equal deleted inserted replaced
16264:c9aaabbfa627 16265:7feb5b90be5f
43 let &term = save_term 43 let &term = save_term
44 let &ttymouse = save_ttymouse 44 let &ttymouse = save_ttymouse
45 bwipe! 45 bwipe!
46 endfunc 46 endfunc
47 47
48 func Test_xterm_mouse_wheel()
49 new
50 let save_mouse = &mouse
51 let save_term = &term
52 let save_ttymouse = &ttymouse
53 set mouse=a
54 set term=xterm
55 call setline(1, range(1, 100))
56
57 " Test Xterm mouse wheel.
58 set ttymouse=xterm
59 let button = 0x41 " wheel down.
60 let row = 1 + 32 " cursor position for mouse wheel is not relevant.
61 let col = 1 + 32
62
63 call assert_equal(1, line('w0'))
64 call assert_equal([0, 1, 1, 0], getpos('.'))
65 call feedkeys("\<Esc>[M" .. list2str([button, col, row]), 'Lx!')
66 call assert_equal(4, line('w0'))
67 call assert_equal([0, 4, 1, 0], getpos('.'))
68 call feedkeys("\<Esc>[M" .. list2str([button, col, row]), 'Lx!')
69 call assert_equal(7, line('w0'))
70 call assert_equal([0, 7, 1, 0], getpos('.'))
71
72 let button = 0x40 " wheel up.
73
74 call feedkeys("\<Esc>[M" .. list2str([button, col, row]), 'Lx!')
75 call assert_equal(4, line('w0'))
76 call assert_equal([0, 7, 1, 0], getpos('.'))
77 call feedkeys("\<Esc>[M" .. list2str([button, col, row]), 'Lx!')
78 call assert_equal(1, line('w0'))
79 call assert_equal([0, 7, 1, 0], getpos('.'))
80
81 " Test SGR mouse wheel.
82 set ttymouse=sgr
83 go
84 let button = 0x41 " wheel down.
85 let row = 1 " cursor position for mouse wheel is not relevant.
86 let col = 1
87
88 call assert_equal(1, line('w0'))
89 call assert_equal([0, 1, 1, 0], getpos('.'))
90 call feedkeys(printf("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
91 call assert_equal(4, line('w0'))
92 call assert_equal([0, 4, 1, 0], getpos('.'))
93 call feedkeys(printf("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
94 call assert_equal(7, line('w0'))
95 call assert_equal([0, 7, 1, 0], getpos('.'))
96
97 let button = 0x40 " wheel up.
98
99 call feedkeys(printf("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
100 call assert_equal(4, line('w0'))
101 call assert_equal([0, 7, 1, 0], getpos('.'))
102 call feedkeys(printf("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
103 call assert_equal(1, line('w0'))
104 call assert_equal([0, 7, 1, 0], getpos('.'))
105 call feedkeys(printf("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
106 call assert_equal(1, line('w0'))
107 call assert_equal([0, 7, 1, 0], getpos('.'))
108
109 let &mouse = save_mouse
110 let &term = save_term
111 let &ttymouse = save_ttymouse
112 bwipe!
113 endfunc