diff options
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r-- | src/testdir/test_vim9_import.vim | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim index 506b0ee8d7..7878788a0d 100644 --- a/src/testdir/test_vim9_import.vim +++ b/src/testdir/test_vim9_import.vim @@ -703,6 +703,41 @@ def Test_use_autoload_import_partial_in_opfunc() set opfunc= bwipe! delete('Xdir', 'rf') + nunmap <F3> + &rtp = save_rtp +enddef + +def Test_set_opfunc_to_autoload_func_directly() + mkdir('Xdir/autoload', 'p') + var save_rtp = &rtp + exe 'set rtp^=' .. getcwd() .. '/Xdir' + + var lines =<< trim END + vim9script + export def Opfunc(..._) + g:opfunc_called = 'yes' + enddef + END + writefile(lines, 'Xdir/autoload/opfunc.vim') + + new + lines =<< trim END + vim9script + import autoload 'opfunc.vim' + nnoremap <expr> <F3> TheFunc() + def TheFunc(): string + &operatorfunc = opfunc.Opfunc + return 'g@' + enddef + feedkeys("\<F3>l", 'xt') + assert_equal('yes', g:opfunc_called) + END + CheckScriptSuccess(lines) + + set opfunc= + bwipe! + delete('Xdir', 'rf') + nunmap <F3> &rtp = save_rtp enddef |