Mercurial > vim
comparison src/testdir/test_vim9_func.vim @ 19985:f863aa96cae5 v8.2.0548
patch 8.2.0548: Vim9: not all possible func type errors tested
Commit: https://github.com/vim/vim/commit/08938eeba463e98d23ba7b88e81bd252c981d235
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 11 23:17:17 2020 +0200
patch 8.2.0548: Vim9: not all possible func type errors tested
Problem: Vim9: not all possible func type errors tested.
Solution: Add more tests.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 11 Apr 2020 23:30:04 +0200 |
parents | 4e8e0ce576af |
children | efe864a7ce4f |
comparison
equal
deleted
inserted
replaced
19984:f6ec09f04b0c | 19985:f863aa96cae5 |
---|---|
440 def FuncOneArgRetNumber(arg: number): number | 440 def FuncOneArgRetNumber(arg: number): number |
441 funcResult = arg | 441 funcResult = arg |
442 return arg | 442 return arg |
443 enddef | 443 enddef |
444 | 444 |
445 def FuncTwoArgNoRet(one: bool, two: number) | |
446 funcResult = two | |
447 enddef | |
448 | |
445 def FuncOneArgRetString(arg: string): string | 449 def FuncOneArgRetString(arg: string): string |
446 return arg | 450 return arg |
447 enddef | 451 enddef |
448 | 452 |
449 def FuncOneArgRetAny(arg: any): any | 453 def FuncOneArgRetAny(arg: any): any |
509 CheckDefFailure(['let ref1: func()'], 'E704:') | 513 CheckDefFailure(['let ref1: func()'], 'E704:') |
510 | 514 |
511 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') | 515 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncNoArgRetNumber'], 'E1013: type mismatch, expected func() but got func(): number') |
512 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1013: type mismatch, expected func() but got func(number)') | 516 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgNoRet'], 'E1013: type mismatch, expected func() but got func(number)') |
513 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1013: type mismatch, expected func() but got func(number): number') | 517 CheckDefFailure(['let Ref1: func()', 'Ref1 = FuncOneArgRetNumber'], 'E1013: type mismatch, expected func() but got func(number): number') |
518 CheckDefFailure(['let Ref1: func(bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(bool) but got func(bool, number)') | |
519 CheckDefFailure(['let Ref1: func(?bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(?bool) but got func(bool, number)') | |
520 CheckDefFailure(['let Ref1: func(...bool)', 'Ref1 = FuncTwoArgNoRet'], 'E1013: type mismatch, expected func(...bool) but got func(bool, number)') | |
521 | |
522 call CheckDefFailure(['let RefWrong: func(string ,number)'], 'E1068:') | |
523 call CheckDefFailure(['let RefWrong: func(string,number)'], 'E1069:') | |
524 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:') | |
525 call CheckDefFailure(['let RefWrong: func(bool):string'], 'E1069:') | |
514 enddef | 526 enddef |
515 | 527 |
516 def Test_func_return_type() | 528 def Test_func_return_type() |
517 let nr: number | 529 let nr: number |
518 nr = FuncNoArgRetNumber() | 530 nr = FuncNoArgRetNumber() |