Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 20140:39a18a0df429 v8.2.0625
patch 8.2.0625: Vim9: confusing error when calling unknown function
Commit: https://github.com/vim/vim/commit/1df8b3fb04ce8732a0be680273c95eb4e9f5e85d
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Apr 23 18:13:23 2020 +0200
patch 8.2.0625: Vim9: confusing error when calling unknown function
Problem: Vim9: confusing error when calling unknown function.
Solution: Give error while compiling.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 23 Apr 2020 18:15:04 +0200 |
parents | 8fb1cf4c44d5 |
children | fe8d0a4344df |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -193,10 +193,23 @@ def Test_using_var_as_arg() enddef def Test_call_func_defined_later() - call assert_equal('one', DefinedLater('one')) + call assert_equal('one', g:DefinedLater('one')) call assert_fails('call NotDefined("one")', 'E117:') enddef +func DefinedLater(arg) + return a:arg +endfunc + +def Test_call_funcref() + assert_equal(3, g:SomeFunc('abc')) + assert_fails('NotAFunc()', 'E117:') + assert_fails('g:NotAFunc()', 'E117:') +enddef + +let SomeFunc = function('len') +let NotAFunc = 'text' + def CombineFuncrefTypes() " same arguments, different return type let Ref1: func(bool): string @@ -217,12 +230,8 @@ def CombineFuncrefTypes() Refb3 = g:cond ? Refb1 : Refb2 enddef -func DefinedLater(arg) - return a:arg -endfunc - def FuncWithForwardCall() - return DefinedEvenLater("yes") + return g:DefinedEvenLater("yes") enddef def DefinedEvenLater(arg: string): string @@ -372,9 +381,9 @@ def Test_redef_failure() so Xdef call delete('Xdef') - call assert_equal(0, Func0()) - call assert_equal('Func1', Func1()) - call assert_equal('Func2', Func2()) + call assert_equal(0, g:Func0()) + call assert_equal('Func1', g:Func1()) + call assert_equal('Func2', g:Func2()) delfunc! Func0 delfunc! Func1