patch 8.2.2434: Vim9: no error when compiling str2nr() with a number
Problem: Vim9: no error when compiling str2nr() with a number.
Solution: Add argument type checks. (closes #7759)
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 776aec0..2929100 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -867,6 +867,13 @@
def Test_str2nr()
str2nr("1'000'000", 10, true)->assert_equal(1000000)
+
+ CheckDefFailure(['echo str2nr(123)'], 'E1013:')
+ CheckScriptFailure(['vim9script', 'echo str2nr(123)'], 'E1024:')
+ CheckDefFailure(['echo str2nr("123", "x")'], 'E1013:')
+ CheckScriptFailure(['vim9script', 'echo str2nr("123", "x")'], 'E1030:')
+ CheckDefFailure(['echo str2nr("123", 10, "x")'], 'E1013:')
+ CheckScriptFailure(['vim9script', 'echo str2nr("123", 10, "x")'], 'E1135:')
enddef
def Test_strchars()