comparison src/testdir/test_vim9_func.vim @ 21821:0deb6f96a5a3 v8.2.1460

patch 8.2.1460: error messages are spread out Commit: https://github.com/vim/vim/commit/451c2e3536a3cb77d07faf3cb2b834512e174351 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Aug 15 16:33:28 2020 +0200 patch 8.2.1460: error messages are spread out Problem: Error messages are spread out. Solution: Move more messages into errors.h.
author Bram Moolenaar <Bram@vim.org>
date Sat, 15 Aug 2020 16:45:04 +0200
parents 51d4e0bc2eb7
children c8456ff7a4c3
comparison
equal deleted inserted replaced
21820:5ab859e4430b 21821:0deb6f96a5a3
267 def Func(...l: list<string>) 267 def Func(...l: list<string>)
268 echo l 268 echo l
269 enddef 269 enddef
270 Func(1, 2, 3) 270 Func(1, 2, 3)
271 END 271 END
272 CheckScriptFailure(lines, 'E1013:') 272 CheckScriptFailure(lines, 'E1012:')
273 273
274 lines =<< trim END 274 lines =<< trim END
275 vim9script 275 vim9script
276 def Func(...l: list<string>) 276 def Func(...l: list<string>)
277 echo l 277 echo l
278 enddef 278 enddef
279 Func('a', 9) 279 Func('a', 9)
280 END 280 END
281 CheckScriptFailure(lines, 'E1013:') 281 CheckScriptFailure(lines, 'E1012:')
282 282
283 lines =<< trim END 283 lines =<< trim END
284 vim9script 284 vim9script
285 def Func(...l: list<string>) 285 def Func(...l: list<string>)
286 echo l 286 echo l
287 enddef 287 enddef
288 Func(1, 'a') 288 Func(1, 'a')
289 END 289 END
290 CheckScriptFailure(lines, 'E1013:') 290 CheckScriptFailure(lines, 'E1012:')
291 enddef 291 enddef
292 292
293 def Test_call_call() 293 def Test_call_call()
294 let l = [3, 2, 1] 294 let l = [3, 2, 1]
295 call('reverse', [l]) 295 call('reverse', [l])
428 def UseNumber(nr: number) 428 def UseNumber(nr: number)
429 echo nr 429 echo nr
430 enddef 430 enddef
431 let Funcref: func(string) = function('UseNumber') 431 let Funcref: func(string) = function('UseNumber')
432 END 432 END
433 CheckScriptFailure(lines, 'E1013: type mismatch, expected func(string) but got func(number)') 433 CheckScriptFailure(lines, 'E1012: type mismatch, expected func(string) but got func(number)')
434 434
435 lines =<< trim END 435 lines =<< trim END
436 vim9script 436 vim9script
437 def EchoNr(nr = 34) 437 def EchoNr(nr = 34)
438 g:echo = nr 438 g:echo = nr
680 def MyFunc(arg: string) 680 def MyFunc(arg: string)
681 echo arg 681 echo arg
682 enddef 682 enddef
683 MyFunc(1234) 683 MyFunc(1234)
684 END 684 END
685 CheckScriptFailure(lines, 'E1013: type mismatch, expected string but got number') 685 CheckScriptFailure(lines, 'E1012: type mismatch, expected string but got number')
686 enddef 686 enddef
687 687
688 def Test_vim9script_call_fail_const() 688 def Test_vim9script_call_fail_const()
689 let lines =<< trim END 689 let lines =<< trim END
690 vim9script 690 vim9script
917 917
918 def Test_func_type_part() 918 def Test_func_type_part()
919 let RefVoid: func: void 919 let RefVoid: func: void
920 RefVoid = FuncNoArgNoRet 920 RefVoid = FuncNoArgNoRet
921 RefVoid = FuncOneArgNoRet 921 RefVoid = FuncOneArgNoRet
922 CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') 922 CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetNumber'], 'E1012: type mismatch, expected func() but got func(): number')
923 CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1013: type mismatch, expected func() but got func(): string') 923 CheckDefFailure(['let RefVoid: func: void', 'RefVoid = FuncNoArgRetString'], 'E1012: type mismatch, expected func() but got func(): string')
924 924
925 let RefAny: func(): any 925 let RefAny: func(): any
926 RefAny = FuncNoArgRetNumber 926 RefAny = FuncNoArgRetNumber
927 RefAny = FuncNoArgRetString 927 RefAny = FuncNoArgRetString
928 CheckDefFailure(['let RefAny: func(): any', 'RefAny = FuncNoArgNoRet'], 'E1013: type mismatch, expected func(): any but got func()') 928 CheckDefFailure(['let RefAny: func(): any', 'RefAny = FuncNoArgNoRet'], 'E1012: type mismatch, expected func(): any but got func()')
929 CheckDefFailure(['let RefAny: func(): any', 'RefAny = FuncOneArgNoRet'], 'E1013: type mismatch, expected func(): any but got func(number)') 929 CheckDefFailure(['let RefAny: func(): any', 'RefAny = FuncOneArgNoRet'], 'E1012: type mismatch, expected func(): any but got func(number)')
930 930
931 let RefNr: func: number 931 let RefNr: func: number
932 RefNr = FuncNoArgRetNumber 932 RefNr = FuncNoArgRetNumber
933 RefNr = FuncOneArgRetNumber 933 RefNr = FuncOneArgRetNumber
934 CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1013: type mismatch, expected func(): number but got func()') 934 CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1012: type mismatch, expected func(): number but got func()')
935 CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1013: type mismatch, expected func(): number but got func(): string') 935 CheckDefFailure(['let RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: type mismatch, expected func(): number but got func(): string')
936 936
937 let RefStr: func: string 937 let RefStr: func: string
938 RefStr = FuncNoArgRetString 938 RefStr = FuncNoArgRetString
939 RefStr = FuncOneArgRetString 939 RefStr = FuncOneArgRetString
940 CheckDefFailure(['let RefStr: func: string', 'RefStr = FuncNoArgNoRet'], 'E1013: type mismatch, expected func(): string but got func()') 940 CheckDefFailure(['let RefStr: func: string', 'RefStr = FuncNoArgNoRet'], 'E1012: type mismatch, expected func(): string but got func()')
941 CheckDefFailure(['let RefStr: func: string', 'RefStr = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func(): string but got func(): number') 941 CheckDefFailure(['let RefStr: func: string', 'RefStr = FuncNoArgRetNumber'], 'E1012: type mismatch, expected func(): string but got func(): number')
942 enddef 942 enddef
943 943
944 def Test_func_type_fails() 944 def Test_func_type_fails()
945 CheckDefFailure(['let ref1: func()'], 'E704:') 945 CheckDefFailure(['let ref1: func()'], 'E704:')
946 946
947 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') 947 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1012: type mismatch, expected func() but got func(): number')
948 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1013: type mismatch, expected func() but got func(number)') 948 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1012: type mismatch, expected func() but got func(number)')
949 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1013: type mismatch, expected func() but got func(number): number') 949 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1012: type mismatch, expected func() but got func(number): number')
950 CheckDefFailure(['let Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(bool) but got func(bool, number)') 950 CheckDefFailure(['let Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: type mismatch, expected func(bool) but got func(bool, number)')
951 CheckDefFailure(['let Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(?bool) but got func(bool, number)') 951 CheckDefFailure(['let Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: type mismatch, expected func(?bool) but got func(bool, number)')
952 CheckDefFailure(['let Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(...bool) but got func(bool, number)') 952 CheckDefFailure(['let Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1012: type mismatch, expected func(...bool) but got func(bool, number)')
953 953
954 call CheckDefFailure(['let RefWrong: func(string ,number)'], 'E1068:') 954 call CheckDefFailure(['let RefWrong: func(string ,number)'], 'E1068:')
955 call CheckDefFailure(['let RefWrong: func(string,number)'], 'E1069:') 955 call CheckDefFailure(['let RefWrong: func(string,number)'], 'E1069:')
956 call CheckDefFailure(['let RefWrong: func(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool)'], 'E740:') 956 call CheckDefFailure(['let RefWrong: func(bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool)'], 'E1005:')
957 call CheckDefFailure(['let RefWrong: func(bool):string'], 'E1069:') 957 call CheckDefFailure(['let RefWrong: func(bool):string'], 'E1069:')
958 enddef 958 enddef
959 959
960 def Test_func_return_type() 960 def Test_func_return_type()
961 let nr: number 961 let nr: number
967 967
968 let str: string 968 let str: string
969 str = FuncOneArgRetAny('yes') 969 str = FuncOneArgRetAny('yes')
970 assert_equal('yes', str) 970 assert_equal('yes', str)
971 971
972 CheckDefFailure(['let str: string', 'str = FuncNoArgRetNumber()'], 'E1013: type mismatch, expected string but got number') 972 CheckDefFailure(['let str: string', 'str = FuncNoArgRetNumber()'], 'E1012: type mismatch, expected string but got number')
973 enddef 973 enddef
974 974
975 def MultiLine( 975 def MultiLine(
976 arg1: string, 976 arg1: string,
977 arg2 = 1234, 977 arg2 = 1234,