diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-04-27 19:11:35 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-04-27 19:11:35 +0200 |
commit | c1b8160b44b43cca3acd7a47c1b85350cb648fe5 (patch) | |
tree | 8ece8640c3a8b610363b3a8527b9ae090c539517 | |
parent | 49543fbcedb19a1db0d2144737efc0266057ff1d (diff) | |
download | vim-git-c1b8160b44b43cca3acd7a47c1b85350cb648fe5.tar.gz |
patch 8.1.1216: mouse middle click is not testedv8.1.1216
Problem: Mouse middle click is not tested.
Solution: Add a test. (Dominique Pelle, closes #4310)
-rw-r--r-- | src/testdir/test_termcodes.vim | 52 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 53 insertions, 1 deletions
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim index b9f7122be..af10e1d5c 100644 --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -26,10 +26,18 @@ func MouseLeftClick(row, col) call TerminalEscapeCode(0x20, 0, a:row, a:col, 'M') endfunc +func MouseMiddleClick(row, col) + call TerminalEscapeCode(0x21, 1, a:row, a:col, 'M') +endfunc + func MouseLeftRelease(row, col) call TerminalEscapeCode(0x23, 3, a:row, a:col, 'm') endfunc +func MouseMiddleRelease(row, col) + call TerminalEscapeCode(0x23, 3, a:row, a:col, 'm') +endfunc + func MouseLeftDrag(row, col) call TerminalEscapeCode(0x43, 0x20, a:row, a:col, 'M') endfunc @@ -42,7 +50,7 @@ func MouseWheelDown(row, col) call TerminalEscapeCode(0x41, 0x41, a:row, a:col, 'M') endfunc -func Test_xterm_mouse_click() +func Test_xterm_mouse_left_click() new let save_mouse = &mouse let save_term = &term @@ -68,6 +76,48 @@ func Test_xterm_mouse_click() bwipe! endfunc +func Test_xterm_mouse_middle_click() + new + let save_mouse = &mouse + let save_term = &term + let save_ttymouse = &ttymouse + let save_quotestar = @* + let @* = 'abc' + set mouse=a term=xterm + + for ttymouse_val in ['xterm2', 'sgr'] + let msg = 'ttymouse=' .. ttymouse_val + exe 'set ttymouse=' . ttymouse_val + call setline(1, ['123456789', '123456789']) + + " Middle-click in the middle of the line pastes text where clicked. + let row = 1 + let col = 6 + call MouseMiddleClick(row, col) + call MouseMiddleRelease(row, col) + call assert_equal(['12345abc6789', '123456789'], getline(1, '$'), msg) + + " Middle-click beyond end of the line pastes text at the end of the line. + let col = 20 + call MouseMiddleClick(row, col) + call MouseMiddleRelease(row, col) + call assert_equal(['12345abc6789abc', '123456789'], getline(1, '$'), msg) + + " Middle-click beyond the last line pastes in the last line. + let row = 5 + let col = 3 + call MouseMiddleClick(row, col) + call MouseMiddleRelease(row, col) + call assert_equal(['12345abc6789abc', '12abc3456789'], getline(1, '$'), msg) + endfor + + let &mouse = save_mouse + let &term = save_term + let &ttymouse = save_ttymouse + let @* = save_quotestar + bwipe! +endfunc + func Test_xterm_mouse_wheel() new let save_mouse = &mouse diff --git a/src/version.c b/src/version.c index 0d2e34485..533751297 100644 --- a/src/version.c +++ b/src/version.c @@ -768,6 +768,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1216, +/**/ 1215, /**/ 1214, |