diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-07-10 15:56:42 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2022-07-10 16:15:17 +0800 |
| commit | fe2b281292b61add9042591c6dd1d08205ecd9c1 (patch) | |
| tree | bd00efac79578d999b1a57d7028cc0d97c36c6d6 /src/nvim/testdir/test_tabline.vim | |
| parent | 59355653f625373453238d615fd0f5924ccb60ff (diff) | |
| download | rneovim-fe2b281292b61add9042591c6dd1d08205ecd9c1.tar.gz rneovim-fe2b281292b61add9042591c6dd1d08205ecd9c1.tar.bz2 rneovim-fe2b281292b61add9042591c6dd1d08205ecd9c1.zip | |
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 vim/vim#6333)
https://github.com/vim/vim/commit/832adf9bb8cd39d8e982d8a35ed8a6d39b974494
Diffstat (limited to 'src/nvim/testdir/test_tabline.vim')
| -rw-r--r-- | src/nvim/testdir/test_tabline.vim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_tabline.vim b/src/nvim/testdir/test_tabline.vim index f299c971b7..e58a412c5a 100644 --- a/src/nvim/testdir/test_tabline.vim +++ b/src/nvim/testdir/test_tabline.vim @@ -72,6 +72,47 @@ func Test_redrawtabline() 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 + function EmptyTabname() return "" endfunction |