summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_import.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-01-24 21:28:01 +0000
committerBram Moolenaar <Bram@vim.org>2022-01-24 21:28:01 +0000
commit3e93a2b075e99a2b3ced85227a6373be233712ff (patch)
treee34bf26f7503259ea27c2ec7c4a612e41c2b3307 /src/testdir/test_vim9_import.vim
parentdff97e65eb1bb24c44c2b7430a480888d8afb3f4 (diff)
patch 8.2.4209: partial in 'opfunc' cannot use an imported functionv8.2.4209
Problem: partial in 'opfunc' cannot use an imported function. Solution: Also expand the function name in a partial. (closes #9614)
Diffstat (limited to 'src/testdir/test_vim9_import.vim')
-rw-r--r--src/testdir/test_vim9_import.vim33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_import.vim b/src/testdir/test_vim9_import.vim
index 4e0b5332e6..506b0ee8d7 100644
--- a/src/testdir/test_vim9_import.vim
+++ b/src/testdir/test_vim9_import.vim
@@ -673,6 +673,39 @@ def Test_use_autoload_import_in_insert_completion()
&rtp = save_rtp
enddef
+def Test_use_autoload_import_partial_in_opfunc()
+ 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 = function('opfunc.Opfunc', [0])
+ return 'g@'
+ enddef
+ feedkeys("\<F3>l", 'xt')
+ assert_equal('yes', g:opfunc_called)
+ END
+ CheckScriptSuccess(lines)
+
+ set opfunc=
+ bwipe!
+ delete('Xdir', 'rf')
+ &rtp = save_rtp
+enddef
+
def Test_use_autoload_import_in_fold_expression()
mkdir('Xdir/autoload', 'p')
var save_rtp = &rtp