diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/legacy/matchparen_spec.lua | 2 | ||||
-rw-r--r-- | test/functional/legacy/scroll_opt_spec.lua | 2 | ||||
-rw-r--r-- | test/old/testdir/test_diffmode.vim | 40 | ||||
-rw-r--r-- | test/old/testdir/test_edit.vim | 16 | ||||
-rw-r--r-- | test/old/testdir/test_normal.vim | 46 | ||||
-rw-r--r-- | test/old/testdir/test_scroll_opt.vim | 45 |
6 files changed, 107 insertions, 44 deletions
diff --git a/test/functional/legacy/matchparen_spec.lua b/test/functional/legacy/matchparen_spec.lua index 7b3f7bd424..adbf15d2e3 100644 --- a/test/functional/legacy/matchparen_spec.lua +++ b/test/functional/legacy/matchparen_spec.lua @@ -19,7 +19,7 @@ describe('matchparen', function() call cursor(5, 1) ]]) - feed('V<c-d><c-d>') + feed('V<c-d><c-d>3j') screen:expect([[ {17:{} | {17:}} | diff --git a/test/functional/legacy/scroll_opt_spec.lua b/test/functional/legacy/scroll_opt_spec.lua index 78028f2f44..c00993f5f7 100644 --- a/test/functional/legacy/scroll_opt_spec.lua +++ b/test/functional/legacy/scroll_opt_spec.lua @@ -740,7 +740,7 @@ describe('smoothscroll', function() | ]]) exec("call setline(92, 'a'->repeat(100))") - feed('<C-B>G') + feed('<C-L><C-B>G') -- cursor is not placed below window screen:expect([[ {1:<<<}aaaaaaaaaaaaaaaaa | 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 diff --git a/test/old/testdir/test_edit.vim b/test/old/testdir/test_edit.vim index 1e12e2341d..1bfe46c4a9 100644 --- a/test/old/testdir/test_edit.vim +++ b/test/old/testdir/test_edit.vim @@ -1318,9 +1318,9 @@ func Test_edit_PAGEUP_PAGEDOWN() call feedkeys("A\<PageUp>\<esc>", 'tnix') call assert_equal([0, 13, 1, 0], getpos('.')) call feedkeys("A\<PageUp>\<esc>", 'tnix') - call assert_equal([0, 5, 1, 0], getpos('.')) + call assert_equal([0, 10, 1, 0], getpos('.')) call feedkeys("A\<PageUp>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 2, 11, 0], getpos('.')) " <S-Up> is the same as <PageUp> " <S-Down> is the same as <PageDown> call cursor(1, 1) @@ -1341,9 +1341,9 @@ func Test_edit_PAGEUP_PAGEDOWN() call feedkeys("A\<S-Up>\<esc>", 'tnix') call assert_equal([0, 13, 1, 0], getpos('.')) call feedkeys("A\<S-Up>\<esc>", 'tnix') - call assert_equal([0, 5, 1, 0], getpos('.')) + call assert_equal([0, 10, 1, 0], getpos('.')) call feedkeys("A\<S-Up>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 2, 11, 0], getpos('.')) set nostartofline call cursor(30, 11) norm! zt @@ -1354,9 +1354,9 @@ func Test_edit_PAGEUP_PAGEDOWN() call feedkeys("A\<PageUp>\<esc>", 'tnix') call assert_equal([0, 13, 11, 0], getpos('.')) call feedkeys("A\<PageUp>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 10, 11, 0], getpos('.')) call feedkeys("A\<PageUp>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 2, 11, 0], getpos('.')) call cursor(1, 1) call feedkeys("A\<PageDown>\<esc>", 'tnix') call assert_equal([0, 9, 11, 0], getpos('.')) @@ -1379,9 +1379,9 @@ func Test_edit_PAGEUP_PAGEDOWN() call feedkeys("A\<S-Up>\<esc>", 'tnix') call assert_equal([0, 13, 11, 0], getpos('.')) call feedkeys("A\<S-Up>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 10, 11, 0], getpos('.')) call feedkeys("A\<S-Up>\<esc>", 'tnix') - call assert_equal([0, 5, 11, 0], getpos('.')) + call assert_equal([0, 2, 11, 0], getpos('.')) call cursor(1, 1) call feedkeys("A\<S-Down>\<esc>", 'tnix') call assert_equal([0, 9, 11, 0], getpos('.')) diff --git a/test/old/testdir/test_normal.vim b/test/old/testdir/test_normal.vim index d31ae488d9..937f18aa69 100644 --- a/test/old/testdir/test_normal.vim +++ b/test/old/testdir/test_normal.vim @@ -131,7 +131,7 @@ func Test_normal01_keymodel() call assert_equal([0, 1, 1, 0], getpos("'<")) call assert_equal([0, 3, 1, 0], getpos("'>")) call feedkeys("Gz\<CR>8|\<S-PageUp>y", 'xt') - call assert_equal([0, 2, 1, 0], getpos("'<")) + call assert_equal([0, 3, 1, 0], getpos("'<")) call assert_equal([0, 3, 8, 0], getpos("'>")) " Test for <S-C-Home> and <S-C-End> call cursor(2, 12) @@ -915,12 +915,10 @@ func Test_normal14_page() set scrolloff=0 100 exe "norm! $\<c-b>" - call assert_equal('92', getline('.')) call assert_equal([0, 92, 1, 0, 1], getcurpos()) 100 set nostartofline exe "norm! $\<c-b>" - call assert_equal('92', getline('.')) call assert_equal([0, 92, 2, 0, v:maxcol], getcurpos()) " cleanup set startofline @@ -1285,9 +1283,13 @@ func Test_vert_scroll_cmds() exe "normal \<C-D>" call assert_equal(46, line('.')) exe "normal \<C-U>" - call assert_equal(36, line('.')) + call assert_equal(36, line('w0')) + call assert_equal(46, line('.')) exe "normal \<C-U>" - call assert_equal(10, line('.')) + call assert_equal(1, line('w0')) + call assert_equal(40, line('.')) + exe "normal \<C-U>" + call assert_equal(30, line('.')) exe "normal \<C-U>" call assert_equal(1, line('.')) set scroll& @@ -1308,9 +1310,8 @@ func Test_vert_scroll_cmds() call assert_equal(50, line('.')) call assert_equal(100, line('w$')) normal z. - let lnum = winline() exe "normal \<C-D>" - call assert_equal(lnum, winline()) + call assert_equal(1, winline()) call assert_equal(50, line('.')) normal zt exe "normal \<C-D>" @@ -3079,7 +3080,8 @@ func Test_normal42_halfpage() call assert_equal(2, &scroll) set scroll=5 exe "norm! \<c-u>" - call assert_equal('3', getline('.')) + call assert_equal('3', getline('w0')) + call assert_equal('8', getline('.')) 1 set scrolloff=5 exe "norm! \<c-d>" @@ -3826,7 +3828,7 @@ func Test_normal_vert_scroll_longline() call assert_equal(1, winline()) exe "normal \<C-B>" call assert_equal(10, line('.')) - call assert_equal(3, winline()) + call assert_equal(10, winline()) exe "normal \<C-B>\<C-B>" call assert_equal(5, line('.')) call assert_equal(5, winline()) @@ -4182,20 +4184,34 @@ func Test_normal34_zet_large() norm! z9765405999999999999 endfunc -" Test for { and } paragraph movements in a single line -func Test_brace_single_line() - let text =<< trim [DATA] - foobar one two three - [DATA] +" Test for { and } paragraph movements and Ctrl-B in buffer with a single line +func Test_single_line_scroll() + CheckFeature textprop new - call setline(1, text) + call setline(1, ['foobar one two three']) + let vt = 'virt_above' + call prop_type_add(vt, {'highlight': 'IncSearch'}) + call prop_add(1, 0, {'type': vt, 'text': '---', 'text_align': 'above'}) 1 norm! 0} call assert_equal([0, 1, 20, 0], getpos('.')) norm! { call assert_equal([0, 1, 1, 0], getpos('.')) + + " Ctrl-B/Ctrl-U scroll up with hidden "above" virtual text. + set smoothscroll + exe "normal \<C-E>" + call assert_notequal(0, winsaveview().skipcol) + exe "normal \<C-B>" + call assert_equal(0, winsaveview().skipcol) + exe "normal \<C-E>" + call assert_notequal(0, winsaveview().skipcol) + exe "normal \<C-U>" + call assert_equal(0, winsaveview().skipcol) + + set smoothscroll& bw! endfunc diff --git a/test/old/testdir/test_scroll_opt.vim b/test/old/testdir/test_scroll_opt.vim index 8130f7a1ac..fbc714d9cc 100644 --- a/test/old/testdir/test_scroll_opt.vim +++ b/test/old/testdir/test_scroll_opt.vim @@ -832,7 +832,7 @@ func Test_smoothscroll_eob() call VerifyScreenDump(buf, 'Test_smooth_eob_1', {}) " cursor is not placed below window - call term_sendkeys(buf, ":call setline(92, 'a'->repeat(100))\<CR>\<C-B>G") + call term_sendkeys(buf, ":call setline(92, 'a'->repeat(100))\<CR>\<C-L>\<C-B>G") call VerifyScreenDump(buf, 'Test_smooth_eob_2', {}) call StopVimInTerminal(buf) @@ -1001,4 +1001,47 @@ func Test_smoothscroll_textoff_small_winwidth() set smoothscroll& number& endfunc +func Test_smoothscroll_page() + set smoothscroll + + 10split | 40vsplit + call setline(1, 'abcde '->repeat(150)) + + exe "norm! \<C-F>" + call assert_equal(400, winsaveview().skipcol) + exe "norm! \<C-F>" + call assert_equal(800, winsaveview().skipcol) + exe "norm! \<C-F>" + call assert_equal(880, winsaveview().skipcol) + exe "norm! \<C-B>" + call assert_equal(480, winsaveview().skipcol) + exe "norm! \<C-B>" + call assert_equal(80, winsaveview().skipcol) + exe "norm! \<C-B>" + call assert_equal(0, winsaveview().skipcol) + + exe "norm! \<C-D>" + call assert_equal(200, winsaveview().skipcol) + exe "norm! \<C-D>" + call assert_equal(400, winsaveview().skipcol) + exe "norm! \<C-D>" + call assert_equal(600, winsaveview().skipcol) + exe "norm! \<C-D>" + call assert_equal(800, winsaveview().skipcol) + exe "norm! \<C-D>" + call assert_equal(880, winsaveview().skipcol) + exe "norm! \<C-U>" + call assert_equal(680, winsaveview().skipcol) + exe "norm! \<C-U>" + call assert_equal(480, winsaveview().skipcol) + exe "norm! \<C-U>" + call assert_equal(280, winsaveview().skipcol) + exe "norm! \<C-U>" + call assert_equal(80, winsaveview().skipcol) + exe "norm! \<C-U>" + call assert_equal(0, winsaveview().skipcol) + + set smoothscroll& +endfunc + " vim: shiftwidth=2 sts=2 expandtab |