changeset 16275:ed5172ae1c32 v8.1.1142

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 <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Tue, 09 Apr 2019 22:00:05 +0200
parents 06c4d15f4a26
children 8322ad152939
files src/testdir/test_termcodes.vim src/version.c
diffstat 2 files changed, 60 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
+
+  let drag = 32
+  let row -= 1
+  call feedkeys(printf("\<Esc>[<%d;%d;%dM", drag, col, row), 'Lx!')
+  call assert_equal(rowseparator - 1, winheight(0) + 1)
+  let row += 1
+  call feedkeys(printf("\<Esc>[<%d;%d;%dM", drag, col, row), 'Lx!')
+  call assert_equal(rowseparator, winheight(0) + 1)
+
+  let release = 3
+  call feedkeys(printf("\<Esc>[<%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("\<Esc>[<%d;%d;%dM", button, col, row), 'Lx!')
+
+  let drag = 32
+  let col -= 1
+  call feedkeys(printf("\<Esc>[<%d;%d;%dM", drag, col, row), 'Lx!')
+  call assert_equal(colseparator - 1, winwidth(0) + 1)
+  let col += 1
+  call feedkeys(printf("\<Esc>[<%d;%d;%dM", drag, col, row), 'Lx!')
+  call assert_equal(colseparator, winwidth(0) + 1)
+
+  let release = 3
+  call feedkeys(printf("\<Esc>[<%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
--- 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,