Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 22318:3f5f96a8dd83 v8.2.1708
patch 8.2.1708: Vim9: error message for function has unpritable characters
Commit: https://github.com/vim/vim/commit/b185a4074515f576b420cfc7a5a07f840cf6b51f
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Sep 18 22:42:00 2020 +0200
patch 8.2.1708: Vim9: error message for function has unpritable characters
Problem: Vim9: error message for function has unpritable characters.
Solution: use printable_func_name(). (closes https://github.com/vim/vim/issues/6965)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 18 Sep 2020 22:45:04 +0200 |
parents | 41e118669df3 |
children | 56f674e7518c |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -280,6 +280,50 @@ def Test_call_wrong_args() Func([]) END CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 5) + + lines =<< trim END + vim9script + def FuncOne(nr: number) + echo nr + enddef + def FuncTwo() + FuncOne() + enddef + defcompile + END + writefile(lines, 'Xscript') + let didCatch = false + try + source Xscript + catch + assert_match('E119: Not enough arguments for function: <SNR>\d\+_FuncOne', v:exception) + assert_match('Xscript\[8\]..function <SNR>\d\+_FuncTwo, line 1', v:throwpoint) + didCatch = true + endtry + assert_true(didCatch) + + lines =<< trim END + vim9script + def FuncOne(nr: number) + echo nr + enddef + def FuncTwo() + FuncOne(1, 2) + enddef + defcompile + END + writefile(lines, 'Xscript') + didCatch = false + try + source Xscript + catch + assert_match('E118: Too many arguments for function: <SNR>\d\+_FuncOne', v:exception) + assert_match('Xscript\[8\]..function <SNR>\d\+_FuncTwo, line 1', v:throwpoint) + didCatch = true + endtry + assert_true(didCatch) + + delete('Xscript') enddef " Default arg and varargs