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 -- b...@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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202006251702.05PH2TK52255118%40masaka.moolenaar.net.

Raspunde prin e-mail lui