neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit b26e242dd3d49fbc264a9616979acdacce10eac2
parent 718a8862ab6a19dd1688116623b197a9ce431da8
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Fri, 28 Apr 2023 14:00:32 +0800

vim-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 vim/vim#4247).  Also init
            TabPageIdxs[], in case it's used before a redraw.

https://github.com/vim/vim/commit/ca57ab54d759a3e265b19bbe31b57dfed00bbdd0

Co-authored-by: Bram Moolenaar <Bram@vim.org>

Diffstat:
Mtest/old/testdir/test_termcodes.vim | 53+++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 51 insertions(+), 2 deletions(-)

diff --git a/test/old/testdir/test_termcodes.vim b/test/old/testdir/test_termcodes.vim @@ -133,8 +133,9 @@ func Test_xterm_mouse_drag_statusline() let save_mouse = &mouse let save_term = &term " let save_ttymouse = &ttymouse - " set mouse=a term=xterm - set mouse=a + let save_laststatus = &laststatus + " set mouse=a term=xterm laststatus=2 + set mouse=a laststatus=2 for ttymouse_val in ['sgr'] " exe 'set ttymouse=' . ttymouse_val @@ -166,6 +167,54 @@ 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 + set mouse=a + let row = 1 + + for ttymouse_val in ['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 " Test for translation of special key codes (<xF1>, <xF2>, etc.)