1
0
forked from aniani/vim

patch 8.2.1053: insufficient testing for 'statusline' and 'tabline'

Problem:    Insufficient testing for 'statusline' and 'tabline'.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6333)
This commit is contained in:
Bram Moolenaar
2020-06-25 19:01:36 +02:00
parent 7acde51832
commit 832adf9bb8
4 changed files with 81 additions and 6 deletions

View File

@@ -70,3 +70,46 @@ func Test_redrawtabline()
let &showtabline = showtabline_save
au! Bufadd
endfunc
" Test for the "%T" and "%X" flags in the 'tabline' option
func MyTabLine()
let s = ''
for i in range(tabpagenr('$'))
" set the tab page number (for mouse clicks)
let s .= '%' . (i + 1) . 'T'
" the label is made by MyTabLabel()
let s .= ' %{MyTabLabel(' . (i + 1) . ')} '
endfor
" after the last tab fill with TabLineFill and reset tab page nr
let s .= '%T'
" right-align the label to close the current tab page
if tabpagenr('$') > 1
let s .= '%=%Xclose'
endif
return s
endfunc
func MyTabLabel(n)
let buflist = tabpagebuflist(a:n)
let winnr = tabpagewinnr(a:n)
return bufname(buflist[winnr - 1])
endfunc
func Test_tabline_flags()
if has('gui')
set guioptions-=e
endif
set tabline=%!MyTabLine()
edit Xtabline1
tabnew Xtabline2
redrawtabline
call assert_match('^ Xtabline1 Xtabline2\s\+close$', Screenline(1))
set tabline=
%bw!
endfunc
" vim: shiftwidth=2 sts=2 expandtab