forked from aniani/vim
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)
This commit is contained in:
committed by
Bram Moolenaar
parent
5d7c2df536
commit
4490ec4e83
@@ -174,8 +174,7 @@ func Test_strwidth()
|
||||
|
||||
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 @@ func Test_str2nr()
|
||||
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 @@ func Test_simplify()
|
||||
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
|
||||
|
||||
|
Reference in New Issue
Block a user