# HG changeset patch # User Bram Moolenaar # Date 1555512305 -7200 # Node ID 5f3a86ba426101cc24e1e7d5b1d17f0f83e5ac59 # Parent b390b2e66f46687ce9d1ea6ddd0dd646a45fac23 patch 8.1.1179: no test for mouse clicks in the fold column commit https://github.com/vim/vim/commit/696d6377289eb7c703263aaabe58134968335c4b Author: Bram Moolenaar Date: Wed Apr 17 16:33:46 2019 +0200 patch 8.1.1179: no test for mouse clicks in the fold column Problem: No test for mouse clicks in the fold column. Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/4261) 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 @@ -395,3 +395,54 @@ func Test_xterm_mouse_double_click_to_cr let &ttymouse = save_ttymouse set mousetime& endfunc + +func Test_xterm_mouse_click_in_fold_columns() + new + let save_mouse = &mouse + let save_term = &term + let save_ttymouse = &ttymouse + let save_foldcolumn = &foldcolumn + set mouse=a term=xterm foldcolumn=3 + + " Create 2 nested folds. + call setline(1, range(1, 7)) + 2,6fold + norm! zR + 4,5fold + call assert_equal([-1, -1, -1, 4, 4, -1, -1], + \ map(range(1, 7), 'foldclosed(v:val)')) + + " Click in "+" of inner fold in foldcolumn should open it. + redraw + let row = 4 + let col = 2 + call MouseLeftClick(row, col) + call MouseLeftRelease(row, col) + call assert_equal([-1, -1, -1, -1, -1, -1, -1], + \ map(range(1, 7), 'foldclosed(v:val)')) + + " Click in "-" of outer fold in foldcolumn should close it. + redraw + let row = 2 + let col = 1 + call MouseLeftClick(row, col) + call MouseLeftRelease(row, col) + call assert_equal([-1, 2, 2, 2, 2, 2, -1], + \ map(range(1, 7), 'foldclosed(v:val)')) + norm! zR + + " Click in "|" of inner fold in foldcolumn should close it. + redraw + let row = 5 + let col = 2 + call MouseLeftClick(row, col) + call MouseLeftRelease(row, col) + call assert_equal([-1, -1, -1, 4, 4, -1, -1], + \ map(range(1, 7), 'foldclosed(v:val)')) + + let &foldcolumn = save_foldcolumn + let &ttymouse = save_ttymouse + let &term = save_term + let &mouse = save_mouse + bwipe! +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 */ /**/ + 1179, +/**/ 1178, /**/ 1177,