# HG changeset patch # User Bram Moolenaar # Date 1554840005 -7200 # Node ID ed5172ae1c32cc1fa50d586f57250b5220585c7c # Parent 06c4d15f4a261a5800006baa3023aff97c6d1f00 patch 8.1.1142: no test for dragging the window separators with the mouse commit https://github.com/vim/vim/commit/3fb01a53c685d8d7e7bd83c33500de80aed0d7c8 Author: Bram Moolenaar Date: Tue Apr 9 21:52:02 2019 +0200 patch 8.1.1142: no test for dragging the window separators with the mouse Problem: No test for dragging the window separators with the mouse. Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/4226) diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim --- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -111,3 +111,61 @@ func Test_xterm_mouse_wheel() let &ttymouse = save_ttymouse bwipe! endfunc + +func Test_xterm_mouse_drag_window_separator() + let save_mouse = &mouse + let save_term = &term + let save_ttymouse = &ttymouse + set mouse=a + set term=xterm + set ttymouse=sgr + + " Split horizontally and test dragging the horizontal window separator. + split + let rowseparator = winheight(0) + 1 + + let button = 0 " left down. + let row = rowseparator + let col = 1 + call feedkeys(printf("\[<%d;%d;%dM", button, col, row), 'Lx!') + + let drag = 32 + let row -= 1 + call feedkeys(printf("\[<%d;%d;%dM", drag, col, row), 'Lx!') + call assert_equal(rowseparator - 1, winheight(0) + 1) + let row += 1 + call feedkeys(printf("\[<%d;%d;%dM", drag, col, row), 'Lx!') + call assert_equal(rowseparator, winheight(0) + 1) + + let release = 3 + call feedkeys(printf("\[<%d;%d;%dm", release, col, row), 'Lx!') + call assert_equal(rowseparator, winheight(0) + 1) + + bwipe! + + " Split vertically and test dragging the vertical window separator. + vsplit + let colseparator = winwidth(0) + 1 + + let button = 0 + let row = 1 + let col = colseparator + call feedkeys(printf("\[<%d;%d;%dM", button, col, row), 'Lx!') + + let drag = 32 + let col -= 1 + call feedkeys(printf("\[<%d;%d;%dM", drag, col, row), 'Lx!') + call assert_equal(colseparator - 1, winwidth(0) + 1) + let col += 1 + call feedkeys(printf("\[<%d;%d;%dM", drag, col, row), 'Lx!') + call assert_equal(colseparator, winwidth(0) + 1) + + let release = 3 + call feedkeys(printf("\[<%d;%d;%dm", release, col, row), 'Lx!') + call assert_equal(colseparator, winwidth(0) + 1) + + bwipe! + let &mouse = save_mouse + let &term = save_term + let &ttymouse = save_ttymouse +endfunc diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1142, +/**/ 1141, /**/ 1140,