| " Test for reset 'scroll' and 'smoothscroll' |
| |
| source check.vim |
| source screendump.vim |
| |
| func Test_reset_scroll() |
| let scr = &l:scroll |
| |
| setlocal scroll=1 |
| setlocal scroll& |
| call assert_equal(scr, &l:scroll) |
| |
| setlocal scroll=1 |
| setlocal scroll=0 |
| call assert_equal(scr, &l:scroll) |
| |
| try |
| execute 'setlocal scroll=' . (winheight(0) + 1) |
| " not reached |
| call assert_false(1) |
| catch |
| call assert_exception('E49:') |
| endtry |
| |
| split |
| |
| let scr = &l:scroll |
| |
| setlocal scroll=1 |
| setlocal scroll& |
| call assert_equal(scr, &l:scroll) |
| |
| setlocal scroll=1 |
| setlocal scroll=0 |
| call assert_equal(scr, &l:scroll) |
| |
| quit! |
| endfunc |
| |
| func Test_smoothscroll_CtrlE_CtrlY() |
| CheckScreendump |
| |
| let lines =<< trim END |
| vim9script |
| setline(1, [ |
| 'line one', |
| 'word '->repeat(20), |
| 'line three', |
| 'long word '->repeat(7), |
| 'line', |
| 'line', |
| 'line', |
| ]) |
| set smoothscroll |
| :5 |
| END |
| call writefile(lines, 'XSmoothScroll', 'D') |
| let buf = RunVimInTerminal('-S XSmoothScroll', #{rows: 12, cols: 40}) |
| |
| call term_sendkeys(buf, "\<C-E>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_1', {}) |
| call term_sendkeys(buf, "\<C-E>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_2', {}) |
| call term_sendkeys(buf, "\<C-E>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_3', {}) |
| call term_sendkeys(buf, "\<C-E>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_4', {}) |
| |
| call term_sendkeys(buf, "\<C-Y>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_5', {}) |
| call term_sendkeys(buf, "\<C-Y>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_6', {}) |
| call term_sendkeys(buf, "\<C-Y>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_7', {}) |
| call term_sendkeys(buf, "\<C-Y>") |
| call VerifyScreenDump(buf, 'Test_smoothscroll_8', {}) |
| |
| call StopVimInTerminal(buf) |
| endfunc |
| |
| |
| |
| " vim: shiftwidth=2 sts=2 expandtab |