aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-04-28 14:00:32 +0800
committerzeertzjq <zeertzjq@outlook.com>2023-04-28 16:42:26 +0800
commitb26e242dd3d49fbc264a9616979acdacce10eac2 (patch)
treed5b94b8d9767c7b4a9dd9f1cc0e83f8be38f5ead
parent718a8862ab6a19dd1688116623b197a9ce431da8 (diff)
downloadrneovim-b26e242dd3d49fbc264a9616979acdacce10eac2.tar.gz
rneovim-b26e242dd3d49fbc264a9616979acdacce10eac2.tar.bz2
rneovim-b26e242dd3d49fbc264a9616979acdacce10eac2.zip
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>
-rw-r--r--test/old/testdir/test_termcodes.vim53
1 files changed, 51 insertions, 2 deletions
diff --git a/test/old/testdir/test_termcodes.vim b/test/old/testdir/test_termcodes.vim
index 546c5c821c..3ba97b270c 100644
--- 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.)