1
0
forked from aniani/vim

patch 9.0.1064: code for making 'shortmess' temporarily empty is repeated

Problem:    Code for making 'shortmess' temporarily empty is repeated.
Solution:   Add functions for making 'shortmess' empty and restoring it.
            (Christian Brabandt, closes #11709)
This commit is contained in:
Christian Brabandt
2022-12-16 16:41:23 +00:00
committed by Bram Moolenaar
parent 4ab1f4a32f
commit 9aee8ec400
7 changed files with 111 additions and 17 deletions

View File

@@ -4161,5 +4161,60 @@ func Test_autocmd_nested_setbufvar()
%bwipe!
endfunc
func SetupVimTest_shm()
let g:bwe = []
let g:brp = []
set shortmess+=F
let dirname='XVimTestSHM'
call mkdir(dirname, 'R')
call writefile(['test'], dirname .. '/1')
call writefile(['test'], dirname .. '/2')
call writefile(['test'], dirname .. '/3')
augroup test
autocmd!
autocmd BufWinEnter * call add(g:bwe, $'BufWinEnter: {expand('<amatch>')}')
autocmd BufReadPost * call add(g:brp, $'BufReadPost: {expand('<amatch>')}')
augroup END
call setqflist([
\ {'filename': dirname .. '/1', 'lnum': 1, 'col': 1, 'text': 'test', 'vcol': 0},
\ {'filename': dirname .. '/2', 'lnum': 1, 'col': 1, 'text': 'test', 'vcol': 0},
\ {'filename': dirname .. '/3', 'lnum': 1, 'col': 1, 'text': 'test', 'vcol': 0}
\ ])
cdo! substitute/test/TEST
" clean up
noa enew!
set shortmess&vim
augroup test
autocmd!
augroup END
augroup! test
endfunc
func Test_autocmd_shortmess()
CheckNotMSWindows
call SetupVimTest_shm()
let output = execute(':mess')->split('\n')
let info = copy(output)->filter({idx, val -> val =~# '\d of 3'} )
let bytes = copy(output)->filter({idx, val -> val =~# 'bytes'} )
" We test the following here:
" BufReadPost should have been triggered 3 times, once per file
" BufWinEnter should have been triggered 3 times, once per file
" FileInfoMessage should have been shown 3 times, regardless of shm option
" "(x of 3)" message from :cnext has been shown 3 times
call assert_equal(3, g:brp->len())
call assert_equal(3, g:bwe->len())
call assert_equal(3, info->len())
call assert_equal(3, bytes->len())
delfunc SetupVimTest_shm
endfunc
" vim: shiftwidth=2 sts=2 expandtab