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:
committed by
Bram Moolenaar
parent
4ab1f4a32f
commit
9aee8ec400
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user