comparison src/testdir/test_vim9_func.vim @ 29008:49d8b54802f3 v8.2.5026

patch 8.2.5026: Vim9: a few lines not covered by tests Commit: https://github.com/vim/vim/commit/31d9948e3a2529c2f619d56bdb48291dc261233d Author: Bram Moolenaar <Bram@vim.org> Date: Thu May 26 22:24:43 2022 +0100 patch 8.2.5026: Vim9: a few lines not covered by tests Problem: Vim9: a few lines not covered by tests. Solution: Delete dead code. Add a few test cases. make "12->func()" work.
author Bram Moolenaar <Bram@vim.org>
date Thu, 26 May 2022 23:30:05 +0200
parents ba083decce5d
children aeba55253de4
comparison
equal deleted inserted replaced
29007:0e8c870971f7 29008:49d8b54802f3
4049 4049
4050 lines =<< trim END 4050 lines =<< trim END
4051 echo [0, 1, 2]->map((_) => 123) 4051 echo [0, 1, 2]->map((_) => 123)
4052 END 4052 END
4053 v9.CheckDefAndScriptFailure(lines, ['E176', 'E1106: One argument too many'], 1) 4053 v9.CheckDefAndScriptFailure(lines, ['E176', 'E1106: One argument too many'], 1)
4054
4055 lines =<< trim END
4056 vim9script
4057 def OneArgument(arg: string)
4058 echo arg
4059 enddef
4060 var Ref = OneArgument
4061 Ref('a', 'b')
4062 END
4063 v9.CheckScriptFailure(lines, 'E118:')
4064 enddef
4065
4066 def Test_funcref_with_base()
4067 var lines =<< trim END
4068 vim9script
4069 def TwoArguments(str: string, nr: number)
4070 echo str nr
4071 enddef
4072 var Ref = TwoArguments
4073 Ref('a', 12)
4074 'b'->Ref(34)
4075 END
4076 v9.CheckScriptSuccess(lines)
4077
4078 lines =<< trim END
4079 vim9script
4080 def TwoArguments(str: string, nr: number)
4081 echo str nr
4082 enddef
4083 var Ref = TwoArguments
4084 'a'->Ref('b')
4085 END
4086 v9.CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected number but got string', 6)
4087
4088 lines =<< trim END
4089 vim9script
4090 def TwoArguments(str: string, nr: number)
4091 echo str nr
4092 enddef
4093 var Ref = TwoArguments
4094 123->Ref(456)
4095 END
4096 v9.CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got number')
4097
4098 lines =<< trim END
4099 vim9script
4100 def TwoArguments(nr: number, str: string)
4101 echo str nr
4102 enddef
4103 var Ref = TwoArguments
4104 123->Ref('b')
4105 def AndNowCompiled()
4106 456->Ref('x')
4107 enddef
4108 AndNowCompiled()
4109 END
4110 v9.CheckScriptSuccess(lines)
4054 enddef 4111 enddef
4055 4112
4056 def Test_closing_brace_at_start_of_line() 4113 def Test_closing_brace_at_start_of_line()
4057 var lines =<< trim END 4114 var lines =<< trim END
4058 def Func() 4115 def Func()