comparison src/testdir/test_vim9_func.vim @ 24695:13efbfc53054 v8.2.2886

patch 8.2.2886: various pieces of code not covered by tests Commit: https://github.com/vim/vim/commit/34fcb697240c1bc9e69417ed75db3b1a83479724 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue May 25 20:14:00 2021 +0200 patch 8.2.2886: various pieces of code not covered by tests Problem: Various pieces of code not covered by tests. Solution: Add a few more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8255)
author Bram Moolenaar <Bram@vim.org>
date Tue, 25 May 2021 20:15:03 +0200
parents 04205b7d67d5
children 7464d4c927f5
comparison
equal deleted inserted replaced
24694:44426ac4b715 24695:13efbfc53054
395 395
396 CheckScriptFailure(['def Func(arg: number = asdf)', 'enddef', 'defcompile'], 'E1001:') 396 CheckScriptFailure(['def Func(arg: number = asdf)', 'enddef', 'defcompile'], 'E1001:')
397 delfunc g:Func 397 delfunc g:Func
398 CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: Argument 1: type mismatch, expected number but got string') 398 CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: Argument 1: type mismatch, expected number but got string')
399 delfunc g:Func 399 delfunc g:Func
400 CheckDefFailure(['def Func(x: number = )', 'enddef'], 'E15:')
400 401
401 lines =<< trim END 402 lines =<< trim END
402 vim9script 403 vim9script
403 def Func(a = b == 0 ? 1 : 2, b = 0) 404 def Func(a = b == 0 ? 1 : 2, b = 0)
404 enddef 405 enddef
1313 def Test_arg_type_wrong() 1314 def Test_arg_type_wrong()
1314 CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>') 1315 CheckScriptFailure(['def Func3(items: list)', 'echo "a"', 'enddef'], 'E1008: Missing <type>')
1315 CheckScriptFailure(['def Func4(...)', 'echo "a"', 'enddef'], 'E1055: Missing name after ...') 1316 CheckScriptFailure(['def Func4(...)', 'echo "a"', 'enddef'], 'E1055: Missing name after ...')
1316 CheckScriptFailure(['def Func5(items:string)', 'echo "a"'], 'E1069:') 1317 CheckScriptFailure(['def Func5(items:string)', 'echo "a"'], 'E1069:')
1317 CheckScriptFailure(['def Func5(items)', 'echo "a"'], 'E1077:') 1318 CheckScriptFailure(['def Func5(items)', 'echo "a"'], 'E1077:')
1319 CheckScriptFailure(['def Func6(...x:list<number>)', 'echo "a"', 'enddef'], 'E1069:')
1320 CheckScriptFailure(['def Func7(...x: int)', 'echo "a"', 'enddef'], 'E1010:')
1318 enddef 1321 enddef
1319 1322
1320 def Test_white_space_before_comma() 1323 def Test_white_space_before_comma()
1321 var lines =<< trim END 1324 var lines =<< trim END
1322 vim9script 1325 vim9script
2715 2718
2716 lines =<< trim END 2719 lines =<< trim END
2717 var _ = 1 2720 var _ = 1
2718 END 2721 END
2719 CheckDefAndScriptFailure(lines, 'E1181:', 1) 2722 CheckDefAndScriptFailure(lines, 'E1181:', 1)
2723
2724 lines =<< trim END
2725 var x = _
2726 END
2727 CheckDefAndScriptFailure(lines, 'E1181:', 1)
2720 enddef 2728 enddef
2721 2729
2722 def Test_too_many_arguments() 2730 def Test_too_many_arguments()
2723 var lines =<< trim END 2731 var lines =<< trim END
2724 echo [0, 1, 2]->map(() => 123) 2732 echo [0, 1, 2]->map(() => 123)