aboutsummaryrefslogtreecommitdiff
path: root/test/old/testdir/test_scroll_opt.vim
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2024-04-03 23:06:23 +0200
committerLuuk van Baal <luukvbaal@gmail.com>2024-04-08 23:15:43 +0200
commite21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b (patch)
tree772262a17c90d4b9a7ecfae87f0b5d8fa5ad4a90 /test/old/testdir/test_scroll_opt.vim
parente6cfa22c4cd5b3b422aa4f8350c8e73a3eb2a090 (diff)
downloadrneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.tar.gz
rneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.tar.bz2
rneovim-e21423bb35077fe4bbb6a8fab1000e8bfc6b6b7b.zip
vim-patch:9.1.0260: Problems with "zb" and scrolling to new topline with 'smoothscroll'
Problem: "zb" does not reveal filler lines at the start of a buffer. Scrolled cursor position with 'smoothscroll' is unpredictable, and may reset skipcol later if it is not visible (after v9.1.258) Solution: Replace confusing for loop that reaches final control value too early with while loop. Set "w_curswant" accordingly so cursor will be placed in visible part of topline. (Luuk van Baal) https://github.com/vim/vim/commit/bd28cae1f1c21c0e3743e3427c98bbd848fad237
Diffstat (limited to 'test/old/testdir/test_scroll_opt.vim')
-rw-r--r--test/old/testdir/test_scroll_opt.vim9
1 files changed, 8 insertions, 1 deletions
diff --git a/test/old/testdir/test_scroll_opt.vim b/test/old/testdir/test_scroll_opt.vim
index 4e551cdaad..d381456032 100644
--- a/test/old/testdir/test_scroll_opt.vim
+++ b/test/old/testdir/test_scroll_opt.vim
@@ -1021,6 +1021,8 @@ func Test_smoothscroll_page()
call assert_equal(0, winsaveview().skipcol)
" Half-page scrolling does not go beyond end of buffer and moves the cursor.
+ " Even with 'nostartofline', the correct amount of lines is scrolled.
+ setl nostartofline
exe "norm! 0\<C-D>"
call assert_equal(200, winsaveview().skipcol)
call assert_equal(204, col('.'))
@@ -1044,7 +1046,7 @@ func Test_smoothscroll_page()
call assert_equal(204, col('.'))
exe "norm! \<C-U>"
call assert_equal(0, winsaveview().skipcol)
- call assert_equal(1, col('.'))
+ call assert_equal(40, col('.'))
bwipe!
endfunc
@@ -1062,6 +1064,11 @@ func Test_smoothscroll_next_topline()
redraw
call assert_equal(0, winsaveview().skipcol)
+ " Also when scrolling back.
+ exe "norm! G\<C-Y>"
+ redraw
+ call assert_equal(880, winsaveview().skipcol)
+
" Cursor in correct place when not in the first screenline of a buffer line.
exe "norm! gg4gj20\<C-D>\<C-D>"
redraw