Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 27464:a14c4d3e3260 v8.2.4260
patch 8.2.4260: Vim9: can still use a global function without g:
Commit: https://github.com/vim/vim/commit/848faddb870f3ba4d84fcacd1cccb5cdbbfd9c41
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 30 15:28:30 2022 +0000
patch 8.2.4260: Vim9: can still use a global function without g:
Problem: Vim9: can still use a global function without g: at the script
level.
Solution: Also check for g: at the script level. (issue #9637)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 30 Jan 2022 16:30:04 +0100 |
parents | 4c16acb2525f |
children | 55613f0d59bc |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -340,7 +340,7 @@ enddef def Test_return_something() g:ReturnString()->assert_equal('string') g:ReturnNumber()->assert_equal(123) - assert_fails('ReturnGlobal()', 'E1012: Type mismatch; expected number but got string', '', 1, 'ReturnGlobal') + assert_fails('g:ReturnGlobal()', 'E1012: Type mismatch; expected number but got string', '', 1, 'ReturnGlobal') var lines =<< trim END vim9script @@ -943,7 +943,7 @@ def Test_local_function_shadows_global() def g:Func(): string return 'global' enddef - assert_equal('global', Func()) + assert_equal('global', g:Func()) delfunc g:Func END v9.CheckScriptSuccess(lines) @@ -1498,14 +1498,14 @@ enddef def Test_func_type_varargs() var RefDefArg: func(?string) - RefDefArg = FuncOneDefArg + RefDefArg = g:FuncOneDefArg RefDefArg() s:value->assert_equal('text') RefDefArg('some') s:value->assert_equal('some') var RefDef2Arg: func(?number, ?string): string - RefDef2Arg = FuncTwoDefArg + RefDef2Arg = g:FuncTwoDefArg RefDef2Arg()->assert_equal('123text') RefDef2Arg(99)->assert_equal('99text') RefDef2Arg(77, 'some')->assert_equal('77some') @@ -1514,7 +1514,7 @@ def Test_func_type_varargs() v9.CheckDefFailure(['var RefWrong: func(?string, string)'], 'E1007:') var RefVarargs: func(...list<string>): string - RefVarargs = FuncVarargs + RefVarargs = g:FuncVarargs RefVarargs()->assert_equal('') RefVarargs('one')->assert_equal('one') RefVarargs('one', 'two')->assert_equal('one,two') @@ -1721,7 +1721,7 @@ enddef def Test_error_in_nested_function() # Error in called function requires unwinding the call stack. - assert_fails('FuncWithForwardCall()', 'E1096:', '', 1, 'FuncWithForwardCall') + assert_fails('g:FuncWithForwardCall()', 'E1096:', '', 1, 'FuncWithForwardCall') enddef def Test_nested_function_with_nextcmd() @@ -2199,7 +2199,7 @@ def Test_func_type() s:funcResult->assert_equal(22) s:funcResult = 0 - Ref2 = FuncOneArgRetNumber + Ref2 = g:FuncOneArgRetNumber Ref2(13)->assert_equal(13) s:funcResult->assert_equal(13) enddef @@ -2232,11 +2232,11 @@ def Test_func_type_part() RefVoid = g:FuncNoArgNoRet RefVoid = g:FuncOneArgNoRet v9.CheckDefFailure(['var RefVoid: func: void', 'RefVoid = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...) but got func(): number') - v9.CheckDefFailure(['var RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...) but got func(): string') + v9.CheckDefFailure(['var RefVoid: func: void', 'RefVoid = g:FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...) but got func(): string') var RefAny: func(): any RefAny = g:FuncNoArgRetNumber - RefAny = FuncNoArgRetString + RefAny = g:FuncNoArgRetString v9.CheckDefFailure(['var RefAny: func(): any', 'RefAny = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func()') v9.CheckDefFailure(['var RefAny: func(): any', 'RefAny = g:FuncOneArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func(number)') @@ -2244,12 +2244,12 @@ def Test_func_type_part() var RefNr: func: number RefNr = g:FuncNoArgRetNumber - RefNr = FuncOneArgRetNumber + RefNr = g:FuncOneArgRetNumber v9.CheckDefFailure(['var RefNr: func: number', 'RefNr = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): number but got func()') - v9.CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string') + v9.CheckDefFailure(['var RefNr: func: number', 'RefNr = g:FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string') var RefStr: func: string - RefStr = FuncNoArgRetString + RefStr = g:FuncNoArgRetString RefStr = FuncOneArgRetString v9.CheckDefFailure(['var RefStr: func: string', 'RefStr = g:FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): string but got func()') v9.CheckDefFailure(['var RefStr: func: string', 'RefStr = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func(...): string but got func(): number') @@ -2260,7 +2260,7 @@ def Test_func_type_fails() v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = g:FuncNoArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(): number') v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = g:FuncOneArgNoRet'], 'E1012: Type mismatch; expected func() but got func(number)') - v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(number): number') + v9.CheckDefFailure(['var Ref1: func()', 'Ref1 = g:FuncOneArgRetNumber'], 'E1012: Type mismatch; expected func() but got func(number): number') v9.CheckDefFailure(['var Ref1: func(bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(bool) but got func(bool, number)') v9.CheckDefFailure(['var Ref1: func(?bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(?bool) but got func(bool, number)') v9.CheckDefFailure(['var Ref1: func(...bool)', 'Ref1 = g:FuncTwoArgNoRet'], 'E1012: Type mismatch; expected func(...bool) but got func(bool, number)') @@ -3355,7 +3355,7 @@ def Test_skip_cmds_with_silent() enddef def Test_opfunc() - nnoremap <F3> <cmd>set opfunc=Opfunc<cr>g@ + nnoremap <F3> <cmd>set opfunc=g:Opfunc<cr>g@ def g:Opfunc(_: any): string setline(1, 'ASDF') return ''