diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-04-14 12:58:23 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-04-14 12:58:23 +0100 |
commit | 8944551534b311a2d25acf6e8db235c6d906256c (patch) | |
tree | efcd900fc101768e456d5124ca1d5b2f7d064920 /src/testdir/test_vim9_import.vim | |
parent | f420ff2440a009acd9573fdb6ad6d53509d78009 (diff) |
patch 8.2.4748: cannot use an imported function in a mappingv8.2.4748
Problem: Cannot use an imported function in a mapping.
Solution: Recognize <SID>name.Func.
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r-- | src/testdir/test_vim9_import.vim | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim index 2c3792f844..94cb76033e 100644 --- a/src/testdir/test_vim9_import.vim +++ b/src/testdir/test_vim9_import.vim @@ -642,8 +642,8 @@ enddef def Test_use_import_in_mapping() var lines =<< trim END vim9script - export def Funcx() - g:result = 42 + export def Funcx(nr: number) + g:result = nr enddef END writefile(lines, 'XsomeExport.vim') @@ -651,18 +651,48 @@ def Test_use_import_in_mapping() vim9script import './XsomeExport.vim' as some var Funcy = some.Funcx - nnoremap <F3> :call <sid>Funcy()<cr> + nnoremap <F3> :call <sid>Funcy(42)<cr> + nnoremap <F4> :call <sid>some.Funcx(44)<cr> END writefile(lines, 'Xmapscript.vim') source Xmapscript.vim feedkeys("\<F3>", "xt") assert_equal(42, g:result) + feedkeys("\<F4>", "xt") + assert_equal(44, g:result) unlet g:result delete('XsomeExport.vim') delete('Xmapscript.vim') nunmap <F3> + nunmap <F4> +enddef + +def Test_use_autoload_import_in_mapping() + var lines =<< trim END + vim9script + export def Func() + g:result = 42 + enddef + END + writefile(lines, 'XautoloadExport.vim') + lines =<< trim END + vim9script + import autoload './XautoloadExport.vim' as some + nnoremap <F3> :call <SID>some.Func()<CR> + END + writefile(lines, 'Xmapscript.vim') + + source Xmapscript.vim + assert_match('\d\+ A: .*XautoloadExport.vim', execute('scriptnames')->split("\n")[-1]) + feedkeys("\<F3>", "xt") + assert_equal(42, g:result) + + unlet g:result + delete('XautoloadExport.vim') + delete('Xmapscript.vim') + nunmap <F3> enddef def Test_use_import_in_command_completion() |