patch 8.2.3229: Vim9: runtime and compile time type checks are not the same

Problem:    Vim9: runtime and compile time type checks are not the same.
Solution:   Add more runtime type checks for builtin functions. (Yegappan
            Lakshmanan, closes #8646)
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index e0b0314..6f2797c 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -174,8 +174,7 @@
 
   if has('float')
     call assert_equal(3, strwidth(1.2))
-    call CheckDefFailure(['echo strwidth(1.2)'], 'E1013:')
-    call CheckScriptFailure(['vim9script', 'echo strwidth(1.2)'], 'E806:')
+    call CheckDefAndScriptFailure2(['echo strwidth(1.2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1')
   endif
 
   set ambiwidth&
@@ -242,8 +241,7 @@
   call assert_fails('call str2nr({->2})', 'E729:')
   if has('float')
     call assert_equal(1, str2nr(1.2))
-    call CheckDefFailure(['echo str2nr(1.2)'], 'E1013:')
-    call CheckScriptFailure(['vim9script', 'echo str2nr(1.2)'], 'E806:')
+    call CheckDefAndScriptFailure2(['echo str2nr(1.2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1')
   endif
   call assert_fails('call str2nr(10, [])', 'E745:')
 endfunc
@@ -505,8 +503,7 @@
   call assert_fails('call simplify({})', 'E731:')
   if has('float')
     call assert_equal('1.2', simplify(1.2))
-    call CheckDefFailure(['echo simplify(1.2)'], 'E1013:')
-    call CheckScriptFailure(['vim9script', 'echo simplify(1.2)'], 'E806:')
+    call CheckDefAndScriptFailure2(['echo simplify(1.2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1')
   endif
 endfunc