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