aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/scroll_opt_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/legacy/scroll_opt_spec.lua')
-rw-r--r--test/functional/legacy/scroll_opt_spec.lua120
1 files changed, 110 insertions, 10 deletions
diff --git a/test/functional/legacy/scroll_opt_spec.lua b/test/functional/legacy/scroll_opt_spec.lua
index 97578067d5..ec1dc59d53 100644
--- a/test/functional/legacy/scroll_opt_spec.lua
+++ b/test/functional/legacy/scroll_opt_spec.lua
@@ -375,6 +375,108 @@ describe('smoothscroll', function()
screen:expect_unchanged()
end)
+ -- oldtest: Test_smoothscroll_diff_change_line()
+ it('works in diff mode when changing line', function()
+ screen:try_resize(55, 20)
+ exec([[
+ set diffopt+=followwrap smoothscroll
+ call setline(1, repeat(' abc', &columns))
+ call setline(2, 'bar')
+ call setline(3, repeat(' abc', &columns))
+ vnew
+ call setline(1, repeat(' abc', &columns))
+ call setline(2, 'foo')
+ call setline(3, 'bar')
+ call setline(4, repeat(' abc', &columns))
+ windo exe "normal! 2gg5\<C-E>"
+ windo diffthis
+ ]])
+
+ screen:expect([[
+ {1:<<<}bc abc abc abc abc abc a│{1:<<<}bc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {7: }{22:foo }│{7: }{23:-------------------------}|
+ {7: }bar │{7: }^bar |
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {1:~ }│{1:~ }|*3
+ {2:[No Name] [+] }{3:[No Name] [+] }|
+ |
+ ]])
+ feed('Abar')
+ screen:expect([[
+ {1:<<<}bc abc abc abc abc abc a│{1:<<<}bc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {7: }{22:foo }│{7: }{23:-------------------------}|
+ {7: }bar │{7: }barbar^ |
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {1:~ }│{1:~ }|*3
+ {2:[No Name] [+] }{3:[No Name] [+] }|
+ {5:-- INSERT --} |
+ ]])
+ feed('<Esc>')
+ screen:expect([[
+ {1:<<<}bc abc abc abc abc abc a│{1:<<<}bc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {7: }{27:foo}{4: }│{7: }{27:barba^r}{4: }|
+ {7: }{22:bar }│{7: }{23:-------------------------}|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {1:~ }│{1:~ }|*3
+ {2:[No Name] [+] }{3:[No Name] [+] }|
+ |
+ ]])
+ feed('yyp')
+ screen:expect([[
+ {1:<<<}bc abc abc abc abc abc a│{1:<<<}bc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {7: }{27:foo}{4: }│{7: }{27:barbar}{4: }|
+ {7: }{4:bar }│{7: }{4:^bar}{27:bar}{4: }|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc abc │{7: } abc abc abc abc abc abc |
+ {7: }abc abc abc abc abc abc a│{7: }abc abc abc abc abc abc a|
+ {7: }bc abc abc abc abc abc ab│{7: }bc abc abc abc abc abc ab|
+ {7: }c abc abc abc abc abc abc│{7: }c abc abc abc abc abc abc|
+ {7: } abc abc abc abc abc │{7: } abc abc abc abc abc |
+ {1:~ }│{1:~ }|*3
+ {2:[No Name] [+] }{3:[No Name] [+] }|
+ |
+ ]])
+ end)
+
-- oldtest: Test_smoothscroll_wrap_scrolloff_zero()
it("works with zero 'scrolloff'", function()
screen:try_resize(40, 8)
@@ -1204,16 +1306,15 @@ describe('smoothscroll', function()
set smoothscroll scrolloff=3
call setline(1, ['one', 'two long '->repeat(100), 'three', 'four', 'five', 'six'])
]])
- --FIXME: incorrect screen due to reset_skipcol()/curs_columns() shenanigans
feed(':norm j721|<CR>')
screen:expect([[
- two long two long two long two long two |
+ {1:<<<}two long two long two long two long t|
+ wo long two long two long two long two l|
+ ong two long two long two long two long |
+ ^two long two long two long two long two |
long two long two long two long two long|
two long two long two long two long two|
- ^ long two long two long two long two lon|
- g two long two long two long two long tw|
- o long two long two long two long two lo|
- ng two long two long two long two long t|
+ long two long two long two long two lon|
:norm j721| |
]])
feed('gj')
@@ -1272,15 +1373,14 @@ describe('smoothscroll', function()
:norm j721| |
]])
feed('gk')
- --FIXME: incorrect screen due to reset_skipcol()/curs_columns() shenanigans
screen:expect([[
+ {1:<<<}long two long two long two long two l|
+ ong two long two long two long two long |
two long two long two long two long two |
long two long two long two long two long|
two long two long two long two long two|
long two long two long two long two lon|
- g two long two long two long two long tw|
- o long two long two long two long two lo|
- ^ng two long two long two long two long t|
+ ^g two long two long |
:norm j721| |
]])
end)