Mercurial > vim
diff src/testdir/test_window_cmd.vim @ 16690:4e3c4e8e465c v8.1.1347
patch 8.1.1347: fractional scroll position not restored after closing window
commit https://github.com/vim/vim/commit/bd2d68c2f42c7689f681aeaf82606d17f8a0312f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 18 15:36:11 2019 +0200
patch 8.1.1347: fractional scroll position not restored after closing window
Problem: Fractional scroll position not restored after closing window.
Solution: Do restore fraction if topline is not one.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 18 May 2019 15:45:05 +0200 |
parents | 06fd0eaada01 |
children | cb71b5e9e5d9 |
line wrap: on
line diff
--- a/src/testdir/test_window_cmd.vim +++ b/src/testdir/test_window_cmd.vim @@ -745,16 +745,8 @@ endfunc func Test_split_noscroll() let so_save = &so - new - only - - " Make sure windows can hold all content after split. - for i in range(1, 20) - wincmd + - redraw! - endfor - - call setline (1, range(1, 8)) + enew + call setline(1, range(1, 8)) normal 100% split @@ -769,12 +761,20 @@ func Test_split_noscroll() call assert_equal(1, info1.topline) call assert_equal(1, info2.topline) - " Restore original state. - for i in range(1, 20) - wincmd - - redraw! - endfor + " window that fits all lines by itself, but not when split: closing other + " window should restore fraction. only! + call setline(1, range(1, &lines - 10)) + exe &lines / 4 + let winid1 = win_getid() + let info1 = getwininfo(winid1)[0] + call assert_equal(1, info1.topline) + new + redraw + close + let info1 = getwininfo(winid1)[0] + call assert_equal(1, info1.topline) + bwipe! let &so = so_save endfunc