diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-07-11 13:16:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-11 13:16:31 +0800 |
commit | 06694203e51efbabc0b49e26704dff089011fd21 (patch) | |
tree | e332f6cf47358f04478d692927cacb06422eded1 /test/functional/ui/fold_spec.lua | |
parent | 19fb573ad992b6f658b58159314eeea0c2f30953 (diff) | |
download | rneovim-06694203e51efbabc0b49e26704dff089011fd21.tar.gz rneovim-06694203e51efbabc0b49e26704dff089011fd21.tar.bz2 rneovim-06694203e51efbabc0b49e26704dff089011fd21.zip |
fix(drawline): fix missing Visual hl on double-width fold char (#24308)
Diffstat (limited to 'test/functional/ui/fold_spec.lua')
-rw-r--r-- | test/functional/ui/fold_spec.lua | 212 |
1 files changed, 196 insertions, 16 deletions
diff --git a/test/functional/ui/fold_spec.lua b/test/functional/ui/fold_spec.lua index d3119ccc42..f00fba331e 100644 --- a/test/functional/ui/fold_spec.lua +++ b/test/functional/ui/fold_spec.lua @@ -2509,18 +2509,18 @@ describe("folded lines", function() it('Folded and Visual highlights are combined #19691', function() command('hi! Visual guibg=Red') insert([[ - " foo - " {{{1 + " foofoofoofoofoofoo + " 口 {{{1 set nocp " }}}1 - " bar - " {{{1 + " barbarbarbarbarbar + " 口 {{{1 set foldmethod=marker " }}}1 - " baz]]) + " bazbazbazbazbazbaz]]) feed('gg') command('source') - feed('<C-V>G3l') + feed('<C-V>G15l') if multigrid then screen:expect([[ ## grid 1 @@ -2533,11 +2533,11 @@ describe("folded lines", function() [2:---------------------------------------------]| [3:---------------------------------------------]| ## grid 2 - {14:" fo}o | - {15:+-- }{5: 3 lines: "······························}| - {14:" ba}r | - {15:+-- }{5: 3 lines: "······························}| - {14:" b}^az | + {14:" foofoofoofoofo}ofoo | + {15:+-- 3 lines: " }{5:口···························}| + {14:" barbarbarbarba}rbar | + {15:+-- 3 lines: " }{5:口···························}| + {14:" bazbazbazbazb}^azbaz | {1:~ }| {1:~ }| ## grid 3 @@ -2545,11 +2545,191 @@ describe("folded lines", function() ]]) else screen:expect([[ - {14:" fo}o | - {15:+-- }{5: 3 lines: "······························}| - {14:" ba}r | - {15:+-- }{5: 3 lines: "······························}| - {14:" b}^az | + {14:" foofoofoofoofo}ofoo | + {15:+-- 3 lines: " }{5:口···························}| + {14:" barbarbarbarba}rbar | + {15:+-- 3 lines: " }{5:口···························}| + {14:" bazbazbazbazb}^azbaz | + {1:~ }| + {1:~ }| + {11:-- VISUAL BLOCK --} | + ]]) + end + + feed('l') + if multigrid then + screen:expect([[ + ## grid 1 + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [3:---------------------------------------------]| + ## grid 2 + {14:" foofoofoofoofoo}foo | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" barbarbarbarbar}bar | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" bazbazbazbazba}^zbaz | + {1:~ }| + {1:~ }| + ## grid 3 + {11:-- VISUAL BLOCK --} | + ]]) + else + screen:expect([[ + {14:" foofoofoofoofoo}foo | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" barbarbarbarbar}bar | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" bazbazbazbazba}^zbaz | + {1:~ }| + {1:~ }| + {11:-- VISUAL BLOCK --} | + ]]) + end + + feed('l') + if multigrid then + screen:expect([[ + ## grid 1 + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [3:---------------------------------------------]| + ## grid 2 + {14:" foofoofoofoofoof}oo | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" barbarbarbarbarb}ar | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" bazbazbazbazbaz}^baz | + {1:~ }| + {1:~ }| + ## grid 3 + {11:-- VISUAL BLOCK --} | + ]]) + else + screen:expect([[ + {14:" foofoofoofoofoof}oo | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" barbarbarbarbarb}ar | + {15:+-- 3 lines: " 口}{5:···························}| + {14:" bazbazbazbazbaz}^baz | + {1:~ }| + {1:~ }| + {11:-- VISUAL BLOCK --} | + ]]) + end + + feed('2l') + if multigrid then + screen:expect([[ + ## grid 1 + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [3:---------------------------------------------]| + ## grid 2 + {14:" foofoofoofoofoofoo} | + {15:+-- 3 lines: " 口··}{5:·························}| + {14:" barbarbarbarbarbar} | + {15:+-- 3 lines: " 口··}{5:·························}| + {14:" bazbazbazbazbazba}^z | + {1:~ }| + {1:~ }| + ## grid 3 + {11:-- VISUAL BLOCK --} | + ]]) + else + screen:expect([[ + {14:" foofoofoofoofoofoo} | + {15:+-- 3 lines: " 口··}{5:·························}| + {14:" barbarbarbarbarbar} | + {15:+-- 3 lines: " 口··}{5:·························}| + {14:" bazbazbazbazbazba}^z | + {1:~ }| + {1:~ }| + {11:-- VISUAL BLOCK --} | + ]]) + end + + feed('O16l') + if multigrid then + screen:expect([[ + ## grid 1 + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [3:---------------------------------------------]| + ## grid 2 + " foofoofoofoofo{14:ofoo} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " barbarbarbarba{14:rbar} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " bazbazbazbazba^z{14:baz} | + {1:~ }| + {1:~ }| + ## grid 3 + {11:-- VISUAL BLOCK --} | + ]]) + else + screen:expect([[ + " foofoofoofoofo{14:ofoo} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " barbarbarbarba{14:rbar} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " bazbazbazbazba^z{14:baz} | + {1:~ }| + {1:~ }| + {11:-- VISUAL BLOCK --} | + ]]) + end + + feed('l') + if multigrid then + screen:expect([[ + ## grid 1 + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [2:---------------------------------------------]| + [3:---------------------------------------------]| + ## grid 2 + " foofoofoofoofoo{14:foo} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " barbarbarbarbar{14:bar} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " bazbazbazbazbaz^b{14:az} | + {1:~ }| + {1:~ }| + ## grid 3 + {11:-- VISUAL BLOCK --} | + ]]) + else + screen:expect([[ + " foofoofoofoofoo{14:foo} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " barbarbarbarbar{14:bar} | + {5:+-- 3 lines: " }{15:口··}{5:·························}| + " bazbazbazbazbaz^b{14:az} | {1:~ }| {1:~ }| {11:-- VISUAL BLOCK --} | |