Mercurial > vim
diff src/testdir/test_termcodes.vim @ 16320:57e0f6b4a87d v8.1.1165
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
commit https://github.com/vim/vim/commit/ca57ab54d759a3e265b19bbe31b57dfed00bbdd0
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 13 14:53:16 2019 +0200
patch 8.1.1165: no test for mouse clicks in the terminal tabpage line
Problem: No test for mouse clicks in the terminal tabpage line.
Solution: Add a test. (Dominique Pelle, closes https://github.com/vim/vim/issues/4247). Also init
TabPageIdxs[], in case it's used before a redraw.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Apr 2019 15:00:05 +0200 |
parents | 5b8b849dc3aa |
children | 6b2412d0509f |
line wrap: on
line diff
--- a/src/testdir/test_termcodes.vim +++ b/src/testdir/test_termcodes.vim @@ -165,7 +165,8 @@ func Test_xterm_mouse_drag_statusline() let save_mouse = &mouse let save_term = &term let save_ttymouse = &ttymouse - set mouse=a term=xterm + let save_laststatus = &laststatus + set mouse=a term=xterm laststatus=2 for ttymouse_val in ['xterm', 'sgr'] exe 'set ttymouse=' . ttymouse_val @@ -197,4 +198,51 @@ func Test_xterm_mouse_drag_statusline() let &mouse = save_mouse let &term = save_term let &ttymouse = save_ttymouse + let &laststatus = save_laststatus endfunc + +func Test_xterm_mouse_click_tab() + let save_mouse = &mouse + let save_term = &term + let save_ttymouse = &ttymouse + set mouse=a term=xterm + let row = 1 + + for ttymouse_val in ['xterm', 'sgr'] + exe 'set ttymouse=' . ttymouse_val + e Xfoo + tabnew Xbar + + let a = split(execute(':tabs'), "\n") + call assert_equal(['Tab page 1', + \ ' Xfoo', + \ 'Tab page 2', + \ '> Xbar'], a) + + " Test clicking on tab names in the tabline at the top. + let col = 2 + redraw! + call MouseLeftClick(row, col) + call MouseLeftRelease(row, col) + let a = split(execute(':tabs'), "\n") + call assert_equal(['Tab page 1', + \ '> Xfoo', + \ 'Tab page 2', + \ ' Xbar'], a) + + let col = 9 + call MouseLeftClick(row, col) + call MouseLeftRelease(row, col) + let a = split(execute(':tabs'), "\n") + call assert_equal(['Tab page 1', + \ ' Xfoo', + \ 'Tab page 2', + \ '> Xbar'], a) + + %bwipe! + endfor + + let &mouse = save_mouse + let &term = save_term + let &ttymouse = save_ttymouse +endfunc