commit 2be868ab5e8f29f2c236e2d8765483888db3999c
parent 355ccaeb04c06d2d6d264f3abeea0c24c22a4a4d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 28 Apr 2023 14:19:45 +0800
vim-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 vim/vim#4261)
https://github.com/vim/vim/commit/696d6377289eb7c703263aaabe58134968335c4b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat:
1 file changed, 52 insertions(+), 0 deletions(-)
diff --git a/test/old/testdir/test_termcodes.vim b/test/old/testdir/test_termcodes.vim
@@ -369,6 +369,58 @@ func Test_xterm_mouse_double_click_to_create_tab()
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
+ set mouse=a 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
+
" Test for translation of special key codes (<xF1>, <xF2>, etc.)
func Test_Keycode_Translation()
let keycodes = [