summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_import.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-22 11:27:29 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-22 11:27:29 +0000
commitb697dc295d0625bf2445649f03019f9b8fccc1a8 (patch)
tree5dccc253b9b1b5e7a6469c74f63ca3682b29c6d4 /src/testdir/test_vim9_import.vim
parent3d8e25a6d2660432df033cdad29f981ffe6ae0fc (diff)
patch 8.2.4177: Vim9: autoload script not loaded after "vim9script noclear"v8.2.4177
Problem: Vim9: autoload script not loaded after "vim9script noclear". Solution: Check IMP_FLAGS_AUTOLOAD properly.
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r--src/testdir/test_vim9_import.vim42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index f06bea2c87..df22a7719c 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -1535,6 +1535,48 @@ def Test_vim9script_autoload_call()
&rtp = save_rtp
enddef
+def Test_vim9script_noclear_autoload()
+ mkdir('Xdir/autoload', 'p')
+ var save_rtp = &rtp
+ exe 'set rtp^=' .. getcwd() .. '/Xdir'
+
+ var lines =<< trim END
+ vim9script
+ export def Func(): string
+ return 'called'
+ enddef
+ g:double_loaded = 'yes'
+ END
+ writefile(lines, 'Xdir/autoload/double.vim')
+
+ lines =<< trim END
+ vim9script noclear
+ if exists('g:script_loaded')
+ finish
+ endif
+ g:script_loaded = true
+
+ import autoload 'double.vim'
+ nnoremap <F3> <ScriptCmd>g:result = double.Func()<CR>
+ END
+ g:double_loaded = 'no'
+ writefile(lines, 'Xloaddouble')
+ source Xloaddouble
+ assert_equal('no', g:double_loaded)
+ assert_equal(true, g:script_loaded)
+ source Xloaddouble
+ feedkeys("\<F3>", 'xt')
+ assert_equal('called', g:result)
+ assert_equal('yes', g:double_loaded)
+
+ delete('Xloaddouble')
+ unlet g:double_loaded
+ unlet g:script_loaded
+ unlet g:result
+ delete('Xdir', 'rf')
+ &rtp = save_rtp
+enddef
+
def Test_vim9script_autoload_duplicate()
mkdir('Xdir/autoload', 'p')