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