Mercurial > vim
view src/testdir/test_man.vim @ 34647:6b2efa2b2386 v9.1.0208
patch 9.1.0208: winfixbuf does not allow to re-edit current buffer
Commit: https://github.com/vim/vim/commit/65e580bd5610465bb6b9c1a546b7a8d00c76aa47
Author: Colin Kennedy <colinvfx@gmail.com>
Date: Tue Mar 26 18:29:30 2024 +0100
patch 9.1.0208: winfixbuf does not allow to re-edit current buffer
Problem: winfixbuf does not allow to re-edit current buffer
(Tim Pope, after v9.1.0147)
Solution: Explicitly allow :e even when 'winfixbuf' is set,
since it just re-loads the current buffer
(Colin Kennedy)
fixes: #14237
closes: #14286
Signed-off-by: Colin Kennedy <colinvfx@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 26 Mar 2024 18:45: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