Mercurial > vim
view src/testdir/test_close_count.vim @ 34665:ca2da8e8fb53 v9.1.0215
patch 9.1.0215: Half-page scrolling does not support smooth-scrolling
Commit: https://github.com/vim/vim/commit/5a2e3ec9ac72b6e644fea4ebba7e632498296e2f
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Thu Mar 28 10:07:29 2024 +0100
patch 9.1.0215: Half-page scrolling does not support smooth-scrolling
Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements
it's own logic to change the topline and cursor.
More logic than necessary for scrolling with Ctrl-F/Ctrl-B
was removed in patch 9.1.0211.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
staying backward compatible as much as possible.
Restore some of the logic that determined how many lines will
be scrolled (Luuk van Baal)
closes: #14316
Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 10:15:08 +0100 |
parents | 08940efa6b4e |
children |
line wrap: on
line source
" Tests for :[count]close! command func Test_close_count() enew! | only let wids = [win_getid()] for i in range(5) new call add(wids, win_getid()) endfor 4wincmd w close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) 1close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) $close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1]], ids) 1wincmd w 2close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[1]], ids) 1wincmd w new call add(wids, win_getid()) new call add(wids, win_getid()) 2wincmd w -1close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[6], wids[4], wids[1]], ids) 2wincmd w +1close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[6], wids[4]], ids) only! endfunc " Tests for :[count]hide command func Test_hide_count() enew! | only let wids = [win_getid()] for i in range(5) new call add(wids, win_getid()) endfor 4wincmd w .hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) 1hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) $hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1]], ids) 1wincmd w 2hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[1]], ids) 1wincmd w new call add(wids, win_getid()) new call add(wids, win_getid()) 3wincmd w -hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[7], wids[4], wids[1]], ids) 2wincmd w +hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[7], wids[4]], ids) only! endfunc " Tests for :[count]close! command with 'hidden' func Test_hidden_close_count() enew! | only let wids = [win_getid()] for i in range(5) new call add(wids, win_getid()) endfor set hidden $ hide let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[4], wids[3], wids[2], wids[1]], ids) $-1 close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[4], wids[3], wids[1]], ids) 1wincmd w .+close! let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[3], wids[1]], ids) set nohidden only! endfunc " Tests for 'CTRL-W c' command to close windows. func Test_winclose_command() enew! | only let wids = [win_getid()] for i in range(5) new call add(wids, win_getid()) endfor set hidden 4wincmd w exe "normal \<C-W>c" let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[5], wids[4], wids[3], wids[1], wids[0]], ids) exe "normal 1\<C-W>c" let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1], wids[0]], ids) exe "normal 9\<C-W>c" let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[3], wids[1]], ids) 1wincmd w exe "normal 2\<C-W>c" let ids = [] windo call add(ids, win_getid()) call assert_equal([wids[4], wids[1]], ids) set nohidden only! endfunc " vim: shiftwidth=2 sts=2 expandtab