Mercurial > vim
view src/testdir/test_man.vim @ 24108:0a5eba7e6660 v8.2.2595
patch 8.2.2595: setting 'winminheight' may cause 'lines' to change
Commit: https://github.com/vim/vim/commit/9e813b3dea94a8952b732a224fa31beba6e85973
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 13 14:29:05 2021 +0100
patch 8.2.2595: setting 'winminheight' may cause 'lines' to change
Problem: Setting 'winminheight' may cause 'lines' to change.
Solution: Also take minimal height of other tabpages into account. (https://github.com/vim/vim/issues/7899)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 13 Mar 2021 14:30:03 +0100 |
parents | 3aaaa65dcf6e |
children |
line wrap: on
line source
" Test specifically for the Man filetype plugin. runtime ftplugin/man.vim func Test_g_ft_man_open_mode() vnew let l:h = winheight(1) q let l:w = winwidth(1) " split horizontally let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) call assert_true(l:h > winheight(1)) call assert_equal(1, tabpagenr('$')) call assert_equal(1, tabpagenr()) q " split horizontally let g:ft_man_open_mode = "horz" Man vim call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) call assert_true(l:h > winheight(1)) call assert_equal(1, tabpagenr('$')) call assert_equal(1, tabpagenr()) q " split vertically let g:ft_man_open_mode = "vert" Man vim call assert_true(l:w > winwidth(1)) call assert_equal(l:h, winheight(1)) call assert_equal(1, tabpagenr('$')) call assert_equal(1, tabpagenr()) q " separate tab let g:ft_man_open_mode = "tab" Man vim call assert_inrange(l:w - 2, l:w + 2, winwidth(1)) call assert_inrange(l:h - 1, l:h + 1, winheight(1)) call assert_equal(2, tabpagenr('$')) call assert_equal(2, tabpagenr()) q unlet g:ft_man_open_mode endfunc func Test_nomodifiable() let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_false(&l:modifiable) q endfunc func Test_buffer_count_hidden() %bw! set hidden call assert_equal(1, len(getbufinfo())) let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_equal(1, len(getbufinfo({'buflisted':1}))) call assert_equal(2, len(getbufinfo())) q Man vim call assert_equal(1, len(getbufinfo({'buflisted':1}))) call assert_equal(2, len(getbufinfo())) q set hidden& endfunc " Check that we do not alter the settings in the initial window. func Test_local_options() %bw! set foldcolumn=1 number let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif " man page call assert_false(&nu) call assert_equal(0, &fdc) " initial window wincmd p call assert_true(&nu) call assert_equal(1, &fdc) %bw! set foldcolumn& number& endfunc " Check that the unnamed register is not overwritten. func Test_keep_unnamed_register() %bw! let @" = '---' let wincnt = winnr('$') Man vim if wincnt == winnr('$') " Vim manual page cannot be found. return endif call assert_equal('---', @") %bw! endfunc " Check that underlying shell command arguments are escaped. func Test_Man_uses_shellescape() Man `touch\ Xbar` `touch\ Xfoo` redir => msg 1messages redir END call assert_match('no manual entry for "`touch Xfoo`"', msg) call assert_false(filereadable('Xbar')) call assert_false(filereadable('Xfoo')) endfunc " vim: shiftwidth=2 sts=2 expandtab