diff options
| author | Luuk van Baal <luukvbaal@gmail.com> | 2024-03-26 19:06:39 +0100 |
|---|---|---|
| committer | Luuk van Baal <luukvbaal@gmail.com> | 2024-03-28 10:18:09 +0100 |
| commit | 4147302f4be3fe8a5dae3f20a336477cb5f507a4 (patch) | |
| tree | 694d7ad69b0ef3e3158c9bee7d6812be9ed2db83 /test/old/testdir/test_diffmode.vim | |
| parent | 19b443251fe0405628a0aa90583e6c6512dd0fd0 (diff) | |
| download | rneovim-4147302f4be3fe8a5dae3f20a336477cb5f507a4.tar.gz rneovim-4147302f4be3fe8a5dae3f20a336477cb5f507a4.tar.bz2 rneovim-4147302f4be3fe8a5dae3f20a336477cb5f507a4.zip | |
vim-patch:9.1.0211: page-wise scrolling does not support smooth-scrolling
Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements
it's own logic to change the topline and cursor.
In doing so, skipcol is not handled properly for
'smoothscroll', and virtual lines.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying
backward compatible as much as possible.
https://github.com/vim/vim/commit/b9f5b95b7bec2414a5a96010514702d99afea18e
Diffstat (limited to 'test/old/testdir/test_diffmode.vim')
| -rw-r--r-- | test/old/testdir/test_diffmode.vim | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/test/old/testdir/test_diffmode.vim b/test/old/testdir/test_diffmode.vim index c1a63a6f88..3e7eabf8f5 100644 --- a/test/old/testdir/test_diffmode.vim +++ b/test/old/testdir/test_diffmode.vim @@ -1632,34 +1632,38 @@ endfunc func Test_diff_scroll_many_filler() 20new vnew - call setline(1, ['^^^', '^^^', '$$$', '$$$']) + call setline(1, range(1, 40)) diffthis setlocal scrolloff=0 wincmd p - call setline(1, ['^^^', '^^^'] + repeat(['###'], 41) + ['$$$', '$$$']) + call setline(1, range(1, 20)->reverse() + ['###']->repeat(41) + range(21, 40)->reverse()) diffthis setlocal scrolloff=0 wincmd p redraw " Note: need a redraw after each scroll, otherwise the test always passes. - normal! G - redraw - call assert_equal(3, winsaveview().topline) - call assert_equal(18, winsaveview().topfill) - exe "normal! \<C-B>" - redraw - call assert_equal(3, winsaveview().topline) - call assert_equal(19, winsaveview().topfill) - exe "normal! \<C-B>" - redraw - call assert_equal(2, winsaveview().topline) - call assert_equal(0, winsaveview().topfill) - exe "normal! \<C-B>" - redraw - call assert_equal(1, winsaveview().topline) - call assert_equal(0, winsaveview().topfill) + for _ in range(2) + normal! G + redraw + call assert_equal(40, winsaveview().topline) + call assert_equal(19, winsaveview().topfill) + exe "normal! \<C-B>" + redraw + call assert_equal(22, winsaveview().topline) + call assert_equal(0, winsaveview().topfill) + exe "normal! \<C-B>" + redraw + call assert_equal(4, winsaveview().topline) + call assert_equal(0, winsaveview().topfill) + exe "normal! \<C-B>" + redraw + call assert_equal(1, winsaveview().topline) + call assert_equal(0, winsaveview().topfill) + set smoothscroll + endfor + set smoothscroll& bwipe! bwipe! endfunc |