0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

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

@@ -2585,7 +2585,7 @@ func Test_autocmd_window()
edit one.txt
tabnew two.txt
let g:blist = []
augroup aucmd_win_test
augroup aucmd_win_test1
au!
au BufEnter * call add(g:blist, [expand('<afile>'),
\ win_gettype(bufwinnr(expand('<afile>')))])
@@ -2594,10 +2594,29 @@ func Test_autocmd_window()
doautoall BufEnter
call assert_equal([['one.txt', 'autocmd'], ['two.txt', '']], g:blist)
augroup aucmd_win_test
augroup aucmd_win_test1
au!
augroup END
augroup! aucmd_win_test
augroup! aucmd_win_test1
%bw!
endfunc
" Test for trying to close the temporary window used for executing an autocmd
func Test_close_autocmd_window()
%bw!
edit one.txt
tabnew two.txt
augroup aucmd_win_test2
au!
au BufEnter * if expand('<afile>') == 'one.txt' | 1close | endif
augroup END
call assert_fails('doautoall BufEnter', 'E813:')
augroup aucmd_win_test2
au!
augroup END
augroup! aucmd_win_test2
%bw!
endfunc

View File

@@ -1,10 +1,7 @@
" Test 'statusline'
"
" Not tested yet:
" %a
" %N
" %T
" %X
source view_util.vim
source check.vim
@@ -105,6 +102,18 @@ func Test_statusline()
set statusline=%F
call assert_match('/testdir/Xstatusline\s*$', s:get_statusline())
" Test for min and max width with %(. For some reason, if this test is moved
" after the below test for the help buffer flag, then the code to truncate
" the string is not executed.
set statusline=%015(%f%)
call assert_match('^ Xstatusline\s*$', s:get_statusline())
set statusline=%.6(%f%)
call assert_match('^<sline\s*$', s:get_statusline())
set statusline=%14f
call assert_match('^ Xstatusline\s*$', s:get_statusline())
set statusline=%.4L
call assert_match('^10>3\s*$', s:get_statusline())
" %h: Help buffer flag, text is "[help]".
" %H: Help buffer flag, text is ",HLP".
set statusline=%h,%H
@@ -423,3 +432,5 @@ func Test_statusline_removed_group()
call StopVimInTerminal(buf)
call delete('XTest_statusline')
endfunc
" vim: shiftwidth=2 sts=2 expandtab

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

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1053,
/**/
1052,
/**/