From 1caad791b4655c412c35279003641e5c4d9ed28d Mon Sep 17 00:00:00 2001 From: Luuk van Baal Date: Tue, 9 May 2023 17:09:43 +0200 Subject: vim-patch:9.0.1530: cursor moves to wrong line when 'foldmethod' is "diff" Problem: Cursor moves to wrong line when 'foldmethod' is "diff". (Rick Howe) Solution: Adjust logic for scrolling. (Luuk van Baal, closes vim/vim#12364, closes vim/vim#12218) https://github.com/vim/vim/commit/aa6ba308a1498dc8da04d1d30ec0470018bf782a --- test/functional/legacy/normal_spec.lua | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 test/functional/legacy/normal_spec.lua (limited to 'test/functional/legacy/normal_spec.lua') diff --git a/test/functional/legacy/normal_spec.lua b/test/functional/legacy/normal_spec.lua new file mode 100644 index 0000000000..ba875460f5 --- /dev/null +++ b/test/functional/legacy/normal_spec.lua @@ -0,0 +1,41 @@ +local helpers = require('test.functional.helpers')(after_each) +local Screen = require('test.functional.ui.screen') +local clear = helpers.clear +local exec = helpers.exec + +before_each(clear) + +describe('normal', function() + -- oldtest: Test_normal_j_below_botline() + it([["j" does not skip lines when scrolling below botline and 'foldmethod' is not "manual"]], function() + local screen = Screen.new(40, 19) + screen:attach() + screen:set_default_attr_ids({{foreground = Screen.colors.Brown}}) + exec([[ + set number foldmethod=diff scrolloff=0 + call setline(1, map(range(1, 9), 'repeat(v:val, 200)')) + norm Lj + ]]) + screen:expect([[ + {1: 2 }222222222222222222222222222222222222| + {1: }222222222222222222222222222222222222| + {1: }222222222222222222222222222222222222| + {1: }222222222222222222222222222222222222| + {1: }222222222222222222222222222222222222| + {1: }22222222222222222222 | + {1: 3 }333333333333333333333333333333333333| + {1: }333333333333333333333333333333333333| + {1: }333333333333333333333333333333333333| + {1: }333333333333333333333333333333333333| + {1: }333333333333333333333333333333333333| + {1: }33333333333333333333 | + {1: 4 }^444444444444444444444444444444444444| + {1: }444444444444444444444444444444444444| + {1: }444444444444444444444444444444444444| + {1: }444444444444444444444444444444444444| + {1: }444444444444444444444444444444444444| + {1: }44444444444444444444 | + | + ]]) + end) +end) -- cgit