forked from aniani/vim
Problem: There is a SourcePre autocommand event but not a SourcePost. Solution: Add the SourcePost autocommand event. (closes #3739)
39 lines
892 B
VimL
39 lines
892 B
VimL
" Tests for the :source command.
|
|
|
|
func Test_source_autocmd()
|
|
call writefile([
|
|
\ 'let did_source = 1',
|
|
\ ], 'Xsourced')
|
|
au SourcePre *source* let did_source_pre = 1
|
|
au SourcePost *source* let did_source_post = 1
|
|
|
|
source Xsourced
|
|
|
|
call assert_equal(g:did_source, 1)
|
|
call assert_equal(g:did_source_pre, 1)
|
|
call assert_equal(g:did_source_post, 1)
|
|
|
|
call delete('Xsourced')
|
|
au! SourcePre
|
|
au! SourcePost
|
|
unlet g:did_source
|
|
unlet g:did_source_pre
|
|
unlet g:did_source_post
|
|
endfunc
|
|
|
|
func Test_source_cmd()
|
|
au SourceCmd *source* let did_source = expand('<afile>')
|
|
au SourcePre *source* let did_source_pre = 2
|
|
au SourcePost *source* let did_source_post = 2
|
|
|
|
source Xsourced
|
|
|
|
call assert_equal(g:did_source, 'Xsourced')
|
|
call assert_false(exists('g:did_source_pre'))
|
|
call assert_equal(g:did_source_post, 2)
|
|
|
|
au! SourceCmd
|
|
au! SourcePre
|
|
au! SourcePost
|
|
endfunc
|