comparison src/testdir/test_vim9_script.vim @ 19785:99248f0ff29d v8.2.0449

patch 8.2.0449: Vim9: crash if return type is invalid Commit: https://github.com/vim/vim/commit/cf3f8bf4ddfbc0f5ce53f0c9270dc15567f4feea Author: Bram Moolenaar <Bram@vim.org> Date: Thu Mar 26 13:15:42 2020 +0100 patch 8.2.0449: Vim9: crash if return type is invalid Problem: Vim9: crash if return type is invalid. (Yegappan Lakshmanan) Solution: Always return some type, not NULL.
author Bram Moolenaar <Bram@vim.org>
date Thu, 26 Mar 2020 13:30:04 +0100
parents 4174c4da6ff7
children 906269bf83d5
comparison
equal deleted inserted replaced
19784:39dbaf2eec63 19785:99248f0ff29d
267 def Test_return_type_wrong() 267 def Test_return_type_wrong()
268 CheckScriptFailure(['def Func(): number', 'return "a"', 'enddef'], 'expected number but got string') 268 CheckScriptFailure(['def Func(): number', 'return "a"', 'enddef'], 'expected number but got string')
269 CheckScriptFailure(['def Func(): string', 'return 1', 'enddef'], 'expected string but got number') 269 CheckScriptFailure(['def Func(): string', 'return 1', 'enddef'], 'expected string but got number')
270 CheckScriptFailure(['def Func(): void', 'return "a"', 'enddef'], 'expected void but got string') 270 CheckScriptFailure(['def Func(): void', 'return "a"', 'enddef'], 'expected void but got string')
271 CheckScriptFailure(['def Func()', 'return "a"', 'enddef'], 'expected void but got string') 271 CheckScriptFailure(['def Func()', 'return "a"', 'enddef'], 'expected void but got string')
272
273 CheckScriptFailure(['def Func(): list', 'return []', 'enddef'], 'E1008:')
274 CheckScriptFailure(['def Func(): dict', 'return {}', 'enddef'], 'E1008:')
272 enddef 275 enddef
273 276
274 def Test_arg_type_wrong() 277 def Test_arg_type_wrong()
275 CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>') 278 CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>')
276 enddef 279 enddef