summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-01-12 13:26:03 +0100
committerBram Moolenaar <Bram@vim.org>2019-01-12 13:26:03 +0100
commit2b6185287adf53343ed5f49e967ae402c64063e4 (patch)
treec20885e2be00d5dcf7bcfd9cff1c2aee966a4de7 /src/testdir
parentc3c3158756ae074052b0db2a3e3a7ba192df5330 (diff)
patch 8.1.0729: there is a SourcePre autocommand event but not a SourcePostv8.1.0729
Problem: There is a SourcePre autocommand event but not a SourcePost. Solution: Add the SourcePost autocommand event. (closes #3739)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/Make_all.mak2
-rw-r--r--src/testdir/test_source.vim38
2 files changed, 40 insertions, 0 deletions
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 8db2995721..8d8351643f 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -222,6 +222,7 @@ NEW_TESTS = \
test_signs \
test_smartindent \
test_sort \
+ test_source \
test_source_utf8 \
test_spell \
test_startup \
@@ -376,6 +377,7 @@ NEW_TESTS_RES = \
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 0000000000..a33d286e75
--- /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