view src/testdir/test_source.vim @ 15973:393a9a3a2da2 v8.1.0992

patch 8.1.0992: a :normal command resets the reg_executing() result commit https://github.com/vim/vim/commit/cce713ddcc0c9ab29926c28e287cbb587a959b08 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Mar 4 11:40:12 2019 +0100 patch 8.1.0992: a :normal command resets the reg_executing() result Problem: A :normal command while executing a register resets the reg_executing() result. Solution: Save and restore reg_executing. (closes #4066)
author Bram Moolenaar <Bram@vim.org>
date Mon, 04 Mar 2019 11:45:07 +0100
parents 3e2e1608efa4
children fbab59a5ee6b
line wrap: on
line source

" 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