Mercurial > vim
comparison src/testdir/test_vim9_func.vim @ 22498:04a9b1399d8e v8.2.1797
patch 8.2.1797: Vim9: some parts of the code not tested
Commit: https://github.com/vim/vim/commit/6abd3dc257cf56a8262db38eb15c7cc754e8e002
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 4 14:17:32 2020 +0200
patch 8.2.1797: Vim9: some parts of the code not tested
Problem: Vim9: some parts of the code not tested.
Solution: Add a few tests.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 04 Oct 2020 14:30:05 +0200 |
parents | 454b78ca8247 |
children | c3e3c5707fe9 |
comparison
equal
deleted
inserted
replaced
22497:6fe73c0d9626 | 22498:04a9b1399d8e |
---|---|
1054 RefAny = FuncNoArgRetNumber | 1054 RefAny = FuncNoArgRetNumber |
1055 RefAny = FuncNoArgRetString | 1055 RefAny = FuncNoArgRetString |
1056 CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func()') | 1056 CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func()') |
1057 CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncOneArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func(number)') | 1057 CheckDefFailure(['var RefAny: func(): any', 'RefAny = FuncOneArgNoRet'], 'E1012: Type mismatch; expected func(): any but got func(number)') |
1058 | 1058 |
1059 var RefAnyNoArgs: func: any = RefAny | |
1060 | |
1059 var RefNr: func: number | 1061 var RefNr: func: number |
1060 RefNr = FuncNoArgRetNumber | 1062 RefNr = FuncNoArgRetNumber |
1061 RefNr = FuncOneArgRetNumber | 1063 RefNr = FuncOneArgRetNumber |
1062 CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): number but got func()') | 1064 CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgNoRet'], 'E1012: Type mismatch; expected func(...): number but got func()') |
1063 CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string') | 1065 CheckDefFailure(['var RefNr: func: number', 'RefNr = FuncNoArgRetString'], 'E1012: Type mismatch; expected func(...): number but got func(): string') |
1096 var str: string | 1098 var str: string |
1097 str = FuncOneArgRetAny('yes') | 1099 str = FuncOneArgRetAny('yes') |
1098 str->assert_equal('yes') | 1100 str->assert_equal('yes') |
1099 | 1101 |
1100 CheckDefFailure(['var str: string', 'str = FuncNoArgRetNumber()'], 'E1012: Type mismatch; expected string but got number') | 1102 CheckDefFailure(['var str: string', 'str = FuncNoArgRetNumber()'], 'E1012: Type mismatch; expected string but got number') |
1103 enddef | |
1104 | |
1105 def Test_func_common_type() | |
1106 def FuncOne(n: number): number | |
1107 return n | |
1108 enddef | |
1109 def FuncTwo(s: string): number | |
1110 return len(s) | |
1111 enddef | |
1112 def FuncThree(n: number, s: string): number | |
1113 return n + len(s) | |
1114 enddef | |
1115 var list = [FuncOne, FuncTwo, FuncThree] | |
1116 assert_equal(8, list[0](8)) | |
1117 assert_equal(4, list[1]('word')) | |
1118 assert_equal(7, list[2](3, 'word')) | |
1101 enddef | 1119 enddef |
1102 | 1120 |
1103 def MultiLine( | 1121 def MultiLine( |
1104 arg1: string, | 1122 arg1: string, |
1105 arg2 = 1234, | 1123 arg2 = 1234, |
1946 getqflist({'title': 1})->assert_equal({'title': 'test'}) | 1964 getqflist({'title': 1})->assert_equal({'title': 'test'}) |
1947 | 1965 |
1948 Xsetlist = function('setqflist', [[], ' ']) | 1966 Xsetlist = function('setqflist', [[], ' ']) |
1949 Xsetlist({'title': 'test'}) | 1967 Xsetlist({'title': 'test'}) |
1950 getqflist({'title': 1})->assert_equal({'title': 'test'}) | 1968 getqflist({'title': 1})->assert_equal({'title': 'test'}) |
1969 | |
1970 var Len: func: number = function('len', ['word']) | |
1971 assert_equal(4, Len()) | |
1951 enddef | 1972 enddef |
1952 | 1973 |
1953 def Test_cmd_modifier() | 1974 def Test_cmd_modifier() |
1954 tab echo '0' | 1975 tab echo '0' |
1955 CheckDefFailure(['5tab echo 3'], 'E16:') | 1976 CheckDefFailure(['5tab echo 3'], 'E16:') |