Mercurial > vim
diff src/testdir/test_tabline.vim @ 32683:5dfaba11d7c3 v9.0.1672
patch 9.0.1672: tabline highlight wrong after truncated double width label
Commit: https://github.com/vim/vim/commit/d392a74c5a8af8271a33a20d37ae1a8ea422cb4b
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Jul 1 20:24:40 2023 +0100
patch 9.0.1672: tabline highlight wrong after truncated double width label
Problem: Tabline highlight wrong after truncated double width label.
Solution: Fill up half a double width character later. (closes https://github.com/vim/vim/issues/12614)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 01 Jul 2023 21:30:07 +0200 |
parents | 122cfa668b95 |
children |
line wrap: on
line diff
--- a/src/testdir/test_tabline.vim +++ b/src/testdir/test_tabline.vim @@ -133,7 +133,7 @@ func Test_tabline_empty_group() tabnew redraw! - tabclose + bw! set tabline= endfunc @@ -202,4 +202,28 @@ func Test_tabline_showcmd() call StopVimInTerminal(buf) endfunc +func TruncTabLine() + return '%1T口口%2Ta' .. repeat('b', &columns - 4) .. '%999X%#TabLine#c' +endfunc + +" Test 'tabline' with truncated double-width label at the start. +func Test_tabline_truncated_double_width() + tabnew + redraw + call assert_match('X$', Screenline(1)) + let attr_TabLineFill = screenattr(1, &columns - 1) + let attr_TabLine = screenattr(1, &columns) + call assert_notequal(attr_TabLine, attr_TabLineFill) + + set tabline=%!TruncTabLine() + redraw + call assert_equal('<a' .. repeat('b', &columns - 4) .. 'c', Screenline(1)) + call assert_equal(attr_TabLineFill, screenattr(1, &columns - 2)) + call assert_equal(attr_TabLine, screenattr(1, &columns - 1)) + call assert_equal(attr_TabLine, screenattr(1, &columns)) + + bw! + set tabline= +endfunc + " vim: shiftwidth=2 sts=2 expandtab