local helpers = require('test.functional.helpers')(after_each) local Screen = require('test.functional.ui.screen') local clear = helpers.clear local exec = helpers.exec local feed = helpers.feed before_each(clear) describe('smoothscroll', function() local screen before_each(function() screen = Screen.new(40, 12) screen:attach() end) -- oldtest: Test_CtrlE_CtrlY_stop_at_end() it('disabled does not break and stop at end', function() exec([[ enew call setline(1, ['one', 'two']) set number ]]) feed('') screen:expect({any = " 1 ^one"}) feed('') screen:expect({any = " 2 ^two"}) end) -- oldtest: Test_smoothscroll_CtrlE_CtrlY() it('works with and ', function() exec([[ call setline(1, [ 'line one', 'word '->repeat(20), 'line three', 'long word '->repeat(7), 'line', 'line', 'line', ]) set smoothscroll scrolloff=5 :5 ]]) local s1 = [[ word word word word word word word word | word word word word word word word word | word word word word | line three | long word long word long word long word | long word long word long word | ^line | line | line | ~ | ~ | | ]] local s2 = [[ <<') screen:expect(s1) feed('') screen:expect(s2) feed('') screen:expect(s3) feed('') screen:expect(s4) feed('') screen:expect(s5) feed('') screen:expect(s6) feed('') screen:expect(s7) feed('') screen:expect(s8) exec('set foldmethod=indent') -- move the cursor so we can reuse the same dumps feed('5G') screen:expect(s1) feed('') screen:expect(s2) feed('7G') screen:expect(s7) feed('') screen:expect(s8) end) end)