Patch 8.2.1053

5 views
Skip to first unread message

Bram Moolenaar

unread,
Jun 25, 2020, 1:02:38 PM6/25/20
to vim...@googlegroups.com

Patch 8.2.1053
Problem: Insufficient testing for 'statusline' and 'tabline'.
Solution: Add more tests. (Yegappan Lakshmanan, closes #6333)
Files: src/testdir/test_autocmd.vim, src/testdir/test_statusline.vim,
src/testdir/test_tabline.vim


*** ../vim-8.2.1052/src/testdir/test_autocmd.vim 2020-06-17 21:41:31.973819210 +0200
--- src/testdir/test_autocmd.vim 2020-06-25 19:00:26.009946939 +0200
***************
*** 2585,2591 ****
edit one.txt
tabnew two.txt
let g:blist = []
! augroup aucmd_win_test
au!
au BufEnter * call add(g:blist, [expand('<afile>'),
\ win_gettype(bufwinnr(expand('<afile>')))])
--- 2585,2591 ----
edit one.txt
tabnew two.txt
let g:blist = []
! augroup aucmd_win_test1
au!
au BufEnter * call add(g:blist, [expand('<afile>'),
\ win_gettype(bufwinnr(expand('<afile>')))])
***************
*** 2594,2603 ****
doautoall BufEnter
call assert_equal([['one.txt', 'autocmd'], ['two.txt', '']], g:blist)

! augroup aucmd_win_test
au!
augroup END
! augroup! aucmd_win_test
%bw!
endfunc

--- 2594,2622 ----
doautoall BufEnter
call assert_equal([['one.txt', 'autocmd'], ['two.txt', '']], g:blist)

! augroup aucmd_win_test1
au!
augroup END
! 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

*** ../vim-8.2.1052/src/testdir/test_statusline.vim 2020-06-23 20:00:46.874793599 +0200
--- src/testdir/test_statusline.vim 2020-06-25 19:00:26.009946939 +0200
***************
*** 1,10 ****
" Test 'statusline'
"
" Not tested yet:
- " %a
" %N
- " %T
- " %X

source view_util.vim
source check.vim
--- 1,7 ----
***************
*** 105,110 ****
--- 102,119 ----
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,425 ****
--- 432,436 ----
call StopVimInTerminal(buf)
call delete('XTest_statusline')
endfunc
+
+ " vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.2.1052/src/testdir/test_tabline.vim 2019-01-08 21:58:51.000000000 +0100
--- src/testdir/test_tabline.vim 2020-06-25 19:00:26.009946939 +0200
***************
*** 70,72 ****
--- 70,115 ----
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
*** ../vim-8.2.1052/src/version.c 2020-06-24 23:02:36.860095536 +0200
--- src/version.c 2020-06-25 19:00:51.329909151 +0200
***************
*** 756,757 ****
--- 756,759 ----
{ /* Add new patch number below this line */
+ /**/
+ 1053,
/**/

--
Every person is responsible for the choices he makes.

/// Bram Moolenaar -- Br...@Moolenaar.net -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
Reply all
Reply to author
Forward
0 new messages