diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim index 0bee55abe1..ac846a4ad1 100644 --- 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 index 4dc55f4f84..a9e4ccf744 100644 --- a/src/version.c +++ b/src/version.c @@ -771,6 +771,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1142, /**/ 1141, /**/