Mercurial > vim
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, |