diff src/testdir/test_vim9_func.vim @ 24874:14b0b35d8488 v8.2.2975

patch 8.2.2975: Vim9: can only use an autoload function name as a string Commit: https://github.com/vim/vim/commit/f0a4069e3df904ac6bd57718ec06e56c5d7363e4 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jun 11 22:05:47 2021 +0200 patch 8.2.2975: Vim9: can only use an autoload function name as a string Problem: Vim9: can only use an autoload function name as a string. Solution: Load the autoload script when encountered. (closes https://github.com/vim/vim/issues/8124)
author Bram Moolenaar <Bram@vim.org>
date Fri, 11 Jun 2021 22:15:03 +0200
parents 193cc8bd8a2f
children 0cba2be8cbd7
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -114,6 +114,34 @@ def Test_autoload_name_mismatch()
   delete(dir, 'rf')
 enddef
 
+def Test_autoload_names()
+  var dir = 'Xdir/autoload'
+  mkdir(dir, 'p')
+
+  var lines =<< trim END
+      func foobar#function()
+        return 'yes'
+      endfunc
+      let foobar#var = 'no'
+  END
+  writefile(lines, dir .. '/foobar.vim')
+
+  var save_rtp = &rtp
+  exe 'set rtp=' .. getcwd() .. '/Xdir'
+
+  lines =<< trim END
+      assert_equal('yes', foobar#function())
+      var Function = foobar#function
+      assert_equal('yes', Function())
+
+      assert_equal('no', foobar#var)
+  END
+  CheckDefAndScriptSuccess(lines)
+
+  &rtp = save_rtp
+  delete(dir, 'rf')
+enddef
+
 def CallRecursive(n: number): number
   return CallRecursive(n + 1)
 enddef