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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user