patch 8.1.0729: there is a SourcePre autocommand event but not a SourcePost

Problem:    There is a SourcePre autocommand event but not a SourcePost.
Solution:   Add the SourcePost autocommand event. (closes #3739)
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 8db2995..8d83516 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -222,6 +222,7 @@
 	test_signs \
 	test_smartindent \
 	test_sort \
+	test_source \
 	test_source_utf8 \
 	test_spell \
 	test_startup \
@@ -376,6 +377,7 @@
 	test_shortpathname.res \
 	test_signs.res \
 	test_smartindent.res \
+	test_source.res \
 	test_spell.res \
 	test_startup.res \
 	test_stat.res \
diff --git a/src/testdir/test_source.vim b/src/testdir/test_source.vim
new file mode 100644
index 0000000..a33d286
--- /dev/null
+++ b/src/testdir/test_source.vim
@@ -0,0 +1,38 @@
+" 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