summaryrefslogtreecommitdiff
path: root/src/testdir/test_termcodes.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-04-13 14:53:16 +0200
committerBram Moolenaar <Bram@vim.org>2019-04-13 14:53:16 +0200
commitca57ab54d759a3e265b19bbe31b57dfed00bbdd0 (patch)
tree495206e02dfd06d904d326f7902ca3b5b60eae58 /src/testdir/test_termcodes.vim
parent700dfaa86a96dc1d6c33b28e79438445e02edecf (diff)
downloadvim-git-ca57ab54d759a3e265b19bbe31b57dfed00bbdd0.tar.gz
patch 8.1.1165: no test for mouse clicks in the terminal tabpage linev8.1.1165
Problem: No test for mouse clicks in the terminal tabpage line. Solution: Add a test. (Dominique Pelle, closes #4247). Also init TabPageIdxs[], in case it's used before a redraw.
Diffstat (limited to 'src/testdir/test_termcodes.vim')
-rw-r--r--src/testdir/test_termcodes.vim50
1 files changed, 49 insertions, 1 deletions
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 949fa9481..9a8fe155f 100644
--- 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