Files
neovim/test/old/testdir/test_preview.vim
zeertzjq b03e790cdd vim-patch:9.1.0934: hard to view an existing buffer in the preview window (#31605)
Problem:  hard to view an existing buffer in the preview window
Solution: add the :pbuffer command (Yinzuo Jiang)

Similar as `:pedit` and `:buffer` command. `:pbuffer` edits buffer [N]
from the buffer list in the preview window.

`:pbuffer` can also open special buffer, for example terminal buffer.

closes: vim/vim#16222

a2a2fe841e

Cherry-pick Test_popup_and_previewwindow_dump() changes from patch
9.0.0625.
Cherry-pick Run_noroom_for_newwindow_test() changes from patches
8.2.0432 and 9.0.0363.

Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-12-17 03:34:30 +00:00

98 lines
1.9 KiB
VimL

" Tests for the preview window
source check.vim
CheckFeature quickfix
func Test_Psearch()
" this used to cause ml_get errors
help
let wincount = winnr('$')
0f
ps.
call assert_equal(wincount + 1, winnr('$'))
pclose
call assert_equal(wincount, winnr('$'))
bwipe
endfunc
func s:goto_preview_and_close()
" Go to the preview window
wincmd P
call assert_equal(1, &previewwindow)
call assert_equal('preview', win_gettype())
" Close preview window
wincmd z
call assert_equal(1, winnr('$'))
call assert_equal(0, &previewwindow)
call assert_fails('wincmd P', 'E441:')
endfunc
func Test_window_preview()
CheckFeature quickfix
" Open a preview window
pedit Xa
call assert_equal(2, winnr('$'))
call assert_equal(0, &previewwindow)
call s:goto_preview_and_close()
endfunc
func Test_window_preview_from_pbuffer()
CheckFeature quickfix
call writefile(['/* some C code */'], 'Xpreview.c', 'D')
edit Xpreview.c
const buf_num = bufnr('%')
enew
call assert_equal(1, winnr('$'))
exe 'pbuffer ' . buf_num
call assert_equal(2, winnr('$'))
call assert_equal(0, &previewwindow)
call s:goto_preview_and_close()
endfunc
func Test_window_preview_terminal()
CheckFeature quickfix
" CheckFeature terminal
term " ++curwin
const buf_num = bufnr('$')
call assert_equal(1, winnr('$'))
exe 'pbuffer' . buf_num
call assert_equal(2, winnr('$'))
call assert_equal(0, &previewwindow)
call s:goto_preview_and_close()
endfunc
func Test_window_preview_from_help()
CheckFeature quickfix
filetype on
call writefile(['/* some C code */'], 'Xpreview.c')
help
pedit Xpreview.c
wincmd P
call assert_equal(1, &previewwindow)
call assert_equal('c', &filetype)
wincmd z
filetype off
close
call delete('Xpreview.c')
endfunc
func Test_multiple_preview_windows()
new
set previewwindow
new
call assert_fails('set previewwindow', 'E590:')
%bw!
endfunc
" vim: shiftwidth=2 sts=2 expandtab