aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/scroll_opt_spec.lua
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-06-04 07:39:05 +0800
committerGitHub <noreply@github.com>2023-06-04 07:39:05 +0800
commit53f30de2becded95f9113b75367a9dd7563c183e (patch)
treedbb09ebf6f9582284ade524df72bb937137b0b54 /test/functional/legacy/scroll_opt_spec.lua
parent0a439e38634542fd961bb4f04b1cdda304cb1bb5 (diff)
downloadrneovim-53f30de2becded95f9113b75367a9dd7563c183e.tar.gz
rneovim-53f30de2becded95f9113b75367a9dd7563c183e.tar.bz2
rneovim-53f30de2becded95f9113b75367a9dd7563c183e.zip
vim-patch:9.0.1602: stray character visible if marker on top of double-wide char (#23897)
Problem: Stray character is visible if 'smoothscroll' marker is displayed on top of a double-wide character. Solution: When overwriting a double-width character with the 'smoothscroll' marker clear the second half. (closes vim/vim#12469) https://github.com/vim/vim/commit/ecb87dd7d3f7b9291092a7dd8fae1e59b9903252
Diffstat (limited to 'test/functional/legacy/scroll_opt_spec.lua')
-rw-r--r--test/functional/legacy/scroll_opt_spec.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/functional/legacy/scroll_opt_spec.lua b/test/functional/legacy/scroll_opt_spec.lua
index cd4c2fda8b..3320f96668 100644
--- a/test/functional/legacy/scroll_opt_spec.lua
+++ b/test/functional/legacy/scroll_opt_spec.lua
@@ -667,6 +667,32 @@ describe('smoothscroll', function()
screen:expect(s1)
end)
+ -- oldtest: Test_smoothscroll_marker_over_double_width_dump()
+ it('marker is drawn over double-width char correctly', function()
+ screen:try_resize(40, 6)
+ exec([[
+ call setline(1, 'a'->repeat(&columns) .. '口'->repeat(10))
+ setlocal smoothscroll
+ ]])
+ screen:expect([[
+ ^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|
+ 口口口口口口口口口口 |
+ ~ |
+ ~ |
+ ~ |
+ |
+ ]])
+ feed('<C-E>')
+ screen:expect([[
+ <<< 口口口口口口口^口 |
+ ~ |
+ ~ |
+ ~ |
+ ~ |
+ |
+ ]])
+ end)
+
-- oldtest: Test_smoothscroll_zero_width()
it("does not divide by zero with a narrow window", function()
screen:try_resize(12, 2)