Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 27457:4c16acb2525f v8.2.4257
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Commit: https://github.com/vim/vim/commit/62aec93bfdb9e1b40d03a6d2e8e9511f8b1bdb2d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jan 29 21:45:34 2022 +0000
patch 8.2.4257: Vim9: finding global function without g: prefix inconsistent
Problem: Vim9: finding global function without g: prefix but not finding
global variable is inconsistent.
Solution: Require using g: for a global function. Change the vim9.vim
script into a Vim9 script with exports. Fix that import in legacy
script does not work.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 29 Jan 2022 23:00:05 +0100 |
parents | 4c1bdee75bed |
children | b43f6c879d52 |
comparison
equal
deleted
inserted
replaced
27456:a8e2d91995ce | 27457:4c16acb2525f |
---|---|
1 " Test using builtin functions in the Vim9 script language. | 1 " Test using builtin functions in the Vim9 script language. |
2 | 2 |
3 source check.vim | 3 source check.vim |
4 source vim9.vim | 4 import './vim9.vim' as v9 |
5 | 5 |
6 " Test for passing too many or too few arguments to builtin functions | 6 " Test for passing too many or too few arguments to builtin functions |
7 func Test_internalfunc_arg_error() | 7 func Test_internalfunc_arg_error() |
8 let l =<< trim END | 8 let l =<< trim END |
9 def! FArgErr(): float | 9 def! FArgErr(): float |
65 | 65 |
66 def Test_abs() | 66 def Test_abs() |
67 assert_equal(0, abs(0)) | 67 assert_equal(0, abs(0)) |
68 assert_equal(2, abs(-2)) | 68 assert_equal(2, abs(-2)) |
69 assert_equal(3, abs(3)) | 69 assert_equal(3, abs(3)) |
70 CheckDefAndScriptFailure(['abs("text")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 70 v9.CheckDefAndScriptFailure(['abs("text")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
71 if has('float') | 71 if has('float') |
72 assert_equal(0, abs(0)) | 72 assert_equal(0, abs(0)) |
73 assert_equal(2.0, abs(-2.0)) | 73 assert_equal(2.0, abs(-2.0)) |
74 assert_equal(3.0, abs(3.0)) | 74 assert_equal(3.0, abs(3.0)) |
75 endif | 75 endif |
76 enddef | 76 enddef |
77 | 77 |
78 def Test_add() | 78 def Test_add() |
79 CheckDefAndScriptFailure(['add({}, 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1226: List or Blob required for argument 1']) | 79 v9.CheckDefAndScriptFailure(['add({}, 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1226: List or Blob required for argument 1']) |
80 CheckDefFailure(['add([1], "a")'], 'E1012: Type mismatch; expected number but got string') | 80 v9.CheckDefFailure(['add([1], "a")'], 'E1012: Type mismatch; expected number but got string') |
81 | 81 |
82 var lines =<< trim END | 82 var lines =<< trim END |
83 vim9script | 83 vim9script |
84 g:thelist = [1] | 84 g:thelist = [1] |
85 lockvar g:thelist | 85 lockvar g:thelist |
86 def TryChange() | 86 def TryChange() |
87 g:thelist->add(2) | 87 g:thelist->add(2) |
88 enddef | 88 enddef |
89 TryChange() | 89 TryChange() |
90 END | 90 END |
91 CheckScriptFailure(lines, 'E741:') | 91 v9.CheckScriptFailure(lines, 'E741:') |
92 enddef | 92 enddef |
93 | 93 |
94 def Test_add_blob() | 94 def Test_add_blob() |
95 var b1: blob = 0z12 | 95 var b1: blob = 0z12 |
96 add(b1, 0x34) | 96 add(b1, 0x34) |
102 | 102 |
103 var lines =<< trim END | 103 var lines =<< trim END |
104 var b: blob | 104 var b: blob |
105 add(b, "x") | 105 add(b, "x") |
106 END | 106 END |
107 CheckDefFailure(lines, 'E1012:', 2) | 107 v9.CheckDefFailure(lines, 'E1012:', 2) |
108 | 108 |
109 lines =<< trim END | 109 lines =<< trim END |
110 add(test_null_blob(), 123) | 110 add(test_null_blob(), 123) |
111 END | 111 END |
112 CheckDefExecAndScriptFailure(lines, 'E1131:', 1) | 112 v9.CheckDefExecAndScriptFailure(lines, 'E1131:', 1) |
113 | 113 |
114 lines =<< trim END | 114 lines =<< trim END |
115 var b: blob = test_null_blob() | 115 var b: blob = test_null_blob() |
116 add(b, 123) | 116 add(b, 123) |
117 END | 117 END |
118 CheckDefExecFailure(lines, 'E1131:', 2) | 118 v9.CheckDefExecFailure(lines, 'E1131:', 2) |
119 | 119 |
120 # Getting variable with NULL blob allocates a new blob at script level | 120 # Getting variable with NULL blob allocates a new blob at script level |
121 lines =<< trim END | 121 lines =<< trim END |
122 vim9script | 122 vim9script |
123 var b: blob = test_null_blob() | 123 var b: blob = test_null_blob() |
124 add(b, 123) | 124 add(b, 123) |
125 END | 125 END |
126 CheckScriptSuccess(lines) | 126 v9.CheckScriptSuccess(lines) |
127 enddef | 127 enddef |
128 | 128 |
129 def Test_add_list() | 129 def Test_add_list() |
130 var l: list<number> # defaults to empty list | 130 var l: list<number> # defaults to empty list |
131 add(l, 9) | 131 add(l, 9) |
133 | 133 |
134 var lines =<< trim END | 134 var lines =<< trim END |
135 var l: list<number> | 135 var l: list<number> |
136 add(l, "x") | 136 add(l, "x") |
137 END | 137 END |
138 CheckDefFailure(lines, 'E1012:', 2) | 138 v9.CheckDefFailure(lines, 'E1012:', 2) |
139 | 139 |
140 lines =<< trim END | 140 lines =<< trim END |
141 add(test_null_list(), 123) | 141 add(test_null_list(), 123) |
142 END | 142 END |
143 CheckDefExecAndScriptFailure(lines, 'E1130:', 1) | 143 v9.CheckDefExecAndScriptFailure(lines, 'E1130:', 1) |
144 | 144 |
145 lines =<< trim END | 145 lines =<< trim END |
146 var l: list<number> = test_null_list() | 146 var l: list<number> = test_null_list() |
147 add(l, 123) | 147 add(l, 123) |
148 END | 148 END |
149 CheckDefExecFailure(lines, 'E1130:', 2) | 149 v9.CheckDefExecFailure(lines, 'E1130:', 2) |
150 | 150 |
151 # Getting variable with NULL list allocates a new list at script level | 151 # Getting variable with NULL list allocates a new list at script level |
152 lines =<< trim END | 152 lines =<< trim END |
153 vim9script | 153 vim9script |
154 var l: list<number> = test_null_list() | 154 var l: list<number> = test_null_list() |
155 add(l, 123) | 155 add(l, 123) |
156 END | 156 END |
157 CheckScriptSuccess(lines) | 157 v9.CheckScriptSuccess(lines) |
158 | 158 |
159 lines =<< trim END | 159 lines =<< trim END |
160 vim9script | 160 vim9script |
161 var l: list<string> = ['a'] | 161 var l: list<string> = ['a'] |
162 l->add(123) | 162 l->add(123) |
163 END | 163 END |
164 CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) | 164 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) |
165 | 165 |
166 lines =<< trim END | 166 lines =<< trim END |
167 vim9script | 167 vim9script |
168 var l: list<string> | 168 var l: list<string> |
169 l->add(123) | 169 l->add(123) |
170 END | 170 END |
171 CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) | 171 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) |
172 enddef | 172 enddef |
173 | 173 |
174 def Test_and() | 174 def Test_and() |
175 CheckDefAndScriptFailure(['and("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 175 v9.CheckDefAndScriptFailure(['and("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
176 CheckDefAndScriptFailure(['and(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 176 v9.CheckDefAndScriptFailure(['and(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
177 enddef | 177 enddef |
178 | 178 |
179 def Test_append() | 179 def Test_append() |
180 new | 180 new |
181 setline(1, range(3)) | 181 setline(1, range(3)) |
189 assert_equal('zero', getline(1)) | 189 assert_equal('zero', getline(1)) |
190 append(0, {a: 10}) | 190 append(0, {a: 10}) |
191 assert_equal("{'a': 10}", getline(1)) | 191 assert_equal("{'a': 10}", getline(1)) |
192 append(0, function('min')) | 192 append(0, function('min')) |
193 assert_equal("function('min')", getline(1)) | 193 assert_equal("function('min')", getline(1)) |
194 CheckDefAndScriptFailure(['append([1], "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 194 v9.CheckDefAndScriptFailure(['append([1], "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
195 CheckDefExecAndScriptFailure(['append("", "x")'], 'E1209: Invalid value for a line number') | 195 v9.CheckDefExecAndScriptFailure(['append("", "x")'], 'E1209: Invalid value for a line number') |
196 CheckDefExecAndScriptFailure(['append(".a", "x")'], 'E1209: Invalid value for a line number') | 196 v9.CheckDefExecAndScriptFailure(['append(".a", "x")'], 'E1209: Invalid value for a line number') |
197 # only get one error | 197 # only get one error |
198 assert_fails('append("''aa", "x")', ['E1209: Invalid value for a line number: "''aa"', 'E1209:']) | 198 assert_fails('append("''aa", "x")', ['E1209: Invalid value for a line number: "''aa"', 'E1209:']) |
199 CheckDefExecAndScriptFailure(['append(-1, "x")'], 'E966: Invalid line number: -1') | 199 v9.CheckDefExecAndScriptFailure(['append(-1, "x")'], 'E966: Invalid line number: -1') |
200 bwipe! | 200 bwipe! |
201 enddef | 201 enddef |
202 | 202 |
203 def Test_appendbufline() | 203 def Test_appendbufline() |
204 new | 204 new |
210 var res2: bool = appendbufline(bnum, 3, 'two') | 210 var res2: bool = appendbufline(bnum, 3, 'two') |
211 assert_equal(false, res2) | 211 assert_equal(false, res2) |
212 assert_equal(['0', 'one', '1', 'two', '2', ''], getbufline(bnum, 1, '$')) | 212 assert_equal(['0', 'one', '1', 'two', '2', ''], getbufline(bnum, 1, '$')) |
213 appendbufline(bnum, 0, 'zero') | 213 appendbufline(bnum, 0, 'zero') |
214 assert_equal(['zero'], getbufline(bnum, 1)) | 214 assert_equal(['zero'], getbufline(bnum, 1)) |
215 CheckDefAndScriptFailure(['appendbufline([1], 1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 215 v9.CheckDefAndScriptFailure(['appendbufline([1], 1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
216 CheckDefAndScriptFailure(['appendbufline(1, [1], "x")'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2']) | 216 v9.CheckDefAndScriptFailure(['appendbufline(1, [1], "x")'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2']) |
217 CheckDefExecAndScriptFailure(['appendbufline(' .. bnum .. ', -1, "x")'], 'E966: Invalid line number: -1') | 217 v9.CheckDefExecAndScriptFailure(['appendbufline(' .. bnum .. ', -1, "x")'], 'E966: Invalid line number: -1') |
218 CheckDefExecAndScriptFailure(['appendbufline(' .. bnum .. ', "$a", "x")'], 'E1030: Using a String as a Number: "$a"') | 218 v9.CheckDefExecAndScriptFailure(['appendbufline(' .. bnum .. ', "$a", "x")'], 'E1030: Using a String as a Number: "$a"') |
219 assert_fails('appendbufline(' .. bnum .. ', "$a", "x")', ['E1030: Using a String as a Number: "$a"', 'E1030:']) | 219 assert_fails('appendbufline(' .. bnum .. ', "$a", "x")', ['E1030: Using a String as a Number: "$a"', 'E1030:']) |
220 CheckDefAndScriptFailure(['appendbufline(1, 1, {"a": 10})'], ['E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3']) | 220 v9.CheckDefAndScriptFailure(['appendbufline(1, 1, {"a": 10})'], ['E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3']) |
221 bnum->bufwinid()->win_gotoid() | 221 bnum->bufwinid()->win_gotoid() |
222 appendbufline('', 0, 'numbers') | 222 appendbufline('', 0, 'numbers') |
223 getline(1)->assert_equal('numbers') | 223 getline(1)->assert_equal('numbers') |
224 bwipe! | 224 bwipe! |
225 enddef | 225 enddef |
226 | 226 |
227 def Test_argc() | 227 def Test_argc() |
228 CheckDefAndScriptFailure(['argc("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 228 v9.CheckDefAndScriptFailure(['argc("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
229 enddef | 229 enddef |
230 | 230 |
231 def Test_arglistid() | 231 def Test_arglistid() |
232 CheckDefAndScriptFailure(['arglistid("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 232 v9.CheckDefAndScriptFailure(['arglistid("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
233 CheckDefAndScriptFailure(['arglistid(1, "y")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 233 v9.CheckDefAndScriptFailure(['arglistid(1, "y")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
234 CheckDefAndScriptFailure(['arglistid("x", "y")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 234 v9.CheckDefAndScriptFailure(['arglistid("x", "y")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
235 enddef | 235 enddef |
236 | 236 |
237 def Test_argv() | 237 def Test_argv() |
238 CheckDefAndScriptFailure(['argv("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 238 v9.CheckDefAndScriptFailure(['argv("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
239 CheckDefAndScriptFailure(['argv(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 239 v9.CheckDefAndScriptFailure(['argv(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
240 CheckDefAndScriptFailure(['argv("x", "y")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 240 v9.CheckDefAndScriptFailure(['argv("x", "y")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
241 enddef | 241 enddef |
242 | 242 |
243 def Test_assert_beeps() | 243 def Test_assert_beeps() |
244 CheckDefAndScriptFailure(['assert_beeps(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 244 v9.CheckDefAndScriptFailure(['assert_beeps(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
245 enddef | 245 enddef |
246 | 246 |
247 def Test_assert_equalfile() | 247 def Test_assert_equalfile() |
248 CheckDefAndScriptFailure(['assert_equalfile(1, "f2")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 248 v9.CheckDefAndScriptFailure(['assert_equalfile(1, "f2")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
249 CheckDefAndScriptFailure(['assert_equalfile("f1", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2']) | 249 v9.CheckDefAndScriptFailure(['assert_equalfile("f1", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2']) |
250 CheckDefAndScriptFailure(['assert_equalfile("f1", "f2", ["a"])'], ['E1013: Argument 3: type mismatch, expected string but got list<string>', 'E1174: String required for argument 3']) | 250 v9.CheckDefAndScriptFailure(['assert_equalfile("f1", "f2", ["a"])'], ['E1013: Argument 3: type mismatch, expected string but got list<string>', 'E1174: String required for argument 3']) |
251 enddef | 251 enddef |
252 | 252 |
253 def Test_assert_exception() | 253 def Test_assert_exception() |
254 CheckDefAndScriptFailure(['assert_exception({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) | 254 v9.CheckDefAndScriptFailure(['assert_exception({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) |
255 CheckDefAndScriptFailure(['assert_exception("E1:", v:null)'], ['E1013: Argument 2: type mismatch, expected string but got special', 'E1174: String required for argument 2']) | 255 v9.CheckDefAndScriptFailure(['assert_exception("E1:", v:null)'], ['E1013: Argument 2: type mismatch, expected string but got special', 'E1174: String required for argument 2']) |
256 enddef | 256 enddef |
257 | 257 |
258 def Test_assert_fails() | 258 def Test_assert_fails() |
259 CheckDefAndScriptFailure(['assert_fails([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 259 v9.CheckDefAndScriptFailure(['assert_fails([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
260 CheckDefAndScriptFailure(['assert_fails("a", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1222: String or List required for argument 2']) | 260 v9.CheckDefAndScriptFailure(['assert_fails("a", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1222: String or List required for argument 2']) |
261 CheckDefAndScriptFailure(['assert_fails("a", "b", "c", "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 261 v9.CheckDefAndScriptFailure(['assert_fails("a", "b", "c", "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
262 CheckDefAndScriptFailure(['assert_fails("a", "b", "c", 4, 5)'], ['E1013: Argument 5: type mismatch, expected string but got number', 'E1174: String required for argument 5']) | 262 v9.CheckDefAndScriptFailure(['assert_fails("a", "b", "c", 4, 5)'], ['E1013: Argument 5: type mismatch, expected string but got number', 'E1174: String required for argument 5']) |
263 enddef | 263 enddef |
264 | 264 |
265 def Test_assert_inrange() | 265 def Test_assert_inrange() |
266 CheckDefAndScriptFailure(['assert_inrange("a", 2, 3)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 266 v9.CheckDefAndScriptFailure(['assert_inrange("a", 2, 3)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
267 CheckDefAndScriptFailure(['assert_inrange(1, "b", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 267 v9.CheckDefAndScriptFailure(['assert_inrange(1, "b", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
268 CheckDefAndScriptFailure(['assert_inrange(1, 2, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 3']) | 268 v9.CheckDefAndScriptFailure(['assert_inrange(1, 2, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 3']) |
269 CheckDefAndScriptFailure(['assert_inrange(1, 2, 3, 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) | 269 v9.CheckDefAndScriptFailure(['assert_inrange(1, 2, 3, 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) |
270 enddef | 270 enddef |
271 | 271 |
272 def Test_assert_match() | 272 def Test_assert_match() |
273 CheckDefAndScriptFailure(['assert_match({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '']) | 273 v9.CheckDefAndScriptFailure(['assert_match({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '']) |
274 CheckDefAndScriptFailure(['assert_match("a", 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', '']) | 274 v9.CheckDefAndScriptFailure(['assert_match("a", 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', '']) |
275 CheckDefAndScriptFailure(['assert_match("a", "b", null)'], ['E1013: Argument 3: type mismatch, expected string but got special', '']) | 275 v9.CheckDefAndScriptFailure(['assert_match("a", "b", null)'], ['E1013: Argument 3: type mismatch, expected string but got special', '']) |
276 enddef | 276 enddef |
277 | 277 |
278 def Test_assert_nobeep() | 278 def Test_assert_nobeep() |
279 CheckDefAndScriptFailure(['assert_nobeep(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 279 v9.CheckDefAndScriptFailure(['assert_nobeep(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
280 enddef | 280 enddef |
281 | 281 |
282 def Test_assert_notmatch() | 282 def Test_assert_notmatch() |
283 CheckDefAndScriptFailure(['assert_notmatch({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '']) | 283 v9.CheckDefAndScriptFailure(['assert_notmatch({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '']) |
284 CheckDefAndScriptFailure(['assert_notmatch("a", 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', '']) | 284 v9.CheckDefAndScriptFailure(['assert_notmatch("a", 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', '']) |
285 CheckDefAndScriptFailure(['assert_notmatch("a", "b", null)'], ['E1013: Argument 3: type mismatch, expected string but got special', '']) | 285 v9.CheckDefAndScriptFailure(['assert_notmatch("a", "b", null)'], ['E1013: Argument 3: type mismatch, expected string but got special', '']) |
286 enddef | 286 enddef |
287 | 287 |
288 def Test_assert_report() | 288 def Test_assert_report() |
289 CheckDefAndScriptFailure(['assert_report([1, 2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 289 v9.CheckDefAndScriptFailure(['assert_report([1, 2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
290 enddef | 290 enddef |
291 | 291 |
292 def Test_balloon_show() | 292 def Test_balloon_show() |
293 CheckGui | 293 CheckGui |
294 CheckFeature balloon_eval | 294 CheckFeature balloon_eval |
295 | 295 |
296 assert_fails('balloon_show(10)', 'E1222:') | 296 assert_fails('balloon_show(10)', 'E1222:') |
297 assert_fails('balloon_show(true)', 'E1222:') | 297 assert_fails('balloon_show(true)', 'E1222:') |
298 | 298 |
299 CheckDefAndScriptFailure(['balloon_show(1.2)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1']) | 299 v9.CheckDefAndScriptFailure(['balloon_show(1.2)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1']) |
300 CheckDefAndScriptFailure(['balloon_show({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) | 300 v9.CheckDefAndScriptFailure(['balloon_show({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) |
301 enddef | 301 enddef |
302 | 302 |
303 def Test_balloon_split() | 303 def Test_balloon_split() |
304 CheckFeature balloon_eval_term | 304 CheckFeature balloon_eval_term |
305 | 305 |
306 assert_fails('balloon_split([])', 'E1174:') | 306 assert_fails('balloon_split([])', 'E1174:') |
307 assert_fails('balloon_split(true)', 'E1174:') | 307 assert_fails('balloon_split(true)', 'E1174:') |
308 enddef | 308 enddef |
309 | 309 |
310 def Test_blob2list() | 310 def Test_blob2list() |
311 CheckDefAndScriptFailure(['blob2list(10)'], ['E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1']) | 311 v9.CheckDefAndScriptFailure(['blob2list(10)'], ['E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1']) |
312 enddef | 312 enddef |
313 | 313 |
314 def Test_browse() | 314 def Test_browse() |
315 CheckFeature browse | 315 CheckFeature browse |
316 | 316 |
317 CheckDefAndScriptFailure(['browse(2, "title", "dir", "file")'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 317 v9.CheckDefAndScriptFailure(['browse(2, "title", "dir", "file")'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
318 CheckDefAndScriptFailure(['browse(true, 2, "dir", "file")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 318 v9.CheckDefAndScriptFailure(['browse(true, 2, "dir", "file")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
319 CheckDefAndScriptFailure(['browse(true, "title", 3, "file")'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 319 v9.CheckDefAndScriptFailure(['browse(true, "title", 3, "file")'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
320 CheckDefAndScriptFailure(['browse(true, "title", "dir", 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) | 320 v9.CheckDefAndScriptFailure(['browse(true, "title", "dir", 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) |
321 enddef | 321 enddef |
322 | 322 |
323 def Test_browsedir() | 323 def Test_browsedir() |
324 if has('browse') | 324 if has('browse') |
325 CheckDefAndScriptFailure(['browsedir({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) | 325 v9.CheckDefAndScriptFailure(['browsedir({}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) |
326 CheckDefAndScriptFailure(['browsedir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 326 v9.CheckDefAndScriptFailure(['browsedir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
327 endif | 327 endif |
328 enddef | 328 enddef |
329 | 329 |
330 def Test_bufadd() | 330 def Test_bufadd() |
331 assert_fails('bufadd([])', 'E1174:') | 331 assert_fails('bufadd([])', 'E1174:') |
370 bufnr('%')->assert_equal(buf) | 370 bufnr('%')->assert_equal(buf) |
371 | 371 |
372 buf = bufnr('Xdummy', true) | 372 buf = bufnr('Xdummy', true) |
373 buf->assert_notequal(-1) | 373 buf->assert_notequal(-1) |
374 exe 'bwipe! ' .. buf | 374 exe 'bwipe! ' .. buf |
375 CheckDefAndScriptFailure(['bufnr([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 375 v9.CheckDefAndScriptFailure(['bufnr([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
376 CheckDefAndScriptFailure(['bufnr(1, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 376 v9.CheckDefAndScriptFailure(['bufnr(1, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
377 enddef | 377 enddef |
378 | 378 |
379 def Test_bufwinid() | 379 def Test_bufwinid() |
380 var origwin = win_getid() | 380 var origwin = win_getid() |
381 below split SomeFile | 381 below split SomeFile |
397 assert_fails('bufwinnr(true)', 'E1220:') | 397 assert_fails('bufwinnr(true)', 'E1220:') |
398 assert_fails('bufwinnr([])', 'E1220:') | 398 assert_fails('bufwinnr([])', 'E1220:') |
399 enddef | 399 enddef |
400 | 400 |
401 def Test_byte2line() | 401 def Test_byte2line() |
402 CheckDefAndScriptFailure(['byte2line("1")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 402 v9.CheckDefAndScriptFailure(['byte2line("1")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
403 CheckDefAndScriptFailure(['byte2line([])'], ['E1013: Argument 1: type mismatch, expected number but got list<unknown>', 'E1210: Number required for argument 1']) | 403 v9.CheckDefAndScriptFailure(['byte2line([])'], ['E1013: Argument 1: type mismatch, expected number but got list<unknown>', 'E1210: Number required for argument 1']) |
404 byte2line(0)->assert_equal(-1) | 404 byte2line(0)->assert_equal(-1) |
405 enddef | 405 enddef |
406 | 406 |
407 def Test_byteidx() | 407 def Test_byteidx() |
408 CheckDefAndScriptFailure(['byteidx(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 408 v9.CheckDefAndScriptFailure(['byteidx(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
409 CheckDefAndScriptFailure(['byteidx("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 409 v9.CheckDefAndScriptFailure(['byteidx("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
410 byteidx('', 0)->assert_equal(0) | 410 byteidx('', 0)->assert_equal(0) |
411 byteidx('', 1)->assert_equal(-1) | 411 byteidx('', 1)->assert_equal(-1) |
412 enddef | 412 enddef |
413 | 413 |
414 def Test_byteidxcomp() | 414 def Test_byteidxcomp() |
415 CheckDefAndScriptFailure(['byteidxcomp(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 415 v9.CheckDefAndScriptFailure(['byteidxcomp(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
416 CheckDefAndScriptFailure(['byteidxcomp("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 416 v9.CheckDefAndScriptFailure(['byteidxcomp("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
417 enddef | 417 enddef |
418 | 418 |
419 def Test_call_call() | 419 def Test_call_call() |
420 var l = [3, 2, 1] | 420 var l = [3, 2, 1] |
421 call('reverse', [l]) | 421 call('reverse', [l]) |
422 l->assert_equal([1, 2, 3]) | 422 l->assert_equal([1, 2, 3]) |
423 | 423 |
424 CheckDefExecAndScriptFailure(['call(123, [2])'], 'E1256: String or function required for argument 1') | 424 v9.CheckDefExecAndScriptFailure(['call(123, [2])'], 'E1256: String or function required for argument 1') |
425 CheckDefExecAndScriptFailure(['call(true, [2])'], 'E1256: String or function required for argument 1') | 425 v9.CheckDefExecAndScriptFailure(['call(true, [2])'], 'E1256: String or function required for argument 1') |
426 CheckDefAndScriptFailure(['call("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) | 426 v9.CheckDefAndScriptFailure(['call("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) |
427 CheckDefAndScriptFailure(['call("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 427 v9.CheckDefAndScriptFailure(['call("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
428 enddef | 428 enddef |
429 | 429 |
430 def Test_ch_canread() | 430 def Test_ch_canread() |
431 if !has('channel') | 431 if !has('channel') |
432 CheckFeature channel | 432 CheckFeature channel |
433 else | 433 else |
434 CheckDefAndScriptFailure(['ch_canread(10)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 434 v9.CheckDefAndScriptFailure(['ch_canread(10)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
435 endif | 435 endif |
436 enddef | 436 enddef |
437 | 437 |
438 def Test_ch_close() | 438 def Test_ch_close() |
439 if !has('channel') | 439 if !has('channel') |
440 CheckFeature channel | 440 CheckFeature channel |
441 else | 441 else |
442 CheckDefAndScriptFailure(['ch_close("c")'], ['E1013: Argument 1: type mismatch, expected channel but got string', 'E1217: Channel or Job required for argument 1']) | 442 v9.CheckDefAndScriptFailure(['ch_close("c")'], ['E1013: Argument 1: type mismatch, expected channel but got string', 'E1217: Channel or Job required for argument 1']) |
443 endif | 443 endif |
444 enddef | 444 enddef |
445 | 445 |
446 def Test_ch_close_in() | 446 def Test_ch_close_in() |
447 if !has('channel') | 447 if !has('channel') |
448 CheckFeature channel | 448 CheckFeature channel |
449 else | 449 else |
450 CheckDefAndScriptFailure(['ch_close_in(true)'], ['E1013: Argument 1: type mismatch, expected channel but got bool', 'E1217: Channel or Job required for argument 1']) | 450 v9.CheckDefAndScriptFailure(['ch_close_in(true)'], ['E1013: Argument 1: type mismatch, expected channel but got bool', 'E1217: Channel or Job required for argument 1']) |
451 endif | 451 endif |
452 enddef | 452 enddef |
453 | 453 |
454 def Test_ch_evalexpr() | 454 def Test_ch_evalexpr() |
455 if !has('channel') | 455 if !has('channel') |
456 CheckFeature channel | 456 CheckFeature channel |
457 else | 457 else |
458 CheckDefAndScriptFailure(['ch_evalexpr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 458 v9.CheckDefAndScriptFailure(['ch_evalexpr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
459 CheckDefAndScriptFailure(['ch_evalexpr(test_null_channel(), 1, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 459 v9.CheckDefAndScriptFailure(['ch_evalexpr(test_null_channel(), 1, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
460 endif | 460 endif |
461 enddef | 461 enddef |
462 | 462 |
463 def Test_ch_evalraw() | 463 def Test_ch_evalraw() |
464 if !has('channel') | 464 if !has('channel') |
465 CheckFeature channel | 465 CheckFeature channel |
466 else | 466 else |
467 CheckDefAndScriptFailure(['ch_evalraw(1, "")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 467 v9.CheckDefAndScriptFailure(['ch_evalraw(1, "")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
468 CheckDefAndScriptFailure(['ch_evalraw(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2']) | 468 v9.CheckDefAndScriptFailure(['ch_evalraw(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2']) |
469 CheckDefAndScriptFailure(['ch_evalraw(test_null_channel(), "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 469 v9.CheckDefAndScriptFailure(['ch_evalraw(test_null_channel(), "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
470 endif | 470 endif |
471 enddef | 471 enddef |
472 | 472 |
473 def Test_ch_getbufnr() | 473 def Test_ch_getbufnr() |
474 if !has('channel') | 474 if !has('channel') |
475 CheckFeature channel | 475 CheckFeature channel |
476 else | 476 else |
477 CheckDefAndScriptFailure(['ch_getbufnr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 477 v9.CheckDefAndScriptFailure(['ch_getbufnr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
478 CheckDefAndScriptFailure(['ch_getbufnr(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 478 v9.CheckDefAndScriptFailure(['ch_getbufnr(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
479 # test empty string argument for ch_getbufnr() | 479 # test empty string argument for ch_getbufnr() |
480 var job: job = job_start(&shell) | 480 var job: job = job_start(&shell) |
481 job->ch_getbufnr('')->assert_equal(-1) | 481 job->ch_getbufnr('')->assert_equal(-1) |
482 job_stop(job) | 482 job_stop(job) |
483 endif | 483 endif |
485 | 485 |
486 def Test_ch_getjob() | 486 def Test_ch_getjob() |
487 if !has('channel') | 487 if !has('channel') |
488 CheckFeature channel | 488 CheckFeature channel |
489 else | 489 else |
490 CheckDefAndScriptFailure(['ch_getjob(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 490 v9.CheckDefAndScriptFailure(['ch_getjob(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
491 CheckDefAndScriptFailure(['ch_getjob({"a": 10})'], ['E1013: Argument 1: type mismatch, expected channel but got dict<number>', 'E1217: Channel or Job required for argument 1']) | 491 v9.CheckDefAndScriptFailure(['ch_getjob({"a": 10})'], ['E1013: Argument 1: type mismatch, expected channel but got dict<number>', 'E1217: Channel or Job required for argument 1']) |
492 assert_equal(0, ch_getjob(test_null_channel())) | 492 assert_equal(0, ch_getjob(test_null_channel())) |
493 endif | 493 endif |
494 enddef | 494 enddef |
495 | 495 |
496 def Test_ch_info() | 496 def Test_ch_info() |
497 if !has('channel') | 497 if !has('channel') |
498 CheckFeature channel | 498 CheckFeature channel |
499 else | 499 else |
500 CheckDefAndScriptFailure(['ch_info([1])'], ['E1013: Argument 1: type mismatch, expected channel but got list<number>', 'E1217: Channel or Job required for argument 1']) | 500 v9.CheckDefAndScriptFailure(['ch_info([1])'], ['E1013: Argument 1: type mismatch, expected channel but got list<number>', 'E1217: Channel or Job required for argument 1']) |
501 endif | 501 endif |
502 enddef | 502 enddef |
503 | 503 |
504 def Test_ch_log() | 504 def Test_ch_log() |
505 if !has('channel') | 505 if !has('channel') |
506 CheckFeature channel | 506 CheckFeature channel |
507 else | 507 else |
508 CheckDefAndScriptFailure(['ch_log(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 508 v9.CheckDefAndScriptFailure(['ch_log(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
509 CheckDefAndScriptFailure(['ch_log("a", 1)'], ['E1013: Argument 2: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 2']) | 509 v9.CheckDefAndScriptFailure(['ch_log("a", 1)'], ['E1013: Argument 2: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 2']) |
510 endif | 510 endif |
511 enddef | 511 enddef |
512 | 512 |
513 def Test_ch_logfile() | 513 def Test_ch_logfile() |
514 if !has('channel') | 514 if !has('channel') |
516 else | 516 else |
517 assert_fails('ch_logfile(true)', 'E1174:') | 517 assert_fails('ch_logfile(true)', 'E1174:') |
518 assert_fails('ch_logfile("foo", true)', 'E1174:') | 518 assert_fails('ch_logfile("foo", true)', 'E1174:') |
519 ch_logfile('', '')->assert_equal(0) | 519 ch_logfile('', '')->assert_equal(0) |
520 | 520 |
521 CheckDefAndScriptFailure(['ch_logfile(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 521 v9.CheckDefAndScriptFailure(['ch_logfile(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
522 CheckDefAndScriptFailure(['ch_logfile("a", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2']) | 522 v9.CheckDefAndScriptFailure(['ch_logfile("a", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2']) |
523 endif | 523 endif |
524 enddef | 524 enddef |
525 | 525 |
526 def Test_ch_open() | 526 def Test_ch_open() |
527 if !has('channel') | 527 if !has('channel') |
528 CheckFeature channel | 528 CheckFeature channel |
529 else | 529 else |
530 CheckDefAndScriptFailure(['ch_open({"a": 10}, "a")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 530 v9.CheckDefAndScriptFailure(['ch_open({"a": 10}, "a")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
531 CheckDefAndScriptFailure(['ch_open("a", [1])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 531 v9.CheckDefAndScriptFailure(['ch_open("a", [1])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
532 CheckDefExecAndScriptFailure(['ch_open("")'], 'E475: Invalid argument') | 532 v9.CheckDefExecAndScriptFailure(['ch_open("")'], 'E475: Invalid argument') |
533 endif | 533 endif |
534 enddef | 534 enddef |
535 | 535 |
536 def Test_ch_read() | 536 def Test_ch_read() |
537 if !has('channel') | 537 if !has('channel') |
538 CheckFeature channel | 538 CheckFeature channel |
539 else | 539 else |
540 CheckDefAndScriptFailure(['ch_read(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 540 v9.CheckDefAndScriptFailure(['ch_read(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
541 CheckDefAndScriptFailure(['ch_read(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 541 v9.CheckDefAndScriptFailure(['ch_read(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
542 endif | 542 endif |
543 enddef | 543 enddef |
544 | 544 |
545 def Test_ch_readblob() | 545 def Test_ch_readblob() |
546 if !has('channel') | 546 if !has('channel') |
547 CheckFeature channel | 547 CheckFeature channel |
548 else | 548 else |
549 CheckDefAndScriptFailure(['ch_readblob(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 549 v9.CheckDefAndScriptFailure(['ch_readblob(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
550 CheckDefAndScriptFailure(['ch_readblob(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 550 v9.CheckDefAndScriptFailure(['ch_readblob(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
551 endif | 551 endif |
552 enddef | 552 enddef |
553 | 553 |
554 def Test_ch_readraw() | 554 def Test_ch_readraw() |
555 if !has('channel') | 555 if !has('channel') |
556 CheckFeature channel | 556 CheckFeature channel |
557 else | 557 else |
558 CheckDefAndScriptFailure(['ch_readraw(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 558 v9.CheckDefAndScriptFailure(['ch_readraw(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
559 CheckDefAndScriptFailure(['ch_readraw(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 559 v9.CheckDefAndScriptFailure(['ch_readraw(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
560 endif | 560 endif |
561 enddef | 561 enddef |
562 | 562 |
563 def Test_ch_sendexpr() | 563 def Test_ch_sendexpr() |
564 if !has('channel') | 564 if !has('channel') |
565 CheckFeature channel | 565 CheckFeature channel |
566 else | 566 else |
567 CheckDefAndScriptFailure(['ch_sendexpr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 567 v9.CheckDefAndScriptFailure(['ch_sendexpr(1, "a")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
568 CheckDefAndScriptFailure(['ch_sendexpr(test_null_channel(), 1, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 568 v9.CheckDefAndScriptFailure(['ch_sendexpr(test_null_channel(), 1, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
569 endif | 569 endif |
570 enddef | 570 enddef |
571 | 571 |
572 def Test_ch_sendraw() | 572 def Test_ch_sendraw() |
573 if !has('channel') | 573 if !has('channel') |
574 CheckFeature channel | 574 CheckFeature channel |
575 else | 575 else |
576 CheckDefAndScriptFailure(['ch_sendraw(1, "")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 576 v9.CheckDefAndScriptFailure(['ch_sendraw(1, "")'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
577 CheckDefAndScriptFailure(['ch_sendraw(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2']) | 577 v9.CheckDefAndScriptFailure(['ch_sendraw(test_null_channel(), 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2']) |
578 CheckDefAndScriptFailure(['ch_sendraw(test_null_channel(), "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 578 v9.CheckDefAndScriptFailure(['ch_sendraw(test_null_channel(), "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
579 endif | 579 endif |
580 enddef | 580 enddef |
581 | 581 |
582 def Test_ch_setoptions() | 582 def Test_ch_setoptions() |
583 if !has('channel') | 583 if !has('channel') |
584 CheckFeature channel | 584 CheckFeature channel |
585 else | 585 else |
586 CheckDefAndScriptFailure(['ch_setoptions(1, {})'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 586 v9.CheckDefAndScriptFailure(['ch_setoptions(1, {})'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
587 CheckDefAndScriptFailure(['ch_setoptions(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 587 v9.CheckDefAndScriptFailure(['ch_setoptions(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
588 endif | 588 endif |
589 enddef | 589 enddef |
590 | 590 |
591 def Test_ch_status() | 591 def Test_ch_status() |
592 if !has('channel') | 592 if !has('channel') |
593 CheckFeature channel | 593 CheckFeature channel |
594 else | 594 else |
595 CheckDefAndScriptFailure(['ch_status(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) | 595 v9.CheckDefAndScriptFailure(['ch_status(1)'], ['E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1']) |
596 CheckDefAndScriptFailure(['ch_status(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 596 v9.CheckDefAndScriptFailure(['ch_status(test_null_channel(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
597 endif | 597 endif |
598 enddef | 598 enddef |
599 | 599 |
600 def Test_char2nr() | 600 def Test_char2nr() |
601 char2nr('あ', true)->assert_equal(12354) | 601 char2nr('あ', true)->assert_equal(12354) |
602 | 602 |
603 assert_fails('char2nr(true)', 'E1174:') | 603 assert_fails('char2nr(true)', 'E1174:') |
604 CheckDefAndScriptFailure(['char2nr(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 604 v9.CheckDefAndScriptFailure(['char2nr(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
605 CheckDefAndScriptFailure(['char2nr("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 605 v9.CheckDefAndScriptFailure(['char2nr("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
606 assert_equal(97, char2nr('a', 1)) | 606 assert_equal(97, char2nr('a', 1)) |
607 assert_equal(97, char2nr('a', 0)) | 607 assert_equal(97, char2nr('a', 0)) |
608 assert_equal(97, char2nr('a', true)) | 608 assert_equal(97, char2nr('a', true)) |
609 assert_equal(97, char2nr('a', false)) | 609 assert_equal(97, char2nr('a', false)) |
610 char2nr('')->assert_equal(0) | 610 char2nr('')->assert_equal(0) |
614 assert_fails('charclass(true)', 'E1174:') | 614 assert_fails('charclass(true)', 'E1174:') |
615 charclass('')->assert_equal(0) | 615 charclass('')->assert_equal(0) |
616 enddef | 616 enddef |
617 | 617 |
618 def Test_charcol() | 618 def Test_charcol() |
619 CheckDefAndScriptFailure(['charcol(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) | 619 v9.CheckDefAndScriptFailure(['charcol(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) |
620 CheckDefAndScriptFailure(['charcol({a: 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) | 620 v9.CheckDefAndScriptFailure(['charcol({a: 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) |
621 CheckDefExecAndScriptFailure(['charcol("")'], 'E1209: Invalid value for a line number') | 621 v9.CheckDefExecAndScriptFailure(['charcol("")'], 'E1209: Invalid value for a line number') |
622 new | 622 new |
623 setline(1, ['abcdefgh']) | 623 setline(1, ['abcdefgh']) |
624 cursor(1, 4) | 624 cursor(1, 4) |
625 assert_equal(4, charcol('.')) | 625 assert_equal(4, charcol('.')) |
626 assert_equal(9, charcol([1, '$'])) | 626 assert_equal(9, charcol([1, '$'])) |
627 assert_equal(0, charcol([10, '$'])) | 627 assert_equal(0, charcol([10, '$'])) |
628 bw! | 628 bw! |
629 enddef | 629 enddef |
630 | 630 |
631 def Test_charidx() | 631 def Test_charidx() |
632 CheckDefAndScriptFailure(['charidx(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) | 632 v9.CheckDefAndScriptFailure(['charidx(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) |
633 CheckDefAndScriptFailure(['charidx("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 633 v9.CheckDefAndScriptFailure(['charidx("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
634 CheckDefAndScriptFailure(['charidx("a", 1, "")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) | 634 v9.CheckDefAndScriptFailure(['charidx("a", 1, "")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) |
635 charidx('', 0)->assert_equal(-1) | 635 charidx('', 0)->assert_equal(-1) |
636 charidx('', 1)->assert_equal(-1) | 636 charidx('', 1)->assert_equal(-1) |
637 enddef | 637 enddef |
638 | 638 |
639 def Test_chdir() | 639 def Test_chdir() |
640 assert_fails('chdir(true)', 'E1174:') | 640 assert_fails('chdir(true)', 'E1174:') |
641 enddef | 641 enddef |
642 | 642 |
643 def Test_cindent() | 643 def Test_cindent() |
644 CheckDefAndScriptFailure(['cindent([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 644 v9.CheckDefAndScriptFailure(['cindent([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
645 CheckDefAndScriptFailure(['cindent(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) | 645 v9.CheckDefAndScriptFailure(['cindent(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) |
646 CheckDefExecAndScriptFailure(['cindent("")'], 'E1209: Invalid value for a line number') | 646 v9.CheckDefExecAndScriptFailure(['cindent("")'], 'E1209: Invalid value for a line number') |
647 assert_equal(-1, cindent(0)) | 647 assert_equal(-1, cindent(0)) |
648 assert_equal(0, cindent('.')) | 648 assert_equal(0, cindent('.')) |
649 enddef | 649 enddef |
650 | 650 |
651 def Test_clearmatches() | 651 def Test_clearmatches() |
652 CheckDefAndScriptFailure(['clearmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 652 v9.CheckDefAndScriptFailure(['clearmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
653 enddef | 653 enddef |
654 | 654 |
655 def Test_col() | 655 def Test_col() |
656 new | 656 new |
657 setline(1, 'abcdefgh') | 657 setline(1, 'abcdefgh') |
660 col([1, '$'])->assert_equal(9) | 660 col([1, '$'])->assert_equal(9) |
661 assert_equal(0, col([10, '$'])) | 661 assert_equal(0, col([10, '$'])) |
662 | 662 |
663 assert_fails('col(true)', 'E1222:') | 663 assert_fails('col(true)', 'E1222:') |
664 | 664 |
665 CheckDefAndScriptFailure(['col(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) | 665 v9.CheckDefAndScriptFailure(['col(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) |
666 CheckDefAndScriptFailure(['col({a: 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) | 666 v9.CheckDefAndScriptFailure(['col({a: 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) |
667 CheckDefAndScriptFailure(['col(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1222: String or List required for argument 1']) | 667 v9.CheckDefAndScriptFailure(['col(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1222: String or List required for argument 1']) |
668 CheckDefExecAndScriptFailure(['col("")'], 'E1209: Invalid value for a line number') | 668 v9.CheckDefExecAndScriptFailure(['col("")'], 'E1209: Invalid value for a line number') |
669 bw! | 669 bw! |
670 enddef | 670 enddef |
671 | 671 |
672 def Test_complete() | 672 def Test_complete() |
673 CheckDefAndScriptFailure(['complete("1", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 673 v9.CheckDefAndScriptFailure(['complete("1", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
674 CheckDefAndScriptFailure(['complete(1, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) | 674 v9.CheckDefAndScriptFailure(['complete(1, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) |
675 enddef | 675 enddef |
676 | 676 |
677 def Test_complete_add() | 677 def Test_complete_add() |
678 CheckDefAndScriptFailure(['complete_add([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1223: String or Dictionary required for argument 1']) | 678 v9.CheckDefAndScriptFailure(['complete_add([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1223: String or Dictionary required for argument 1']) |
679 enddef | 679 enddef |
680 | 680 |
681 def Test_complete_info() | 681 def Test_complete_info() |
682 CheckDefAndScriptFailure(['complete_info("")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) | 682 v9.CheckDefAndScriptFailure(['complete_info("")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) |
683 CheckDefAndScriptFailure(['complete_info({})'], ['E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1211: List required for argument 1']) | 683 v9.CheckDefAndScriptFailure(['complete_info({})'], ['E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1211: List required for argument 1']) |
684 assert_equal({'pum_visible': 0, 'mode': '', 'selected': -1, 'items': []}, complete_info()) | 684 assert_equal({'pum_visible': 0, 'mode': '', 'selected': -1, 'items': []}, complete_info()) |
685 assert_equal({'mode': '', 'items': []}, complete_info(['mode', 'items'])) | 685 assert_equal({'mode': '', 'items': []}, complete_info(['mode', 'items'])) |
686 enddef | 686 enddef |
687 | 687 |
688 def Test_confirm() | 688 def Test_confirm() |
691 endif | 691 endif |
692 | 692 |
693 assert_fails('confirm(true)', 'E1174:') | 693 assert_fails('confirm(true)', 'E1174:') |
694 assert_fails('confirm("yes", true)', 'E1174:') | 694 assert_fails('confirm("yes", true)', 'E1174:') |
695 assert_fails('confirm("yes", "maybe", 2, true)', 'E1174:') | 695 assert_fails('confirm("yes", "maybe", 2, true)', 'E1174:') |
696 CheckDefAndScriptFailure(['confirm(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 696 v9.CheckDefAndScriptFailure(['confirm(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
697 CheckDefAndScriptFailure(['confirm("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 697 v9.CheckDefAndScriptFailure(['confirm("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
698 CheckDefAndScriptFailure(['confirm("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 698 v9.CheckDefAndScriptFailure(['confirm("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
699 CheckDefAndScriptFailure(['confirm("a", "b", 3, 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) | 699 v9.CheckDefAndScriptFailure(['confirm("a", "b", 3, 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) |
700 enddef | 700 enddef |
701 | 701 |
702 def Test_copy_return_type() | 702 def Test_copy_return_type() |
703 var l = copy([1, 2, 3]) | 703 var l = copy([1, 2, 3]) |
704 var res = 0 | 704 var res = 0 |
718 enddef | 718 enddef |
719 | 719 |
720 def Test_count() | 720 def Test_count() |
721 count('ABC ABC ABC', 'b', true)->assert_equal(3) | 721 count('ABC ABC ABC', 'b', true)->assert_equal(3) |
722 count('ABC ABC ABC', 'b', false)->assert_equal(0) | 722 count('ABC ABC ABC', 'b', false)->assert_equal(0) |
723 CheckDefAndScriptFailure(['count(10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1225: String, List or Dictionary required for argument 1']) | 723 v9.CheckDefAndScriptFailure(['count(10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1225: String, List or Dictionary required for argument 1']) |
724 CheckDefAndScriptFailure(['count("a", [1], 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 724 v9.CheckDefAndScriptFailure(['count("a", [1], 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
725 CheckDefAndScriptFailure(['count("a", [1], 0, "b")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 725 v9.CheckDefAndScriptFailure(['count("a", [1], 0, "b")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
726 count([1, 2, 2, 3], 2)->assert_equal(2) | 726 count([1, 2, 2, 3], 2)->assert_equal(2) |
727 count([1, 2, 2, 3], 2, false, 2)->assert_equal(1) | 727 count([1, 2, 2, 3], 2, false, 2)->assert_equal(1) |
728 count({a: 1.1, b: 2.2, c: 1.1}, 1.1)->assert_equal(2) | 728 count({a: 1.1, b: 2.2, c: 1.1}, 1.1)->assert_equal(2) |
729 enddef | 729 enddef |
730 | 730 |
731 def Test_cscope_connection() | 731 def Test_cscope_connection() |
732 CheckFeature cscope | 732 CheckFeature cscope |
733 assert_equal(0, cscope_connection()) | 733 assert_equal(0, cscope_connection()) |
734 CheckDefAndScriptFailure(['cscope_connection("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 734 v9.CheckDefAndScriptFailure(['cscope_connection("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
735 CheckDefAndScriptFailure(['cscope_connection(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 735 v9.CheckDefAndScriptFailure(['cscope_connection(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
736 CheckDefAndScriptFailure(['cscope_connection(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 736 v9.CheckDefAndScriptFailure(['cscope_connection(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
737 enddef | 737 enddef |
738 | 738 |
739 def Test_cursor() | 739 def Test_cursor() |
740 new | 740 new |
741 setline(1, range(4)) | 741 setline(1, range(4)) |
747 assert_equal(2, getcurpos()[1]) | 747 assert_equal(2, getcurpos()[1]) |
748 | 748 |
749 var lines =<< trim END | 749 var lines =<< trim END |
750 cursor('2', 1) | 750 cursor('2', 1) |
751 END | 751 END |
752 CheckDefExecAndScriptFailure(lines, 'E1209:') | 752 v9.CheckDefExecAndScriptFailure(lines, 'E1209:') |
753 CheckDefAndScriptFailure(['cursor(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1']) | 753 v9.CheckDefAndScriptFailure(['cursor(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1']) |
754 CheckDefAndScriptFailure(['cursor(1, "2")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 754 v9.CheckDefAndScriptFailure(['cursor(1, "2")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
755 CheckDefAndScriptFailure(['cursor(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 755 v9.CheckDefAndScriptFailure(['cursor(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
756 CheckDefExecAndScriptFailure(['cursor("", 2)'], 'E1209: Invalid value for a line number') | 756 v9.CheckDefExecAndScriptFailure(['cursor("", 2)'], 'E1209: Invalid value for a line number') |
757 enddef | 757 enddef |
758 | 758 |
759 def Test_debugbreak() | 759 def Test_debugbreak() |
760 CheckMSWindows | 760 CheckMSWindows |
761 CheckDefAndScriptFailure(['debugbreak("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 761 v9.CheckDefAndScriptFailure(['debugbreak("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
762 enddef | 762 enddef |
763 | 763 |
764 def Test_deepcopy() | 764 def Test_deepcopy() |
765 CheckDefAndScriptFailure(['deepcopy({}, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 765 v9.CheckDefAndScriptFailure(['deepcopy({}, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
766 enddef | 766 enddef |
767 | 767 |
768 def Test_delete() | 768 def Test_delete() |
769 var res: bool = delete('doesnotexist') | 769 var res: bool = delete('doesnotexist') |
770 assert_equal(true, res) | 770 assert_equal(true, res) |
771 | 771 |
772 CheckDefAndScriptFailure(['delete(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 772 v9.CheckDefAndScriptFailure(['delete(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
773 CheckDefAndScriptFailure(['delete("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 773 v9.CheckDefAndScriptFailure(['delete("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
774 CheckDefExecAndScriptFailure(['delete("")'], 'E474: Invalid argument') | 774 v9.CheckDefExecAndScriptFailure(['delete("")'], 'E474: Invalid argument') |
775 enddef | 775 enddef |
776 | 776 |
777 def Test_deletebufline() | 777 def Test_deletebufline() |
778 CheckDefAndScriptFailure(['deletebufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 778 v9.CheckDefAndScriptFailure(['deletebufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
779 CheckDefAndScriptFailure(['deletebufline("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2']) | 779 v9.CheckDefAndScriptFailure(['deletebufline("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2']) |
780 CheckDefAndScriptFailure(['deletebufline("a", 2, 0z10)'], ['E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3']) | 780 v9.CheckDefAndScriptFailure(['deletebufline("a", 2, 0z10)'], ['E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3']) |
781 new | 781 new |
782 setline(1, ['one', 'two']) | 782 setline(1, ['one', 'two']) |
783 deletebufline('', 1) | 783 deletebufline('', 1) |
784 getline(1, '$')->assert_equal(['two']) | 784 getline(1, '$')->assert_equal(['two']) |
785 | 785 |
788 | 788 |
789 bwipe! | 789 bwipe! |
790 enddef | 790 enddef |
791 | 791 |
792 def Test_diff_filler() | 792 def Test_diff_filler() |
793 CheckDefAndScriptFailure(['diff_filler([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 793 v9.CheckDefAndScriptFailure(['diff_filler([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
794 CheckDefAndScriptFailure(['diff_filler(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 794 v9.CheckDefAndScriptFailure(['diff_filler(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
795 CheckDefExecAndScriptFailure(['diff_filler("")'], 'E1209: Invalid value for a line number') | 795 v9.CheckDefExecAndScriptFailure(['diff_filler("")'], 'E1209: Invalid value for a line number') |
796 assert_equal(0, diff_filler(1)) | 796 assert_equal(0, diff_filler(1)) |
797 assert_equal(0, diff_filler('.')) | 797 assert_equal(0, diff_filler('.')) |
798 enddef | 798 enddef |
799 | 799 |
800 def Test_diff_hlID() | 800 def Test_diff_hlID() |
801 CheckDefAndScriptFailure(['diff_hlID(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 801 v9.CheckDefAndScriptFailure(['diff_hlID(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
802 CheckDefAndScriptFailure(['diff_hlID(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 802 v9.CheckDefAndScriptFailure(['diff_hlID(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
803 CheckDefExecAndScriptFailure(['diff_hlID("", 10)'], 'E1209: Invalid value for a line number') | 803 v9.CheckDefExecAndScriptFailure(['diff_hlID("", 10)'], 'E1209: Invalid value for a line number') |
804 enddef | 804 enddef |
805 | 805 |
806 def Test_digraph_get() | 806 def Test_digraph_get() |
807 CheckDefAndScriptFailure(['digraph_get(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 807 v9.CheckDefAndScriptFailure(['digraph_get(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
808 CheckDefExecAndScriptFailure(['digraph_get("")'], 'E1214: Digraph must be just two characters') | 808 v9.CheckDefExecAndScriptFailure(['digraph_get("")'], 'E1214: Digraph must be just two characters') |
809 enddef | 809 enddef |
810 | 810 |
811 def Test_digraph_getlist() | 811 def Test_digraph_getlist() |
812 CheckDefAndScriptFailure(['digraph_getlist(10)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 812 v9.CheckDefAndScriptFailure(['digraph_getlist(10)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
813 CheckDefAndScriptFailure(['digraph_getlist("")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 813 v9.CheckDefAndScriptFailure(['digraph_getlist("")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
814 enddef | 814 enddef |
815 | 815 |
816 def Test_digraph_set() | 816 def Test_digraph_set() |
817 CheckDefAndScriptFailure(['digraph_set(10, "a")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 817 v9.CheckDefAndScriptFailure(['digraph_set(10, "a")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
818 CheckDefAndScriptFailure(['digraph_set("ab", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) | 818 v9.CheckDefAndScriptFailure(['digraph_set("ab", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) |
819 CheckDefExecAndScriptFailure(['digraph_set("", "a")'], 'E1214: Digraph must be just two characters') | 819 v9.CheckDefExecAndScriptFailure(['digraph_set("", "a")'], 'E1214: Digraph must be just two characters') |
820 enddef | 820 enddef |
821 | 821 |
822 def Test_digraph_setlist() | 822 def Test_digraph_setlist() |
823 CheckDefAndScriptFailure(['digraph_setlist("a")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1216: digraph_setlist() argument must be a list of lists with two items']) | 823 v9.CheckDefAndScriptFailure(['digraph_setlist("a")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1216: digraph_setlist() argument must be a list of lists with two items']) |
824 CheckDefAndScriptFailure(['digraph_setlist({})'], ['E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1216: digraph_setlist() argument must be a list of lists with two items']) | 824 v9.CheckDefAndScriptFailure(['digraph_setlist({})'], ['E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1216: digraph_setlist() argument must be a list of lists with two items']) |
825 enddef | 825 enddef |
826 | 826 |
827 def Test_echoraw() | 827 def Test_echoraw() |
828 CheckDefAndScriptFailure(['echoraw(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 828 v9.CheckDefAndScriptFailure(['echoraw(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
829 CheckDefAndScriptFailure(['echoraw(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 829 v9.CheckDefAndScriptFailure(['echoraw(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
830 enddef | 830 enddef |
831 | 831 |
832 def Test_escape() | 832 def Test_escape() |
833 CheckDefAndScriptFailure(['escape(10, " ")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 833 v9.CheckDefAndScriptFailure(['escape(10, " ")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
834 CheckDefAndScriptFailure(['escape(true, false)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 834 v9.CheckDefAndScriptFailure(['escape(true, false)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
835 CheckDefAndScriptFailure(['escape("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 835 v9.CheckDefAndScriptFailure(['escape("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
836 assert_equal('a\:b', escape("a:b", ":")) | 836 assert_equal('a\:b', escape("a:b", ":")) |
837 escape('abc', '')->assert_equal('abc') | 837 escape('abc', '')->assert_equal('abc') |
838 escape('', ':')->assert_equal('') | 838 escape('', ':')->assert_equal('') |
839 enddef | 839 enddef |
840 | 840 |
841 def Test_eval() | 841 def Test_eval() |
842 CheckDefAndScriptFailure(['eval(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 842 v9.CheckDefAndScriptFailure(['eval(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
843 CheckDefAndScriptFailure(['eval(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) | 843 v9.CheckDefAndScriptFailure(['eval(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) |
844 CheckDefExecAndScriptFailure(['eval("")'], 'E15: Invalid expression') | 844 v9.CheckDefExecAndScriptFailure(['eval("")'], 'E15: Invalid expression') |
845 assert_equal(2, eval('1 + 1')) | 845 assert_equal(2, eval('1 + 1')) |
846 enddef | 846 enddef |
847 | 847 |
848 def Test_executable() | 848 def Test_executable() |
849 assert_false(executable("")) | 849 assert_false(executable("")) |
850 assert_false(executable(test_null_string())) | 850 assert_false(executable(test_null_string())) |
851 | 851 |
852 CheckDefExecFailure(['echo executable(123)'], 'E1013:') | 852 v9.CheckDefExecFailure(['echo executable(123)'], 'E1013:') |
853 CheckDefExecFailure(['echo executable(true)'], 'E1013:') | 853 v9.CheckDefExecFailure(['echo executable(true)'], 'E1013:') |
854 enddef | 854 enddef |
855 | 855 |
856 def Test_execute() | 856 def Test_execute() |
857 var res = execute("echo 'hello'") | 857 var res = execute("echo 'hello'") |
858 assert_equal("\nhello", res) | 858 assert_equal("\nhello", res) |
859 res = execute(["echo 'here'", "echo 'there'"]) | 859 res = execute(["echo 'here'", "echo 'there'"]) |
860 assert_equal("\nhere\nthere", res) | 860 assert_equal("\nhere\nthere", res) |
861 | 861 |
862 CheckDefAndScriptFailure(['execute(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) | 862 v9.CheckDefAndScriptFailure(['execute(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1']) |
863 CheckDefFailure(['execute([123])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') | 863 v9.CheckDefFailure(['execute([123])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') |
864 CheckDefExecFailure(['echo execute(["xx", 123])'], 'E492') | 864 v9.CheckDefExecFailure(['echo execute(["xx", 123])'], 'E492') |
865 CheckDefAndScriptFailure(['execute("xx", 123)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 865 v9.CheckDefAndScriptFailure(['execute("xx", 123)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
866 enddef | 866 enddef |
867 | 867 |
868 def Test_exepath() | 868 def Test_exepath() |
869 CheckDefExecFailure(['echo exepath(true)'], 'E1013:') | 869 v9.CheckDefExecFailure(['echo exepath(true)'], 'E1013:') |
870 CheckDefExecFailure(['echo exepath(v:null)'], 'E1013:') | 870 v9.CheckDefExecFailure(['echo exepath(v:null)'], 'E1013:') |
871 CheckDefExecFailure(['echo exepath("")'], 'E1175:') | 871 v9.CheckDefExecFailure(['echo exepath("")'], 'E1175:') |
872 enddef | 872 enddef |
873 | 873 |
874 command DoSomeCommand let g:didSomeCommand = 4 | 874 command DoSomeCommand let g:didSomeCommand = 4 |
875 | 875 |
876 def Test_exists() | 876 def Test_exists() |
877 CheckDefAndScriptFailure(['exists(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 877 v9.CheckDefAndScriptFailure(['exists(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
878 call assert_equal(1, exists('&tabstop')) | 878 call assert_equal(1, exists('&tabstop')) |
879 | 879 |
880 var lines =<< trim END | 880 var lines =<< trim END |
881 if exists('+newoption') | 881 if exists('+newoption') |
882 if &newoption == 'ok' | 882 if &newoption == 'ok' |
883 endif | 883 endif |
884 endif | 884 endif |
885 END | 885 END |
886 CheckDefFailure(lines, 'E113:') | 886 v9.CheckDefFailure(lines, 'E113:') |
887 CheckScriptSuccess(lines) | 887 v9.CheckScriptSuccess(lines) |
888 enddef | 888 enddef |
889 | 889 |
890 def Test_exists_compiled() | 890 def Test_exists_compiled() |
891 call assert_equal(1, exists_compiled('&tabstop')) | 891 call assert_equal(1, exists_compiled('&tabstop')) |
892 CheckDefAndScriptFailure(['exists_compiled(10)'], ['E1232:', 'E1233:']) | 892 v9.CheckDefAndScriptFailure(['exists_compiled(10)'], ['E1232:', 'E1233:']) |
893 CheckDefAndScriptFailure(['exists_compiled(v:progname)'], ['E1232:', 'E1233:']) | 893 v9.CheckDefAndScriptFailure(['exists_compiled(v:progname)'], ['E1232:', 'E1233:']) |
894 | 894 |
895 if exists_compiled('+newoption') | 895 if exists_compiled('+newoption') |
896 if &newoption == 'ok' | 896 if &newoption == 'ok' |
897 endif | 897 endif |
898 endif | 898 endif |
918 if exists_compiled(':NoSuchCommand') >= 2 | 918 if exists_compiled(':NoSuchCommand') >= 2 |
919 NoSuchCommand | 919 NoSuchCommand |
920 endif | 920 endif |
921 | 921 |
922 var found = false | 922 var found = false |
923 if exists_compiled('*CheckScriptSuccess') | 923 if exists_compiled('*CheckFeature') |
924 found = true | 924 found = true |
925 endif | 925 endif |
926 assert_false(found) | |
927 found = false | |
928 if exists_compiled('*g:CheckFeature') | |
929 found = true | |
930 endif | |
926 assert_true(found) | 931 assert_true(found) |
932 | |
927 if exists_compiled('*NoSuchFunction') | 933 if exists_compiled('*NoSuchFunction') |
928 NoSuchFunction() | 934 NoSuchFunction() |
929 endif | 935 endif |
930 if exists_compiled('*no_such_function') | 936 if exists_compiled('*no_such_function') |
931 no_such_function() | 937 no_such_function() |
934 | 940 |
935 def Test_expand() | 941 def Test_expand() |
936 split SomeFile | 942 split SomeFile |
937 expand('%', true, true)->assert_equal(['SomeFile']) | 943 expand('%', true, true)->assert_equal(['SomeFile']) |
938 close | 944 close |
939 CheckDefAndScriptFailure(['expand(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 945 v9.CheckDefAndScriptFailure(['expand(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
940 CheckDefAndScriptFailure(['expand("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 946 v9.CheckDefAndScriptFailure(['expand("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
941 CheckDefAndScriptFailure(['expand("a", true, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 947 v9.CheckDefAndScriptFailure(['expand("a", true, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
942 expand('')->assert_equal('') | 948 expand('')->assert_equal('') |
943 | 949 |
944 var caught = false | 950 var caught = false |
945 try | 951 try |
946 echo expand("<sfile>") | 952 echo expand("<sfile>") |
955 assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) | 961 assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) |
956 | 962 |
957 assert_equal("yes", expandcmd("`={a: 'yes'}['a']`")) | 963 assert_equal("yes", expandcmd("`={a: 'yes'}['a']`")) |
958 expandcmd('')->assert_equal('') | 964 expandcmd('')->assert_equal('') |
959 | 965 |
960 CheckDefAndScriptFailure(['expandcmd([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 966 v9.CheckDefAndScriptFailure(['expandcmd([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
961 enddef | 967 enddef |
962 | 968 |
963 def Test_extend_arg_types() | 969 def Test_extend_arg_types() |
964 g:number_one = 1 | 970 g:number_one = 1 |
965 g:string_keep = 'keep' | 971 g:string_keep = 'keep' |
982 | 988 |
983 var dany: dict<any> = {a: 0} | 989 var dany: dict<any> = {a: 0} |
984 dany->extend({b: 'x'}) | 990 dany->extend({b: 'x'}) |
985 assert_equal({a: 0, b: 'x'}, dany) | 991 assert_equal({a: 0, b: 'x'}, dany) |
986 END | 992 END |
987 CheckDefAndScriptSuccess(lines) | 993 v9.CheckDefAndScriptSuccess(lines) |
988 | 994 |
989 lines =<< trim END | 995 lines =<< trim END |
990 assert_equal([1, 2, "x"], extend([1, 2], ["x"])) | 996 assert_equal([1, 2, "x"], extend([1, 2], ["x"])) |
991 assert_equal([1, "b", 1], extend([1], ["b", 1])) | 997 assert_equal([1, "b", 1], extend([1], ["b", 1])) |
992 | 998 |
993 assert_equal({a: 1, b: "x"}, extend({a: 1}, {b: "x"})) | 999 assert_equal({a: 1, b: "x"}, extend({a: 1}, {b: "x"})) |
994 END | 1000 END |
995 CheckDefAndScriptSuccess(lines) | 1001 v9.CheckDefAndScriptSuccess(lines) |
996 | 1002 |
997 CheckDefAndScriptFailure(['extend("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E712: Argument of extend() must be a List or Dictionary']) | 1003 v9.CheckDefAndScriptFailure(['extend("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E712: Argument of extend() must be a List or Dictionary']) |
998 CheckDefAndScriptFailure(['extend([1, 2], 3)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E712: Argument of extend() must be a List or Dictionary']) | 1004 v9.CheckDefAndScriptFailure(['extend([1, 2], 3)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E712: Argument of extend() must be a List or Dictionary']) |
999 CheckDefAndScriptFailure(['var ll = [1, 2]', 'extend(ll, ["x"])'], ['E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>']) | 1005 v9.CheckDefAndScriptFailure(['var ll = [1, 2]', 'extend(ll, ["x"])'], ['E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>']) |
1000 CheckDefFailure(['extend([1, 2], [3], "x")'], 'E1013: Argument 3: type mismatch, expected number but got string') | 1006 v9.CheckDefFailure(['extend([1, 2], [3], "x")'], 'E1013: Argument 3: type mismatch, expected number but got string') |
1001 | 1007 |
1002 CheckDefFailure(['extend({a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<any> but got number') | 1008 v9.CheckDefFailure(['extend({a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<any> but got number') |
1003 CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') | 1009 v9.CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') |
1004 | 1010 |
1005 CheckScriptFailure(['vim9script', 'var l = [1]', 'extend(l, ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any> in extend()') | 1011 v9.CheckScriptFailure(['vim9script', 'var l = [1]', 'extend(l, ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any> in extend()') |
1006 enddef | 1012 enddef |
1007 | 1013 |
1008 func g:ExtendDict(d) | 1014 func g:ExtendDict(d) |
1009 call extend(a:d, #{xx: 'x'}) | 1015 call extend(a:d, #{xx: 'x'}) |
1010 endfunc | 1016 endfunc |
1012 def Test_extend_dict_item_type() | 1018 def Test_extend_dict_item_type() |
1013 var lines =<< trim END | 1019 var lines =<< trim END |
1014 var d: dict<number> = {a: 1} | 1020 var d: dict<number> = {a: 1} |
1015 extend(d, {b: 2}) | 1021 extend(d, {b: 2}) |
1016 END | 1022 END |
1017 CheckDefAndScriptSuccess(lines) | 1023 v9.CheckDefAndScriptSuccess(lines) |
1018 | 1024 |
1019 lines =<< trim END | 1025 lines =<< trim END |
1020 var d: dict<number> = {a: 1} | 1026 var d: dict<number> = {a: 1} |
1021 extend(d, {b: 'x'}) | 1027 extend(d, {b: 'x'}) |
1022 END | 1028 END |
1023 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 2) | 1029 v9.CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 2) |
1024 | 1030 |
1025 lines =<< trim END | 1031 lines =<< trim END |
1026 var d: dict<number> = {a: 1} | 1032 var d: dict<number> = {a: 1} |
1027 g:ExtendDict(d) | 1033 g:ExtendDict(d) |
1028 END | 1034 END |
1029 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) | 1035 v9.CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) |
1030 CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) | 1036 v9.CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) |
1031 | 1037 |
1032 lines =<< trim END | 1038 lines =<< trim END |
1033 var d: dict<bool> | 1039 var d: dict<bool> |
1034 extend(d, {b: 0}) | 1040 extend(d, {b: 0}) |
1035 END | 1041 END |
1036 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<bool> but got dict<number>', 2) | 1042 v9.CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<bool> but got dict<number>', 2) |
1037 enddef | 1043 enddef |
1038 | 1044 |
1039 func g:ExtendList(l) | 1045 func g:ExtendList(l) |
1040 call extend(a:l, ['x']) | 1046 call extend(a:l, ['x']) |
1041 endfunc | 1047 endfunc |
1043 def Test_extend_list_item_type() | 1049 def Test_extend_list_item_type() |
1044 var lines =<< trim END | 1050 var lines =<< trim END |
1045 var l: list<number> = [1] | 1051 var l: list<number> = [1] |
1046 extend(l, [2]) | 1052 extend(l, [2]) |
1047 END | 1053 END |
1048 CheckDefAndScriptSuccess(lines) | 1054 v9.CheckDefAndScriptSuccess(lines) |
1049 | 1055 |
1050 lines =<< trim END | 1056 lines =<< trim END |
1051 var l: list<number> = [1] | 1057 var l: list<number> = [1] |
1052 extend(l, ['x']) | 1058 extend(l, ['x']) |
1053 END | 1059 END |
1054 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 2) | 1060 v9.CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 2) |
1055 | 1061 |
1056 lines =<< trim END | 1062 lines =<< trim END |
1057 var l: list<number> = [1] | 1063 var l: list<number> = [1] |
1058 g:ExtendList(l) | 1064 g:ExtendList(l) |
1059 END | 1065 END |
1060 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) | 1066 v9.CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) |
1061 CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) | 1067 v9.CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) |
1062 | 1068 |
1063 lines =<< trim END | 1069 lines =<< trim END |
1064 var l: list<bool> | 1070 var l: list<bool> |
1065 extend(l, [0]) | 1071 extend(l, [0]) |
1066 END | 1072 END |
1067 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<bool> but got list<number>', 2) | 1073 v9.CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<bool> but got list<number>', 2) |
1068 enddef | 1074 enddef |
1069 | 1075 |
1070 def Test_extend_return_type() | 1076 def Test_extend_return_type() |
1071 var l = extend([1, 2], [3]) | 1077 var l = extend([1, 2], [3]) |
1072 var res = 0 | 1078 var res = 0 |
1091 d->extend({A: 10, Func: function('F', [])}) | 1097 d->extend({A: 10, Func: function('F', [])}) |
1092 enddef | 1098 enddef |
1093 | 1099 |
1094 Test() | 1100 Test() |
1095 END | 1101 END |
1096 CheckScriptFailure(lines, 'E1001: Variable not found: m') | 1102 v9.CheckScriptFailure(lines, 'E1001: Variable not found: m') |
1097 enddef | 1103 enddef |
1098 | 1104 |
1099 def Test_extendnew() | 1105 def Test_extendnew() |
1100 assert_equal([1, 2, 'a'], extendnew([1, 2], ['a'])) | 1106 assert_equal([1, 2, 'a'], extendnew([1, 2], ['a'])) |
1101 assert_equal({one: 1, two: 'a'}, extendnew({one: 1}, {two: 'a'})) | 1107 assert_equal({one: 1, two: 'a'}, extendnew({one: 1}, {two: 'a'})) |
1102 | 1108 |
1103 CheckDefAndScriptFailure(['extendnew({a: 1}, 42)'], ['E1013: Argument 2: type mismatch, expected dict<number> but got number', 'E712: Argument of extendnew() must be a List or Dictionary']) | 1109 v9.CheckDefAndScriptFailure(['extendnew({a: 1}, 42)'], ['E1013: Argument 2: type mismatch, expected dict<number> but got number', 'E712: Argument of extendnew() must be a List or Dictionary']) |
1104 CheckDefAndScriptFailure(['extendnew({a: 1}, [42])'], ['E1013: Argument 2: type mismatch, expected dict<number> but got list<number>', 'E712: Argument of extendnew() must be a List or Dictionary']) | 1110 v9.CheckDefAndScriptFailure(['extendnew({a: 1}, [42])'], ['E1013: Argument 2: type mismatch, expected dict<number> but got list<number>', 'E712: Argument of extendnew() must be a List or Dictionary']) |
1105 CheckDefAndScriptFailure(['extendnew([1, 2], "x")'], ['E1013: Argument 2: type mismatch, expected list<number> but got string', 'E712: Argument of extendnew() must be a List or Dictionary']) | 1111 v9.CheckDefAndScriptFailure(['extendnew([1, 2], "x")'], ['E1013: Argument 2: type mismatch, expected list<number> but got string', 'E712: Argument of extendnew() must be a List or Dictionary']) |
1106 CheckDefAndScriptFailure(['extendnew([1, 2], {x: 1})'], ['E1013: Argument 2: type mismatch, expected list<number> but got dict<number>', 'E712: Argument of extendnew() must be a List or Dictionary']) | 1112 v9.CheckDefAndScriptFailure(['extendnew([1, 2], {x: 1})'], ['E1013: Argument 2: type mismatch, expected list<number> but got dict<number>', 'E712: Argument of extendnew() must be a List or Dictionary']) |
1107 enddef | 1113 enddef |
1108 | 1114 |
1109 def Test_feedkeys() | 1115 def Test_feedkeys() |
1110 CheckDefAndScriptFailure(['feedkeys(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1116 v9.CheckDefAndScriptFailure(['feedkeys(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1111 CheckDefAndScriptFailure(['feedkeys("x", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1117 v9.CheckDefAndScriptFailure(['feedkeys("x", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1112 CheckDefAndScriptFailure(['feedkeys([], {})'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 1118 v9.CheckDefAndScriptFailure(['feedkeys([], {})'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
1113 g:TestVar = 1 | 1119 g:TestVar = 1 |
1114 feedkeys(":g:TestVar = 789\n", 'xt') | 1120 feedkeys(":g:TestVar = 789\n", 'xt') |
1115 assert_equal(789, g:TestVar) | 1121 assert_equal(789, g:TestVar) |
1116 unlet g:TestVar | 1122 unlet g:TestVar |
1117 enddef | 1123 enddef |
1118 | 1124 |
1119 def Test_filereadable() | 1125 def Test_filereadable() |
1120 assert_false(filereadable("")) | 1126 assert_false(filereadable("")) |
1121 assert_false(filereadable(test_null_string())) | 1127 assert_false(filereadable(test_null_string())) |
1122 | 1128 |
1123 CheckDefExecFailure(['echo filereadable(123)'], 'E1013:') | 1129 v9.CheckDefExecFailure(['echo filereadable(123)'], 'E1013:') |
1124 CheckDefExecFailure(['echo filereadable(true)'], 'E1013:') | 1130 v9.CheckDefExecFailure(['echo filereadable(true)'], 'E1013:') |
1125 enddef | 1131 enddef |
1126 | 1132 |
1127 def Test_filewritable() | 1133 def Test_filewritable() |
1128 assert_false(filewritable("")) | 1134 assert_false(filewritable("")) |
1129 assert_false(filewritable(test_null_string())) | 1135 assert_false(filewritable(test_null_string())) |
1130 | 1136 |
1131 CheckDefExecFailure(['echo filewritable(123)'], 'E1013:') | 1137 v9.CheckDefExecFailure(['echo filewritable(123)'], 'E1013:') |
1132 CheckDefExecFailure(['echo filewritable(true)'], 'E1013:') | 1138 v9.CheckDefExecFailure(['echo filewritable(true)'], 'E1013:') |
1133 enddef | 1139 enddef |
1134 | 1140 |
1135 def Test_finddir() | 1141 def Test_finddir() |
1136 mkdir('Xtestdir') | 1142 mkdir('Xtestdir') |
1137 finddir('Xtestdir', '**', -1)->assert_equal(['Xtestdir']) | 1143 finddir('Xtestdir', '**', -1)->assert_equal(['Xtestdir']) |
1138 var lines =<< trim END | 1144 var lines =<< trim END |
1139 var l: list<string> = finddir('nothing', '*;', -1) | 1145 var l: list<string> = finddir('nothing', '*;', -1) |
1140 END | 1146 END |
1141 CheckDefAndScriptSuccess(lines) | 1147 v9.CheckDefAndScriptSuccess(lines) |
1142 delete('Xtestdir', 'rf') | 1148 delete('Xtestdir', 'rf') |
1143 | 1149 |
1144 CheckDefAndScriptFailure(['finddir(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 1150 v9.CheckDefAndScriptFailure(['finddir(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
1145 CheckDefAndScriptFailure(['finddir(v:null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) | 1151 v9.CheckDefAndScriptFailure(['finddir(v:null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) |
1146 CheckDefExecFailure(['echo finddir("")'], 'E1175:') | 1152 v9.CheckDefExecFailure(['echo finddir("")'], 'E1175:') |
1147 CheckDefAndScriptFailure(['finddir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 1153 v9.CheckDefAndScriptFailure(['finddir("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
1148 CheckDefAndScriptFailure(['finddir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 1154 v9.CheckDefAndScriptFailure(['finddir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
1149 finddir('abc', '')->assert_equal('') | 1155 finddir('abc', '')->assert_equal('') |
1150 | 1156 |
1151 CheckDefFailure(['var s: list<string> = finddir("foo")'], 'E1012: Type mismatch; expected list<string> but got string') | 1157 v9.CheckDefFailure(['var s: list<string> = finddir("foo")'], 'E1012: Type mismatch; expected list<string> but got string') |
1152 CheckDefFailure(['var s: list<string> = finddir("foo", "path")'], 'E1012: Type mismatch; expected list<string> but got string') | 1158 v9.CheckDefFailure(['var s: list<string> = finddir("foo", "path")'], 'E1012: Type mismatch; expected list<string> but got string') |
1153 # with third argument only runtime type checking | 1159 # with third argument only runtime type checking |
1154 CheckDefCompileSuccess(['var s: list<string> = finddir("foo", "path", 1)']) | 1160 v9.CheckDefCompileSuccess(['var s: list<string> = finddir("foo", "path", 1)']) |
1155 enddef | 1161 enddef |
1156 | 1162 |
1157 def Test_findfile() | 1163 def Test_findfile() |
1158 findfile('runtest.vim', '**', -1)->assert_equal(['runtest.vim']) | 1164 findfile('runtest.vim', '**', -1)->assert_equal(['runtest.vim']) |
1159 var lines =<< trim END | 1165 var lines =<< trim END |
1160 var l: list<string> = findfile('nothing', '*;', -1) | 1166 var l: list<string> = findfile('nothing', '*;', -1) |
1161 END | 1167 END |
1162 CheckDefAndScriptSuccess(lines) | 1168 v9.CheckDefAndScriptSuccess(lines) |
1163 | 1169 |
1164 CheckDefExecFailure(['findfile(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool') | 1170 v9.CheckDefExecFailure(['findfile(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool') |
1165 CheckDefExecFailure(['findfile(v:null)'], 'E1013: Argument 1: type mismatch, expected string but got special') | 1171 v9.CheckDefExecFailure(['findfile(v:null)'], 'E1013: Argument 1: type mismatch, expected string but got special') |
1166 CheckDefExecFailure(['findfile("")'], 'E1175:') | 1172 v9.CheckDefExecFailure(['findfile("")'], 'E1175:') |
1167 CheckDefAndScriptFailure(['findfile("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 1173 v9.CheckDefAndScriptFailure(['findfile("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
1168 CheckDefAndScriptFailure(['findfile("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 1174 v9.CheckDefAndScriptFailure(['findfile("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
1169 findfile('abc', '')->assert_equal('') | 1175 findfile('abc', '')->assert_equal('') |
1170 enddef | 1176 enddef |
1171 | 1177 |
1172 def Test_flatten() | 1178 def Test_flatten() |
1173 var lines =<< trim END | 1179 var lines =<< trim END |
1174 echo flatten([1, 2, 3]) | 1180 echo flatten([1, 2, 3]) |
1175 END | 1181 END |
1176 CheckDefAndScriptFailure(lines, 'E1158:') | 1182 v9.CheckDefAndScriptFailure(lines, 'E1158:') |
1177 enddef | 1183 enddef |
1178 | 1184 |
1179 def Test_flattennew() | 1185 def Test_flattennew() |
1180 var lines =<< trim END | 1186 var lines =<< trim END |
1181 var l = [1, [2, [3, 4]], 5] | 1187 var l = [1, [2, [3, 4]], 5] |
1186 call assert_equal([1, [2, [3, 4]], 5], l) | 1192 call assert_equal([1, [2, [3, 4]], 5], l) |
1187 | 1193 |
1188 var ll: list<list<string>> = [['a', 'b', 'c']] | 1194 var ll: list<list<string>> = [['a', 'b', 'c']] |
1189 assert_equal(['a', 'b', 'c'], ll->flattennew()) | 1195 assert_equal(['a', 'b', 'c'], ll->flattennew()) |
1190 END | 1196 END |
1191 CheckDefAndScriptSuccess(lines) | 1197 v9.CheckDefAndScriptSuccess(lines) |
1192 | 1198 |
1193 CheckDefAndScriptFailure(['flattennew({})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) | 1199 v9.CheckDefAndScriptFailure(['flattennew({})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) |
1194 CheckDefAndScriptFailure(['flattennew([], "1")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1200 v9.CheckDefAndScriptFailure(['flattennew([], "1")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1195 enddef | 1201 enddef |
1196 | 1202 |
1197 " Test for float functions argument type | 1203 " Test for float functions argument type |
1198 def Test_float_funcs_args() | 1204 def Test_float_funcs_args() |
1199 CheckFeature float | 1205 CheckFeature float |
1200 | 1206 |
1201 # acos() | 1207 # acos() |
1202 CheckDefAndScriptFailure(['acos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1208 v9.CheckDefAndScriptFailure(['acos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1203 # asin() | 1209 # asin() |
1204 CheckDefAndScriptFailure(['asin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1210 v9.CheckDefAndScriptFailure(['asin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1205 # atan() | 1211 # atan() |
1206 CheckDefAndScriptFailure(['atan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1212 v9.CheckDefAndScriptFailure(['atan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1207 # atan2() | 1213 # atan2() |
1208 CheckDefAndScriptFailure(['atan2("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1214 v9.CheckDefAndScriptFailure(['atan2("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1209 CheckDefAndScriptFailure(['atan2(1.2, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1215 v9.CheckDefAndScriptFailure(['atan2(1.2, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1210 CheckDefAndScriptFailure(['atan2(1.2)'], ['E119:', 'E119:']) | 1216 v9.CheckDefAndScriptFailure(['atan2(1.2)'], ['E119:', 'E119:']) |
1211 # ceil() | 1217 # ceil() |
1212 CheckDefAndScriptFailure(['ceil("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1218 v9.CheckDefAndScriptFailure(['ceil("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1213 # cos() | 1219 # cos() |
1214 CheckDefAndScriptFailure(['cos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1220 v9.CheckDefAndScriptFailure(['cos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1215 # cosh() | 1221 # cosh() |
1216 CheckDefAndScriptFailure(['cosh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1222 v9.CheckDefAndScriptFailure(['cosh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1217 # exp() | 1223 # exp() |
1218 CheckDefAndScriptFailure(['exp("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1224 v9.CheckDefAndScriptFailure(['exp("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1219 # float2nr() | 1225 # float2nr() |
1220 CheckDefAndScriptFailure(['float2nr("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1226 v9.CheckDefAndScriptFailure(['float2nr("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1221 # floor() | 1227 # floor() |
1222 CheckDefAndScriptFailure(['floor("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1228 v9.CheckDefAndScriptFailure(['floor("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1223 # fmod() | 1229 # fmod() |
1224 CheckDefAndScriptFailure(['fmod(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1230 v9.CheckDefAndScriptFailure(['fmod(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1225 CheckDefAndScriptFailure(['fmod("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1231 v9.CheckDefAndScriptFailure(['fmod("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1226 CheckDefAndScriptFailure(['fmod(1.1)'], ['E119:', 'E119:']) | 1232 v9.CheckDefAndScriptFailure(['fmod(1.1)'], ['E119:', 'E119:']) |
1227 # isinf() | 1233 # isinf() |
1228 CheckDefAndScriptFailure(['isinf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1234 v9.CheckDefAndScriptFailure(['isinf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1229 # isnan() | 1235 # isnan() |
1230 CheckDefAndScriptFailure(['isnan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1236 v9.CheckDefAndScriptFailure(['isnan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1231 # log() | 1237 # log() |
1232 CheckDefAndScriptFailure(['log("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1238 v9.CheckDefAndScriptFailure(['log("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1233 # log10() | 1239 # log10() |
1234 CheckDefAndScriptFailure(['log10("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1240 v9.CheckDefAndScriptFailure(['log10("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1235 # pow() | 1241 # pow() |
1236 CheckDefAndScriptFailure(['pow("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1242 v9.CheckDefAndScriptFailure(['pow("a", 1.1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1237 CheckDefAndScriptFailure(['pow(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) | 1243 v9.CheckDefAndScriptFailure(['pow(1.1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2']) |
1238 CheckDefAndScriptFailure(['pow(1.1)'], ['E119:', 'E119:']) | 1244 v9.CheckDefAndScriptFailure(['pow(1.1)'], ['E119:', 'E119:']) |
1239 # round() | 1245 # round() |
1240 CheckDefAndScriptFailure(['round("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1246 v9.CheckDefAndScriptFailure(['round("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1241 # sin() | 1247 # sin() |
1242 CheckDefAndScriptFailure(['sin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1248 v9.CheckDefAndScriptFailure(['sin("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1243 # sinh() | 1249 # sinh() |
1244 CheckDefAndScriptFailure(['sinh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1250 v9.CheckDefAndScriptFailure(['sinh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1245 # sqrt() | 1251 # sqrt() |
1246 CheckDefAndScriptFailure(['sqrt("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1252 v9.CheckDefAndScriptFailure(['sqrt("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1247 # tan() | 1253 # tan() |
1248 CheckDefAndScriptFailure(['tan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1254 v9.CheckDefAndScriptFailure(['tan("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1249 # tanh() | 1255 # tanh() |
1250 CheckDefAndScriptFailure(['tanh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1256 v9.CheckDefAndScriptFailure(['tanh("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1251 # trunc() | 1257 # trunc() |
1252 CheckDefAndScriptFailure(['trunc("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) | 1258 v9.CheckDefAndScriptFailure(['trunc("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1']) |
1253 enddef | 1259 enddef |
1254 | 1260 |
1255 def Test_fnameescape() | 1261 def Test_fnameescape() |
1256 CheckDefAndScriptFailure(['fnameescape(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1262 v9.CheckDefAndScriptFailure(['fnameescape(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1257 assert_equal('\+a\%b\|', fnameescape('+a%b|')) | 1263 assert_equal('\+a\%b\|', fnameescape('+a%b|')) |
1258 fnameescape('')->assert_equal('') | 1264 fnameescape('')->assert_equal('') |
1259 enddef | 1265 enddef |
1260 | 1266 |
1261 def Test_fnamemodify() | 1267 def Test_fnamemodify() |
1262 CheckDefSuccess(['echo fnamemodify(test_null_string(), ":p")']) | 1268 v9.CheckDefSuccess(['echo fnamemodify(test_null_string(), ":p")']) |
1263 CheckDefSuccess(['echo fnamemodify("", ":p")']) | 1269 v9.CheckDefSuccess(['echo fnamemodify("", ":p")']) |
1264 CheckDefSuccess(['echo fnamemodify("file", test_null_string())']) | 1270 v9.CheckDefSuccess(['echo fnamemodify("file", test_null_string())']) |
1265 CheckDefSuccess(['echo fnamemodify("file", "")']) | 1271 v9.CheckDefSuccess(['echo fnamemodify("file", "")']) |
1266 | 1272 |
1267 CheckDefExecFailure(['echo fnamemodify(true, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got bool') | 1273 v9.CheckDefExecFailure(['echo fnamemodify(true, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got bool') |
1268 CheckDefExecFailure(['echo fnamemodify(v:null, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got special') | 1274 v9.CheckDefExecFailure(['echo fnamemodify(v:null, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got special') |
1269 CheckDefExecFailure(['echo fnamemodify("file", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool') | 1275 v9.CheckDefExecFailure(['echo fnamemodify("file", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool') |
1270 enddef | 1276 enddef |
1271 | 1277 |
1272 def Wrong_dict_key_type(items: list<number>): list<number> | 1278 def Wrong_dict_key_type(items: list<number>): list<number> |
1273 return filter(items, (_, val) => get({[val]: 1}, 'x')) | 1279 return filter(items, (_, val) => get({[val]: 1}, 'x')) |
1274 enddef | 1280 enddef |
1275 | 1281 |
1276 def Test_filter() | 1282 def Test_filter() |
1277 CheckDefAndScriptFailure(['filter(1.1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got float', 'E1251: List, Dictionary, Blob or String required for argument 1']) | 1283 v9.CheckDefAndScriptFailure(['filter(1.1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got float', 'E1251: List, Dictionary, Blob or String required for argument 1']) |
1278 CheckDefAndScriptFailure(['filter([1, 2], 4)'], ['E1256: String or function required for argument 2', 'E1024: Using a Number as a String']) | 1284 v9.CheckDefAndScriptFailure(['filter([1, 2], 4)'], ['E1256: String or function required for argument 2', 'E1024: Using a Number as a String']) |
1279 | 1285 |
1280 var lines =<< trim END | 1286 var lines =<< trim END |
1281 def F(i: number, v: any): string | 1287 def F(i: number, v: any): string |
1282 return 'bad' | 1288 return 'bad' |
1283 enddef | 1289 enddef |
1284 echo filter([1, 2, 3], F) | 1290 echo filter([1, 2, 3], F) |
1285 END | 1291 END |
1286 CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): bool', 'E1135: Using a String as a Bool:']) | 1292 v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): bool', 'E1135: Using a String as a Bool:']) |
1287 | 1293 |
1288 assert_equal([], filter([1, 2, 3], '0')) | 1294 assert_equal([], filter([1, 2, 3], '0')) |
1289 assert_equal([1, 2, 3], filter([1, 2, 3], '1')) | 1295 assert_equal([1, 2, 3], filter([1, 2, 3], '1')) |
1290 assert_equal({b: 20}, filter({a: 10, b: 20}, 'v:val == 20')) | 1296 assert_equal({b: 20}, filter({a: 10, b: 20}, 'v:val == 20')) |
1291 | 1297 |
1314 var res = dict->filter((k, _) => k =~ 'a' && k !~ 'b') | 1320 var res = dict->filter((k, _) => k =~ 'a' && k !~ 'b') |
1315 res->assert_equal({aa: [1], ac: [3]}) | 1321 res->assert_equal({aa: [1], ac: [3]}) |
1316 enddef | 1322 enddef |
1317 | 1323 |
1318 def Test_foldclosed() | 1324 def Test_foldclosed() |
1319 CheckDefAndScriptFailure(['foldclosed(function("min"))'], ['E1013: Argument 1: type mismatch, expected string but got func(...): unknown', 'E1220: String or Number required for argument 1']) | 1325 v9.CheckDefAndScriptFailure(['foldclosed(function("min"))'], ['E1013: Argument 1: type mismatch, expected string but got func(...): unknown', 'E1220: String or Number required for argument 1']) |
1320 CheckDefExecAndScriptFailure(['foldclosed("")'], 'E1209: Invalid value for a line number') | 1326 v9.CheckDefExecAndScriptFailure(['foldclosed("")'], 'E1209: Invalid value for a line number') |
1321 assert_equal(-1, foldclosed(1)) | 1327 assert_equal(-1, foldclosed(1)) |
1322 assert_equal(-1, foldclosed('$')) | 1328 assert_equal(-1, foldclosed('$')) |
1323 enddef | 1329 enddef |
1324 | 1330 |
1325 def Test_foldclosedend() | 1331 def Test_foldclosedend() |
1326 CheckDefAndScriptFailure(['foldclosedend(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 1332 v9.CheckDefAndScriptFailure(['foldclosedend(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
1327 CheckDefExecAndScriptFailure(['foldclosedend("")'], 'E1209: Invalid value for a line number') | 1333 v9.CheckDefExecAndScriptFailure(['foldclosedend("")'], 'E1209: Invalid value for a line number') |
1328 assert_equal(-1, foldclosedend(1)) | 1334 assert_equal(-1, foldclosedend(1)) |
1329 assert_equal(-1, foldclosedend('w0')) | 1335 assert_equal(-1, foldclosedend('w0')) |
1330 enddef | 1336 enddef |
1331 | 1337 |
1332 def Test_foldlevel() | 1338 def Test_foldlevel() |
1333 CheckDefAndScriptFailure(['foldlevel(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 1339 v9.CheckDefAndScriptFailure(['foldlevel(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
1334 CheckDefExecAndScriptFailure(['foldlevel("")'], 'E1209: Invalid value for a line number') | 1340 v9.CheckDefExecAndScriptFailure(['foldlevel("")'], 'E1209: Invalid value for a line number') |
1335 assert_equal(0, foldlevel(1)) | 1341 assert_equal(0, foldlevel(1)) |
1336 assert_equal(0, foldlevel('.')) | 1342 assert_equal(0, foldlevel('.')) |
1337 enddef | 1343 enddef |
1338 | 1344 |
1339 def Test_foldtextresult() | 1345 def Test_foldtextresult() |
1340 CheckDefAndScriptFailure(['foldtextresult(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 1346 v9.CheckDefAndScriptFailure(['foldtextresult(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
1341 CheckDefExecAndScriptFailure(['foldtextresult("")'], 'E1209: Invalid value for a line number') | 1347 v9.CheckDefExecAndScriptFailure(['foldtextresult("")'], 'E1209: Invalid value for a line number') |
1342 assert_equal('', foldtextresult(1)) | 1348 assert_equal('', foldtextresult(1)) |
1343 assert_equal('', foldtextresult('.')) | 1349 assert_equal('', foldtextresult('.')) |
1344 enddef | 1350 enddef |
1345 | 1351 |
1346 def Test_fullcommand() | 1352 def Test_fullcommand() |
1366 assert_equal('', fullcommand('scg')) | 1372 assert_equal('', fullcommand('scg')) |
1367 fullcommand('')->assert_equal('') | 1373 fullcommand('')->assert_equal('') |
1368 enddef | 1374 enddef |
1369 | 1375 |
1370 def Test_funcref() | 1376 def Test_funcref() |
1371 CheckDefAndScriptFailure(['funcref("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) | 1377 v9.CheckDefAndScriptFailure(['funcref("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) |
1372 CheckDefAndScriptFailure(['funcref("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 1378 v9.CheckDefAndScriptFailure(['funcref("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
1373 | 1379 |
1374 var lines =<< trim END | 1380 var lines =<< trim END |
1375 vim9script | 1381 vim9script |
1376 def UseBool(b: bool) | 1382 def UseBool(b: bool) |
1377 enddef | 1383 enddef |
1384 var Ref1: func(number) = funcref(UseBool) | 1390 var Ref1: func(number) = funcref(UseBool) |
1385 enddef | 1391 enddef |
1386 defcompile | 1392 defcompile |
1387 GetRefOk() | 1393 GetRefOk() |
1388 END | 1394 END |
1389 CheckScriptSuccess(lines) | 1395 v9.CheckScriptSuccess(lines) |
1390 | 1396 |
1391 lines =<< trim END | 1397 lines =<< trim END |
1392 vim9script | 1398 vim9script |
1393 def UseBool(b: bool) | 1399 def UseBool(b: bool) |
1394 enddef | 1400 enddef |
1396 # only fails at runtime | 1402 # only fails at runtime |
1397 var Ref1: func(number) = funcref(UseBool) | 1403 var Ref1: func(number) = funcref(UseBool) |
1398 enddef | 1404 enddef |
1399 GetRefBad() | 1405 GetRefBad() |
1400 END | 1406 END |
1401 CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(bool)') | 1407 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(bool)') |
1402 enddef | 1408 enddef |
1403 | 1409 |
1404 def Test_function() | 1410 def Test_function() |
1405 CheckDefExecAndScriptFailure(['function(123)'], 'E1256: String or function required for argument 1') | 1411 v9.CheckDefExecAndScriptFailure(['function(123)'], 'E1256: String or function required for argument 1') |
1406 | 1412 |
1407 CheckDefAndScriptFailure(['function("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) | 1413 v9.CheckDefAndScriptFailure(['function("reverse", 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) |
1408 CheckDefAndScriptFailure(['function("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 1414 v9.CheckDefAndScriptFailure(['function("reverse", [2], [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
1409 | 1415 |
1410 var lines =<< trim END | 1416 var lines =<< trim END |
1411 vim9script | 1417 vim9script |
1412 def UseBool(b: bool) | 1418 def UseBool(b: bool) |
1413 enddef | 1419 enddef |
1420 var Ref1: func(number) = function(UseBool) | 1426 var Ref1: func(number) = function(UseBool) |
1421 enddef | 1427 enddef |
1422 defcompile | 1428 defcompile |
1423 GetRefOk() | 1429 GetRefOk() |
1424 END | 1430 END |
1425 CheckScriptSuccess(lines) | 1431 v9.CheckScriptSuccess(lines) |
1426 | 1432 |
1427 lines =<< trim END | 1433 lines =<< trim END |
1428 vim9script | 1434 vim9script |
1429 def UseBool(b: bool) | 1435 def UseBool(b: bool) |
1430 enddef | 1436 enddef |
1432 # only fails at runtime | 1438 # only fails at runtime |
1433 var Ref1: func(number) = function(UseBool) | 1439 var Ref1: func(number) = function(UseBool) |
1434 enddef | 1440 enddef |
1435 GetRefBad() | 1441 GetRefBad() |
1436 END | 1442 END |
1437 CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(bool)') | 1443 v9.CheckScriptFailure(lines, 'E1012: Type mismatch; expected func(number) but got func(bool)') |
1438 enddef | 1444 enddef |
1439 | 1445 |
1440 def Test_garbagecollect() | 1446 def Test_garbagecollect() |
1441 garbagecollect(true) | 1447 garbagecollect(true) |
1442 CheckDefAndScriptFailure(['garbagecollect("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 1448 v9.CheckDefAndScriptFailure(['garbagecollect("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
1443 CheckDefAndScriptFailure(['garbagecollect(20)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 1449 v9.CheckDefAndScriptFailure(['garbagecollect(20)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
1444 enddef | 1450 enddef |
1445 | 1451 |
1446 def Test_get() | 1452 def Test_get() |
1447 CheckDefAndScriptFailure(['get("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E896: Argument of get() must be a List, Dictionary or Blob']) | 1453 v9.CheckDefAndScriptFailure(['get("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E896: Argument of get() must be a List, Dictionary or Blob']) |
1448 [3, 5, 2]->get(1)->assert_equal(5) | 1454 [3, 5, 2]->get(1)->assert_equal(5) |
1449 [3, 5, 2]->get(3)->assert_equal(0) | 1455 [3, 5, 2]->get(3)->assert_equal(0) |
1450 [3, 5, 2]->get(3, 9)->assert_equal(9) | 1456 [3, 5, 2]->get(3, 9)->assert_equal(9) |
1451 assert_equal(get(0z102030, 2), 0x30) | 1457 assert_equal(get(0z102030, 2), 0x30) |
1452 {a: 7, b: 11, c: 13}->get('c')->assert_equal(13) | 1458 {a: 7, b: 11, c: 13}->get('c')->assert_equal(13) |
1462 var Getqflist: func = function('getqflist', [{id: 42}]) | 1468 var Getqflist: func = function('getqflist', [{id: 42}]) |
1463 return Getqflist()->get('id', 77) | 1469 return Getqflist()->get('id', 77) |
1464 enddef | 1470 enddef |
1465 assert_equal(0, DoThat()) | 1471 assert_equal(0, DoThat()) |
1466 END | 1472 END |
1467 CheckScriptSuccess(lines) | 1473 v9.CheckScriptSuccess(lines) |
1468 enddef | 1474 enddef |
1469 | 1475 |
1470 def Test_getbufinfo() | 1476 def Test_getbufinfo() |
1471 var bufinfo = getbufinfo(bufnr()) | 1477 var bufinfo = getbufinfo(bufnr()) |
1472 getbufinfo('%')->assert_equal(bufinfo) | 1478 getbufinfo('%')->assert_equal(bufinfo) |
1475 hide edit Xtestfile2 | 1481 hide edit Xtestfile2 |
1476 hide enew | 1482 hide enew |
1477 getbufinfo({bufloaded: true, buflisted: true, bufmodified: false}) | 1483 getbufinfo({bufloaded: true, buflisted: true, bufmodified: false}) |
1478 ->len()->assert_equal(3) | 1484 ->len()->assert_equal(3) |
1479 bwipe Xtestfile1 Xtestfile2 | 1485 bwipe Xtestfile1 Xtestfile2 |
1480 CheckDefAndScriptFailure(['getbufinfo(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 1486 v9.CheckDefAndScriptFailure(['getbufinfo(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
1481 enddef | 1487 enddef |
1482 | 1488 |
1483 def Test_getbufline() | 1489 def Test_getbufline() |
1484 e SomeFile | 1490 e SomeFile |
1485 var buf = bufnr() | 1491 var buf = bufnr() |
1492 | 1498 |
1493 assert_fails('getbufline("", "$a", "$b")', ['E1030: Using a String as a Number: "$a"', 'E1030: Using a String as a Number: "$a"']) | 1499 assert_fails('getbufline("", "$a", "$b")', ['E1030: Using a String as a Number: "$a"', 'E1030: Using a String as a Number: "$a"']) |
1494 assert_fails('getbufline("", "$", "$b")', ['E1030: Using a String as a Number: "$b"', 'E1030: Using a String as a Number: "$b"']) | 1500 assert_fails('getbufline("", "$", "$b")', ['E1030: Using a String as a Number: "$b"', 'E1030: Using a String as a Number: "$b"']) |
1495 bwipe! | 1501 bwipe! |
1496 | 1502 |
1497 CheckDefAndScriptFailure(['getbufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 1503 v9.CheckDefAndScriptFailure(['getbufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
1498 CheckDefAndScriptFailure(['getbufline("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2']) | 1504 v9.CheckDefAndScriptFailure(['getbufline("a", [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2']) |
1499 CheckDefAndScriptFailure(['getbufline("a", 2, 0z10)'], ['E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3']) | 1505 v9.CheckDefAndScriptFailure(['getbufline("a", 2, 0z10)'], ['E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3']) |
1500 enddef | 1506 enddef |
1501 | 1507 |
1502 def Test_getbufvar() | 1508 def Test_getbufvar() |
1503 CheckDefAndScriptFailure(['getbufvar(true, "v")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 1509 v9.CheckDefAndScriptFailure(['getbufvar(true, "v")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
1504 CheckDefAndScriptFailure(['getbufvar(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1510 v9.CheckDefAndScriptFailure(['getbufvar(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1505 enddef | 1511 enddef |
1506 | 1512 |
1507 def Test_getchangelist() | 1513 def Test_getchangelist() |
1508 new | 1514 new |
1509 setline(1, 'some text') | 1515 setline(1, 'some text') |
1515 def Test_getchar() | 1521 def Test_getchar() |
1516 while getchar(0) | 1522 while getchar(0) |
1517 endwhile | 1523 endwhile |
1518 getchar(true)->assert_equal(0) | 1524 getchar(true)->assert_equal(0) |
1519 getchar(1)->assert_equal(0) | 1525 getchar(1)->assert_equal(0) |
1520 CheckDefAndScriptFailure(['getchar(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 1526 v9.CheckDefAndScriptFailure(['getchar(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
1521 CheckDefAndScriptFailure(['getchar("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 1527 v9.CheckDefAndScriptFailure(['getchar("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
1522 enddef | 1528 enddef |
1523 | 1529 |
1524 def Test_getcharpos() | 1530 def Test_getcharpos() |
1525 CheckDefAndScriptFailure(['getcharpos(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 1531 v9.CheckDefAndScriptFailure(['getcharpos(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
1526 CheckDefAndScriptFailure(['getcharpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1532 v9.CheckDefAndScriptFailure(['getcharpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1527 CheckDefExecAndScriptFailure(['getcharpos("")'], 'E1209: Invalid value for a line number') | 1533 v9.CheckDefExecAndScriptFailure(['getcharpos("")'], 'E1209: Invalid value for a line number') |
1528 enddef | 1534 enddef |
1529 | 1535 |
1530 def Test_getcharstr() | 1536 def Test_getcharstr() |
1531 CheckDefAndScriptFailure(['getcharstr(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 1537 v9.CheckDefAndScriptFailure(['getcharstr(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
1532 CheckDefAndScriptFailure(['getcharstr("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 1538 v9.CheckDefAndScriptFailure(['getcharstr("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
1533 enddef | 1539 enddef |
1534 | 1540 |
1535 def Test_getcompletion() | 1541 def Test_getcompletion() |
1536 set wildignore=*.vim,*~ | 1542 set wildignore=*.vim,*~ |
1537 var l = getcompletion('run', 'file', true) | 1543 var l = getcompletion('run', 'file', true) |
1538 l->assert_equal([]) | 1544 l->assert_equal([]) |
1539 set wildignore& | 1545 set wildignore& |
1540 CheckDefAndScriptFailure(['getcompletion(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1546 v9.CheckDefAndScriptFailure(['getcompletion(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1541 CheckDefAndScriptFailure(['getcompletion("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1547 v9.CheckDefAndScriptFailure(['getcompletion("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1542 CheckDefAndScriptFailure(['getcompletion("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 1548 v9.CheckDefAndScriptFailure(['getcompletion("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
1543 CheckDefExecAndScriptFailure(['getcompletion("a", "")'], 'E475: Invalid argument') | 1549 v9.CheckDefExecAndScriptFailure(['getcompletion("a", "")'], 'E475: Invalid argument') |
1544 getcompletion('', 'messages')->assert_equal(['clear']) | 1550 getcompletion('', 'messages')->assert_equal(['clear']) |
1545 enddef | 1551 enddef |
1546 | 1552 |
1547 def Test_getcurpos() | 1553 def Test_getcurpos() |
1548 CheckDefAndScriptFailure(['getcurpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1554 v9.CheckDefAndScriptFailure(['getcurpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1549 enddef | 1555 enddef |
1550 | 1556 |
1551 def Test_getcursorcharpos() | 1557 def Test_getcursorcharpos() |
1552 CheckDefAndScriptFailure(['getcursorcharpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1558 v9.CheckDefAndScriptFailure(['getcursorcharpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1553 enddef | 1559 enddef |
1554 | 1560 |
1555 def Test_getcwd() | 1561 def Test_getcwd() |
1556 CheckDefAndScriptFailure(['getcwd("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1562 v9.CheckDefAndScriptFailure(['getcwd("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1557 CheckDefAndScriptFailure(['getcwd("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1563 v9.CheckDefAndScriptFailure(['getcwd("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1558 CheckDefAndScriptFailure(['getcwd(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1564 v9.CheckDefAndScriptFailure(['getcwd(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1559 enddef | 1565 enddef |
1560 | 1566 |
1561 def Test_getenv() | 1567 def Test_getenv() |
1562 if getenv('does-not_exist') == '' | 1568 if getenv('does-not_exist') == '' |
1563 assert_report('getenv() should return null') | 1569 assert_report('getenv() should return null') |
1571 unlet $SOMEENVVAR | 1577 unlet $SOMEENVVAR |
1572 getenv('')->assert_equal(v:null) | 1578 getenv('')->assert_equal(v:null) |
1573 enddef | 1579 enddef |
1574 | 1580 |
1575 def Test_getfontname() | 1581 def Test_getfontname() |
1576 CheckDefAndScriptFailure(['getfontname(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1582 v9.CheckDefAndScriptFailure(['getfontname(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1577 #getfontname('')->assert_equal('') | 1583 #getfontname('')->assert_equal('') |
1578 enddef | 1584 enddef |
1579 | 1585 |
1580 def Test_getfperm() | 1586 def Test_getfperm() |
1581 assert_equal('', getfperm("")) | 1587 assert_equal('', getfperm("")) |
1582 assert_equal('', getfperm(test_null_string())) | 1588 assert_equal('', getfperm(test_null_string())) |
1583 | 1589 |
1584 CheckDefExecFailure(['echo getfperm(true)'], 'E1013:') | 1590 v9.CheckDefExecFailure(['echo getfperm(true)'], 'E1013:') |
1585 CheckDefExecFailure(['echo getfperm(v:null)'], 'E1013:') | 1591 v9.CheckDefExecFailure(['echo getfperm(v:null)'], 'E1013:') |
1586 enddef | 1592 enddef |
1587 | 1593 |
1588 def Test_getfsize() | 1594 def Test_getfsize() |
1589 assert_equal(-1, getfsize("")) | 1595 assert_equal(-1, getfsize("")) |
1590 assert_equal(-1, getfsize(test_null_string())) | 1596 assert_equal(-1, getfsize(test_null_string())) |
1591 | 1597 |
1592 CheckDefExecFailure(['echo getfsize(true)'], 'E1013:') | 1598 v9.CheckDefExecFailure(['echo getfsize(true)'], 'E1013:') |
1593 CheckDefExecFailure(['echo getfsize(v:null)'], 'E1013:') | 1599 v9.CheckDefExecFailure(['echo getfsize(v:null)'], 'E1013:') |
1594 enddef | 1600 enddef |
1595 | 1601 |
1596 def Test_getftime() | 1602 def Test_getftime() |
1597 assert_equal(-1, getftime("")) | 1603 assert_equal(-1, getftime("")) |
1598 assert_equal(-1, getftime(test_null_string())) | 1604 assert_equal(-1, getftime(test_null_string())) |
1599 | 1605 |
1600 CheckDefExecFailure(['echo getftime(true)'], 'E1013:') | 1606 v9.CheckDefExecFailure(['echo getftime(true)'], 'E1013:') |
1601 CheckDefExecFailure(['echo getftime(v:null)'], 'E1013:') | 1607 v9.CheckDefExecFailure(['echo getftime(v:null)'], 'E1013:') |
1602 enddef | 1608 enddef |
1603 | 1609 |
1604 def Test_getftype() | 1610 def Test_getftype() |
1605 assert_equal('', getftype("")) | 1611 assert_equal('', getftype("")) |
1606 assert_equal('', getftype(test_null_string())) | 1612 assert_equal('', getftype(test_null_string())) |
1607 | 1613 |
1608 CheckDefExecFailure(['echo getftype(true)'], 'E1013:') | 1614 v9.CheckDefExecFailure(['echo getftype(true)'], 'E1013:') |
1609 CheckDefExecFailure(['echo getftype(v:null)'], 'E1013:') | 1615 v9.CheckDefExecFailure(['echo getftype(v:null)'], 'E1013:') |
1610 enddef | 1616 enddef |
1611 | 1617 |
1612 def Test_getjumplist() | 1618 def Test_getjumplist() |
1613 CheckDefAndScriptFailure(['getjumplist("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1619 v9.CheckDefAndScriptFailure(['getjumplist("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1614 CheckDefAndScriptFailure(['getjumplist("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1620 v9.CheckDefAndScriptFailure(['getjumplist("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1615 CheckDefAndScriptFailure(['getjumplist(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1621 v9.CheckDefAndScriptFailure(['getjumplist(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1616 enddef | 1622 enddef |
1617 | 1623 |
1618 def Test_getline() | 1624 def Test_getline() |
1619 var lines =<< trim END | 1625 var lines =<< trim END |
1620 new | 1626 new |
1624 | 1630 |
1625 normal 2Gvjv | 1631 normal 2Gvjv |
1626 assert_equal('there', getline("'<")) | 1632 assert_equal('there', getline("'<")) |
1627 assert_equal('again', getline("'>")) | 1633 assert_equal('again', getline("'>")) |
1628 END | 1634 END |
1629 CheckDefAndScriptSuccess(lines) | 1635 v9.CheckDefAndScriptSuccess(lines) |
1630 | 1636 |
1631 lines =<< trim END | 1637 lines =<< trim END |
1632 echo getline('1') | 1638 echo getline('1') |
1633 END | 1639 END |
1634 CheckDefExecAndScriptFailure(lines, 'E1209:') | 1640 v9.CheckDefExecAndScriptFailure(lines, 'E1209:') |
1635 CheckDefAndScriptFailure(['getline(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 1641 v9.CheckDefAndScriptFailure(['getline(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
1636 CheckDefAndScriptFailure(['getline(1, true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) | 1642 v9.CheckDefAndScriptFailure(['getline(1, true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) |
1637 CheckDefExecAndScriptFailure(['getline("")'], 'E1209: Invalid value for a line number') | 1643 v9.CheckDefExecAndScriptFailure(['getline("")'], 'E1209: Invalid value for a line number') |
1638 enddef | 1644 enddef |
1639 | 1645 |
1640 def Test_getloclist() | 1646 def Test_getloclist() |
1641 CheckDefAndScriptFailure(['getloclist("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1647 v9.CheckDefAndScriptFailure(['getloclist("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1642 CheckDefAndScriptFailure(['getloclist(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 1648 v9.CheckDefAndScriptFailure(['getloclist(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
1643 enddef | 1649 enddef |
1644 | 1650 |
1645 def Test_getloclist_return_type() | 1651 def Test_getloclist_return_type() |
1646 var l = getloclist(1) | 1652 var l = getloclist(1) |
1647 l->assert_equal([]) | 1653 l->assert_equal([]) |
1649 var d = getloclist(1, {items: 0}) | 1655 var d = getloclist(1, {items: 0}) |
1650 d->assert_equal({items: []}) | 1656 d->assert_equal({items: []}) |
1651 enddef | 1657 enddef |
1652 | 1658 |
1653 def Test_getmarklist() | 1659 def Test_getmarklist() |
1654 CheckDefAndScriptFailure(['getmarklist([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 1660 v9.CheckDefAndScriptFailure(['getmarklist([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
1655 assert_equal([], getmarklist(10000)) | 1661 assert_equal([], getmarklist(10000)) |
1656 assert_fails('getmarklist("a%b@#")', 'E94:') | 1662 assert_fails('getmarklist("a%b@#")', 'E94:') |
1657 enddef | 1663 enddef |
1658 | 1664 |
1659 def Test_getmatches() | 1665 def Test_getmatches() |
1660 CheckDefAndScriptFailure(['getmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1666 v9.CheckDefAndScriptFailure(['getmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1661 enddef | 1667 enddef |
1662 | 1668 |
1663 def Test_getpos() | 1669 def Test_getpos() |
1664 CheckDefAndScriptFailure(['getpos(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1670 v9.CheckDefAndScriptFailure(['getpos(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1665 assert_equal([0, 1, 1, 0], getpos('.')) | 1671 assert_equal([0, 1, 1, 0], getpos('.')) |
1666 CheckDefExecFailure(['getpos("a")'], 'E1209:') | 1672 v9.CheckDefExecFailure(['getpos("a")'], 'E1209:') |
1667 CheckDefExecAndScriptFailure(['getpos("")'], 'E1209: Invalid value for a line number') | 1673 v9.CheckDefExecAndScriptFailure(['getpos("")'], 'E1209: Invalid value for a line number') |
1668 enddef | 1674 enddef |
1669 | 1675 |
1670 def Test_getqflist() | 1676 def Test_getqflist() |
1671 CheckDefAndScriptFailure(['getqflist([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 1677 v9.CheckDefAndScriptFailure(['getqflist([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
1672 call assert_equal({}, getqflist({})) | 1678 call assert_equal({}, getqflist({})) |
1673 enddef | 1679 enddef |
1674 | 1680 |
1675 def Test_getqflist_return_type() | 1681 def Test_getqflist_return_type() |
1676 var l = getqflist() | 1682 var l = getqflist() |
1683 def Test_getreg() | 1689 def Test_getreg() |
1684 var lines = ['aaa', 'bbb', 'ccc'] | 1690 var lines = ['aaa', 'bbb', 'ccc'] |
1685 setreg('a', lines) | 1691 setreg('a', lines) |
1686 getreg('a', true, true)->assert_equal(lines) | 1692 getreg('a', true, true)->assert_equal(lines) |
1687 assert_fails('getreg("ab")', 'E1162:') | 1693 assert_fails('getreg("ab")', 'E1162:') |
1688 CheckDefAndScriptFailure(['getreg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1694 v9.CheckDefAndScriptFailure(['getreg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1689 CheckDefAndScriptFailure(['getreg(".", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 1695 v9.CheckDefAndScriptFailure(['getreg(".", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
1690 CheckDefAndScriptFailure(['getreg(".", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) | 1696 v9.CheckDefAndScriptFailure(['getreg(".", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) |
1691 @" = 'A1B2C3' | 1697 @" = 'A1B2C3' |
1692 getreg('')->assert_equal('A1B2C3') | 1698 getreg('')->assert_equal('A1B2C3') |
1693 enddef | 1699 enddef |
1694 | 1700 |
1695 def Test_getreg_return_type() | 1701 def Test_getreg_return_type() |
1715 setreg('"', 'ABCD', 'b') | 1721 setreg('"', 'ABCD', 'b') |
1716 getregtype('')->assert_equal("\<C-V>4") | 1722 getregtype('')->assert_equal("\<C-V>4") |
1717 enddef | 1723 enddef |
1718 | 1724 |
1719 def Test_gettabinfo() | 1725 def Test_gettabinfo() |
1720 CheckDefAndScriptFailure(['gettabinfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1726 v9.CheckDefAndScriptFailure(['gettabinfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1721 enddef | 1727 enddef |
1722 | 1728 |
1723 def Test_gettabvar() | 1729 def Test_gettabvar() |
1724 CheckDefAndScriptFailure(['gettabvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1730 v9.CheckDefAndScriptFailure(['gettabvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1725 CheckDefAndScriptFailure(['gettabvar(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1731 v9.CheckDefAndScriptFailure(['gettabvar(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1726 enddef | 1732 enddef |
1727 | 1733 |
1728 def Test_gettabwinvar() | 1734 def Test_gettabwinvar() |
1729 CheckDefAndScriptFailure(['gettabwinvar("a", 2, "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1735 v9.CheckDefAndScriptFailure(['gettabwinvar("a", 2, "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1730 CheckDefAndScriptFailure(['gettabwinvar(1, "b", "c", [])'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1736 v9.CheckDefAndScriptFailure(['gettabwinvar(1, "b", "c", [])'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1731 CheckDefAndScriptFailure(['gettabwinvar(1, 1, 3, {})'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 1737 v9.CheckDefAndScriptFailure(['gettabwinvar(1, 1, 3, {})'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
1732 enddef | 1738 enddef |
1733 | 1739 |
1734 def Test_gettagstack() | 1740 def Test_gettagstack() |
1735 CheckDefAndScriptFailure(['gettagstack("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1741 v9.CheckDefAndScriptFailure(['gettagstack("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1736 enddef | 1742 enddef |
1737 | 1743 |
1738 def Test_gettext() | 1744 def Test_gettext() |
1739 CheckDefAndScriptFailure(['gettext(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1745 v9.CheckDefAndScriptFailure(['gettext(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1740 CheckDefExecAndScriptFailure(['gettext("")'], 'E475: Invalid argument') | 1746 v9.CheckDefExecAndScriptFailure(['gettext("")'], 'E475: Invalid argument') |
1741 assert_equal('abc', gettext("abc")) | 1747 assert_equal('abc', gettext("abc")) |
1742 assert_fails('gettext("")', 'E475:') | 1748 assert_fails('gettext("")', 'E475:') |
1743 enddef | 1749 enddef |
1744 | 1750 |
1745 def Test_getwininfo() | 1751 def Test_getwininfo() |
1746 CheckDefAndScriptFailure(['getwininfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1752 v9.CheckDefAndScriptFailure(['getwininfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1747 enddef | 1753 enddef |
1748 | 1754 |
1749 def Test_getwinpos() | 1755 def Test_getwinpos() |
1750 CheckDefAndScriptFailure(['getwinpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1756 v9.CheckDefAndScriptFailure(['getwinpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1751 enddef | 1757 enddef |
1752 | 1758 |
1753 def Test_getwinvar() | 1759 def Test_getwinvar() |
1754 CheckDefAndScriptFailure(['getwinvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1760 v9.CheckDefAndScriptFailure(['getwinvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1755 CheckDefAndScriptFailure(['getwinvar(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1761 v9.CheckDefAndScriptFailure(['getwinvar(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1756 enddef | 1762 enddef |
1757 | 1763 |
1758 def Test_glob() | 1764 def Test_glob() |
1759 glob('runtest.vim', true, true, true)->assert_equal(['runtest.vim']) | 1765 glob('runtest.vim', true, true, true)->assert_equal(['runtest.vim']) |
1760 CheckDefAndScriptFailure(['glob(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1766 v9.CheckDefAndScriptFailure(['glob(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1761 CheckDefAndScriptFailure(['glob("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 1767 v9.CheckDefAndScriptFailure(['glob("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
1762 CheckDefAndScriptFailure(['glob("a", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) | 1768 v9.CheckDefAndScriptFailure(['glob("a", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) |
1763 CheckDefAndScriptFailure(['glob("a", 1, true, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 1769 v9.CheckDefAndScriptFailure(['glob("a", 1, true, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
1764 glob('')->assert_equal('') | 1770 glob('')->assert_equal('') |
1765 enddef | 1771 enddef |
1766 | 1772 |
1767 def Test_glob2regpat() | 1773 def Test_glob2regpat() |
1768 CheckDefAndScriptFailure(['glob2regpat(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) | 1774 v9.CheckDefAndScriptFailure(['glob2regpat(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1']) |
1769 glob2regpat('')->assert_equal('^$') | 1775 glob2regpat('')->assert_equal('^$') |
1770 enddef | 1776 enddef |
1771 | 1777 |
1772 def Test_globpath() | 1778 def Test_globpath() |
1773 globpath('.', 'runtest.vim', true, true, true)->assert_equal(['./runtest.vim']) | 1779 globpath('.', 'runtest.vim', true, true, true)->assert_equal(['./runtest.vim']) |
1774 CheckDefAndScriptFailure(['globpath(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1780 v9.CheckDefAndScriptFailure(['globpath(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1775 CheckDefAndScriptFailure(['globpath("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1781 v9.CheckDefAndScriptFailure(['globpath("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1776 CheckDefAndScriptFailure(['globpath("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) | 1782 v9.CheckDefAndScriptFailure(['globpath("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) |
1777 CheckDefAndScriptFailure(['globpath("a", "b", true, "d")'], ['E1013: Argument 4: type mismatch, expected bool but got string', 'E1212: Bool required for argument 4']) | 1783 v9.CheckDefAndScriptFailure(['globpath("a", "b", true, "d")'], ['E1013: Argument 4: type mismatch, expected bool but got string', 'E1212: Bool required for argument 4']) |
1778 CheckDefAndScriptFailure(['globpath("a", "b", true, false, "e")'], ['E1013: Argument 5: type mismatch, expected bool but got string', 'E1212: Bool required for argument 5']) | 1784 v9.CheckDefAndScriptFailure(['globpath("a", "b", true, false, "e")'], ['E1013: Argument 5: type mismatch, expected bool but got string', 'E1212: Bool required for argument 5']) |
1779 globpath('', '')->assert_equal('') | 1785 globpath('', '')->assert_equal('') |
1780 enddef | 1786 enddef |
1781 | 1787 |
1782 def Test_has() | 1788 def Test_has() |
1783 has('eval', true)->assert_equal(1) | 1789 has('eval', true)->assert_equal(1) |
1784 CheckDefAndScriptFailure(['has(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 1790 v9.CheckDefAndScriptFailure(['has(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
1785 CheckDefAndScriptFailure(['has("a", "b")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) | 1791 v9.CheckDefAndScriptFailure(['has("a", "b")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) |
1786 has('')->assert_equal(0) | 1792 has('')->assert_equal(0) |
1787 enddef | 1793 enddef |
1788 | 1794 |
1789 def Test_has_key() | 1795 def Test_has_key() |
1790 var d = {123: 'xx'} | 1796 var d = {123: 'xx'} |
1791 assert_true(has_key(d, '123')) | 1797 assert_true(has_key(d, '123')) |
1792 assert_true(has_key(d, 123)) | 1798 assert_true(has_key(d, 123)) |
1793 assert_false(has_key(d, 'x')) | 1799 assert_false(has_key(d, 'x')) |
1794 assert_false(has_key(d, 99)) | 1800 assert_false(has_key(d, 99)) |
1795 | 1801 |
1796 CheckDefAndScriptFailure(['has_key([1, 2], "k")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) | 1802 v9.CheckDefAndScriptFailure(['has_key([1, 2], "k")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) |
1797 CheckDefAndScriptFailure(['has_key({"a": 10}, ["a"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 2']) | 1803 v9.CheckDefAndScriptFailure(['has_key({"a": 10}, ["a"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 2']) |
1798 enddef | 1804 enddef |
1799 | 1805 |
1800 def Test_haslocaldir() | 1806 def Test_haslocaldir() |
1801 CheckDefAndScriptFailure(['haslocaldir("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1807 v9.CheckDefAndScriptFailure(['haslocaldir("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1802 CheckDefAndScriptFailure(['haslocaldir("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1808 v9.CheckDefAndScriptFailure(['haslocaldir("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1803 CheckDefAndScriptFailure(['haslocaldir(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1809 v9.CheckDefAndScriptFailure(['haslocaldir(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1804 enddef | 1810 enddef |
1805 | 1811 |
1806 def Test_hasmapto() | 1812 def Test_hasmapto() |
1807 hasmapto('foobar', 'i', true)->assert_equal(0) | 1813 hasmapto('foobar', 'i', true)->assert_equal(0) |
1808 iabbrev foo foobar | 1814 iabbrev foo foobar |
1809 hasmapto('foobar', 'i', true)->assert_equal(1) | 1815 hasmapto('foobar', 'i', true)->assert_equal(1) |
1810 iunabbrev foo | 1816 iunabbrev foo |
1811 CheckDefAndScriptFailure(['hasmapto(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1817 v9.CheckDefAndScriptFailure(['hasmapto(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1812 CheckDefAndScriptFailure(['hasmapto("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1818 v9.CheckDefAndScriptFailure(['hasmapto("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1813 CheckDefAndScriptFailure(['hasmapto("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 1819 v9.CheckDefAndScriptFailure(['hasmapto("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
1814 hasmapto('', '')->assert_equal(0) | 1820 hasmapto('', '')->assert_equal(0) |
1815 enddef | 1821 enddef |
1816 | 1822 |
1817 def Test_histadd() | 1823 def Test_histadd() |
1818 CheckDefAndScriptFailure(['histadd(1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1824 v9.CheckDefAndScriptFailure(['histadd(1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1819 CheckDefAndScriptFailure(['histadd(":", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1825 v9.CheckDefAndScriptFailure(['histadd(":", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1820 histadd("search", 'skyblue') | 1826 histadd("search", 'skyblue') |
1821 assert_equal('skyblue', histget('/', -1)) | 1827 assert_equal('skyblue', histget('/', -1)) |
1822 histadd("search", '')->assert_equal(0) | 1828 histadd("search", '')->assert_equal(0) |
1823 enddef | 1829 enddef |
1824 | 1830 |
1825 def Test_histdel() | 1831 def Test_histdel() |
1826 CheckDefAndScriptFailure(['histdel(1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1832 v9.CheckDefAndScriptFailure(['histdel(1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1827 CheckDefAndScriptFailure(['histdel(":", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) | 1833 v9.CheckDefAndScriptFailure(['histdel(":", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) |
1828 histdel('search', '')->assert_equal(0) | 1834 histdel('search', '')->assert_equal(0) |
1829 enddef | 1835 enddef |
1830 | 1836 |
1831 def Test_histget() | 1837 def Test_histget() |
1832 CheckDefAndScriptFailure(['histget(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1838 v9.CheckDefAndScriptFailure(['histget(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1833 CheckDefAndScriptFailure(['histget("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1839 v9.CheckDefAndScriptFailure(['histget("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1834 enddef | 1840 enddef |
1835 | 1841 |
1836 def Test_histnr() | 1842 def Test_histnr() |
1837 CheckDefAndScriptFailure(['histnr(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1843 v9.CheckDefAndScriptFailure(['histnr(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1838 assert_equal(-1, histnr('abc')) | 1844 assert_equal(-1, histnr('abc')) |
1839 enddef | 1845 enddef |
1840 | 1846 |
1841 def Test_hlID() | 1847 def Test_hlID() |
1842 CheckDefAndScriptFailure(['hlID(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1848 v9.CheckDefAndScriptFailure(['hlID(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1843 assert_equal(0, hlID('NonExistingHighlight')) | 1849 assert_equal(0, hlID('NonExistingHighlight')) |
1844 hlID('')->assert_equal(0) | 1850 hlID('')->assert_equal(0) |
1845 enddef | 1851 enddef |
1846 | 1852 |
1847 def Test_hlexists() | 1853 def Test_hlexists() |
1848 CheckDefAndScriptFailure(['hlexists([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 1854 v9.CheckDefAndScriptFailure(['hlexists([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
1849 assert_equal(0, hlexists('NonExistingHighlight')) | 1855 assert_equal(0, hlexists('NonExistingHighlight')) |
1850 hlexists('')->assert_equal(0) | 1856 hlexists('')->assert_equal(0) |
1851 enddef | 1857 enddef |
1852 | 1858 |
1853 def Test_hlget() | 1859 def Test_hlget() |
1854 CheckDefAndScriptFailure(['hlget([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 1860 v9.CheckDefAndScriptFailure(['hlget([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
1855 hlget('')->assert_equal([]) | 1861 hlget('')->assert_equal([]) |
1856 enddef | 1862 enddef |
1857 | 1863 |
1858 def Test_hlset() | 1864 def Test_hlset() |
1859 CheckDefAndScriptFailure(['hlset("id")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 1865 v9.CheckDefAndScriptFailure(['hlset("id")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
1860 hlset([])->assert_equal(0) | 1866 hlset([])->assert_equal(0) |
1861 enddef | 1867 enddef |
1862 | 1868 |
1863 def Test_iconv() | 1869 def Test_iconv() |
1864 CheckDefAndScriptFailure(['iconv(1, "from", "to")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1870 v9.CheckDefAndScriptFailure(['iconv(1, "from", "to")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1865 CheckDefAndScriptFailure(['iconv("abc", 10, "to")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1871 v9.CheckDefAndScriptFailure(['iconv("abc", 10, "to")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1866 CheckDefAndScriptFailure(['iconv("abc", "from", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 1872 v9.CheckDefAndScriptFailure(['iconv("abc", "from", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
1867 assert_equal('abc', iconv('abc', 'fromenc', 'toenc')) | 1873 assert_equal('abc', iconv('abc', 'fromenc', 'toenc')) |
1868 iconv('', '', '')->assert_equal('') | 1874 iconv('', '', '')->assert_equal('') |
1869 enddef | 1875 enddef |
1870 | 1876 |
1871 def Test_indent() | 1877 def Test_indent() |
1872 CheckDefAndScriptFailure(['indent([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 1878 v9.CheckDefAndScriptFailure(['indent([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
1873 CheckDefAndScriptFailure(['indent(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 1879 v9.CheckDefAndScriptFailure(['indent(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
1874 CheckDefExecAndScriptFailure(['indent("")'], 'E1209: Invalid value for a line number') | 1880 v9.CheckDefExecAndScriptFailure(['indent("")'], 'E1209: Invalid value for a line number') |
1875 CheckDefExecAndScriptFailure(['indent(-1)'], 'E966: Invalid line number: -1') | 1881 v9.CheckDefExecAndScriptFailure(['indent(-1)'], 'E966: Invalid line number: -1') |
1876 assert_equal(0, indent(1)) | 1882 assert_equal(0, indent(1)) |
1877 enddef | 1883 enddef |
1878 | 1884 |
1879 def Test_index() | 1885 def Test_index() |
1880 index(['a', 'b', 'a', 'B'], 'b', 2, true)->assert_equal(3) | 1886 index(['a', 'b', 'a', 'B'], 'b', 2, true)->assert_equal(3) |
1881 CheckDefAndScriptFailure(['index("a", "a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) | 1887 v9.CheckDefAndScriptFailure(['index("a", "a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) |
1882 CheckDefFailure(['index(["1"], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number') | 1888 v9.CheckDefFailure(['index(["1"], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number') |
1883 CheckDefAndScriptFailure(['index(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 1889 v9.CheckDefAndScriptFailure(['index(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
1884 CheckDefAndScriptFailure(['index([1], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 1890 v9.CheckDefAndScriptFailure(['index([1], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
1885 CheckDefAndScriptFailure(['index(0z1020, 10, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 1891 v9.CheckDefAndScriptFailure(['index(0z1020, 10, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
1886 enddef | 1892 enddef |
1887 | 1893 |
1888 def Test_input() | 1894 def Test_input() |
1889 CheckDefAndScriptFailure(['input(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1895 v9.CheckDefAndScriptFailure(['input(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1890 CheckDefAndScriptFailure(['input(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 1896 v9.CheckDefAndScriptFailure(['input(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
1891 CheckDefAndScriptFailure(['input("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1897 v9.CheckDefAndScriptFailure(['input("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1892 CheckDefAndScriptFailure(['input("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 1898 v9.CheckDefAndScriptFailure(['input("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
1893 enddef | 1899 enddef |
1894 | 1900 |
1895 def Test_inputdialog() | 1901 def Test_inputdialog() |
1896 CheckDefAndScriptFailure(['inputdialog(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1902 v9.CheckDefAndScriptFailure(['inputdialog(5)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1897 CheckDefAndScriptFailure(['inputdialog(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 1903 v9.CheckDefAndScriptFailure(['inputdialog(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
1898 CheckDefAndScriptFailure(['inputdialog("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1904 v9.CheckDefAndScriptFailure(['inputdialog("p", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1899 CheckDefAndScriptFailure(['inputdialog("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 1905 v9.CheckDefAndScriptFailure(['inputdialog("p", "q", 20)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
1900 enddef | 1906 enddef |
1901 | 1907 |
1902 def Test_inputlist() | 1908 def Test_inputlist() |
1903 CheckDefAndScriptFailure(['inputlist(10)'], ['E1013: Argument 1: type mismatch, expected list<string> but got number', 'E1211: List required for argument 1']) | 1909 v9.CheckDefAndScriptFailure(['inputlist(10)'], ['E1013: Argument 1: type mismatch, expected list<string> but got number', 'E1211: List required for argument 1']) |
1904 CheckDefAndScriptFailure(['inputlist("abc")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) | 1910 v9.CheckDefAndScriptFailure(['inputlist("abc")'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) |
1905 CheckDefFailure(['inputlist([1, 2, 3])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') | 1911 v9.CheckDefFailure(['inputlist([1, 2, 3])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') |
1906 feedkeys("2\<CR>", 't') | 1912 feedkeys("2\<CR>", 't') |
1907 var r: number = inputlist(['a', 'b', 'c']) | 1913 var r: number = inputlist(['a', 'b', 'c']) |
1908 assert_equal(2, r) | 1914 assert_equal(2, r) |
1909 enddef | 1915 enddef |
1910 | 1916 |
1911 def Test_inputsecret() | 1917 def Test_inputsecret() |
1912 CheckDefAndScriptFailure(['inputsecret(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1918 v9.CheckDefAndScriptFailure(['inputsecret(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1913 CheckDefAndScriptFailure(['inputsecret("Pass:", 20)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 1919 v9.CheckDefAndScriptFailure(['inputsecret("Pass:", 20)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
1914 feedkeys("\<CR>", 't') | 1920 feedkeys("\<CR>", 't') |
1915 var ans: string = inputsecret('Pass:', '123') | 1921 var ans: string = inputsecret('Pass:', '123') |
1916 assert_equal('123', ans) | 1922 assert_equal('123', ans) |
1917 enddef | 1923 enddef |
1918 | 1924 |
1935 call assert_equal([6, 4], m) | 1941 call assert_equal([6, 4], m) |
1936 | 1942 |
1937 var lines =<< trim END | 1943 var lines =<< trim END |
1938 insert(test_null_list(), 123) | 1944 insert(test_null_list(), 123) |
1939 END | 1945 END |
1940 CheckDefExecAndScriptFailure(lines, 'E1130:', 1) | 1946 v9.CheckDefExecAndScriptFailure(lines, 'E1130:', 1) |
1941 | 1947 |
1942 lines =<< trim END | 1948 lines =<< trim END |
1943 insert(test_null_blob(), 123) | 1949 insert(test_null_blob(), 123) |
1944 END | 1950 END |
1945 CheckDefExecAndScriptFailure(lines, 'E1131:', 1) | 1951 v9.CheckDefExecAndScriptFailure(lines, 'E1131:', 1) |
1946 | 1952 |
1947 assert_equal([1, 2, 3], insert([2, 3], 1)) | 1953 assert_equal([1, 2, 3], insert([2, 3], 1)) |
1948 assert_equal([1, 2, 3], insert([2, 3], s:number_one)) | 1954 assert_equal([1, 2, 3], insert([2, 3], s:number_one)) |
1949 assert_equal([1, 2, 3], insert([1, 2], 3, 2)) | 1955 assert_equal([1, 2, 3], insert([1, 2], 3, 2)) |
1950 assert_equal([1, 2, 3], insert([1, 2], 3, s:number_two)) | 1956 assert_equal([1, 2, 3], insert([1, 2], 3, s:number_two)) |
1951 assert_equal(['a', 'b', 'c'], insert(['b', 'c'], 'a')) | 1957 assert_equal(['a', 'b', 'c'], insert(['b', 'c'], 'a')) |
1952 assert_equal(0z1234, insert(0z34, 0x12)) | 1958 assert_equal(0z1234, insert(0z34, 0x12)) |
1953 | 1959 |
1954 CheckDefAndScriptFailure(['insert("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) | 1960 v9.CheckDefAndScriptFailure(['insert("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) |
1955 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string') | 1961 v9.CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string') |
1956 CheckDefAndScriptFailure(['insert([2, 3], 1, "x")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 1962 v9.CheckDefAndScriptFailure(['insert([2, 3], 1, "x")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
1957 enddef | 1963 enddef |
1958 | 1964 |
1959 def Test_invert() | 1965 def Test_invert() |
1960 CheckDefAndScriptFailure(['invert("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 1966 v9.CheckDefAndScriptFailure(['invert("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
1961 enddef | 1967 enddef |
1962 | 1968 |
1963 def Test_isdirectory() | 1969 def Test_isdirectory() |
1964 CheckDefAndScriptFailure(['isdirectory(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1']) | 1970 v9.CheckDefAndScriptFailure(['isdirectory(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1']) |
1965 assert_false(isdirectory('NonExistingDir')) | 1971 assert_false(isdirectory('NonExistingDir')) |
1966 assert_false(isdirectory('')) | 1972 assert_false(isdirectory('')) |
1967 enddef | 1973 enddef |
1968 | 1974 |
1969 def Test_islocked() | 1975 def Test_islocked() |
1970 CheckDefAndScriptFailure(['islocked(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 1976 v9.CheckDefAndScriptFailure(['islocked(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
1971 CheckDefAndScriptFailure(['var n1: number = 10', 'islocked(n1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 1977 v9.CheckDefAndScriptFailure(['var n1: number = 10', 'islocked(n1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
1972 g:v1 = 10 | 1978 g:v1 = 10 |
1973 assert_false(islocked('g:v1')) | 1979 assert_false(islocked('g:v1')) |
1974 lockvar g:v1 | 1980 lockvar g:v1 |
1975 assert_true(islocked('g:v1')) | 1981 assert_true(islocked('g:v1')) |
1976 unlet g:v1 | 1982 unlet g:v1 |
1977 islocked('')->assert_equal(-1) | 1983 islocked('')->assert_equal(-1) |
1978 enddef | 1984 enddef |
1979 | 1985 |
1980 def Test_items() | 1986 def Test_items() |
1981 CheckDefFailure(['[]->items()'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') | 1987 v9.CheckDefFailure(['[]->items()'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') |
1982 assert_equal([['a', 10], ['b', 20]], {'a': 10, 'b': 20}->items()) | 1988 assert_equal([['a', 10], ['b', 20]], {'a': 10, 'b': 20}->items()) |
1983 assert_equal([], {}->items()) | 1989 assert_equal([], {}->items()) |
1984 enddef | 1990 enddef |
1985 | 1991 |
1986 def Test_job_getchannel() | 1992 def Test_job_getchannel() |
1987 if !has('job') | 1993 if !has('job') |
1988 CheckFeature job | 1994 CheckFeature job |
1989 else | 1995 else |
1990 CheckDefAndScriptFailure(['job_getchannel("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) | 1996 v9.CheckDefAndScriptFailure(['job_getchannel("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) |
1991 assert_fails('job_getchannel(test_null_job())', 'E916: not a valid job') | 1997 assert_fails('job_getchannel(test_null_job())', 'E916: not a valid job') |
1992 endif | 1998 endif |
1993 enddef | 1999 enddef |
1994 | 2000 |
1995 def Test_job_info() | 2001 def Test_job_info() |
1996 if !has('job') | 2002 if !has('job') |
1997 CheckFeature job | 2003 CheckFeature job |
1998 else | 2004 else |
1999 CheckDefAndScriptFailure(['job_info("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) | 2005 v9.CheckDefAndScriptFailure(['job_info("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) |
2000 assert_fails('job_info(test_null_job())', 'E916: not a valid job') | 2006 assert_fails('job_info(test_null_job())', 'E916: not a valid job') |
2001 endif | 2007 endif |
2002 enddef | 2008 enddef |
2003 | 2009 |
2004 " Test_job_info_return_type() is in test_vim9_fails.vim | 2010 " Test_job_info_return_type() is in test_vim9_fails.vim |
2005 | 2011 |
2006 def Test_job_setoptions() | 2012 def Test_job_setoptions() |
2007 if !has('job') | 2013 if !has('job') |
2008 CheckFeature job | 2014 CheckFeature job |
2009 else | 2015 else |
2010 CheckDefAndScriptFailure(['job_setoptions(test_null_channel(), {})'], ['E1013: Argument 1: type mismatch, expected job but got channel', 'E1218: Job required for argument 1']) | 2016 v9.CheckDefAndScriptFailure(['job_setoptions(test_null_channel(), {})'], ['E1013: Argument 1: type mismatch, expected job but got channel', 'E1218: Job required for argument 1']) |
2011 CheckDefAndScriptFailure(['job_setoptions(test_null_job(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 2017 v9.CheckDefAndScriptFailure(['job_setoptions(test_null_job(), [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
2012 assert_equal('fail', job_status(test_null_job())) | 2018 assert_equal('fail', job_status(test_null_job())) |
2013 endif | 2019 endif |
2014 enddef | 2020 enddef |
2015 | 2021 |
2016 def Test_job_status() | 2022 def Test_job_status() |
2017 if !has('job') | 2023 if !has('job') |
2018 CheckFeature job | 2024 CheckFeature job |
2019 else | 2025 else |
2020 CheckDefAndScriptFailure(['job_status("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) | 2026 v9.CheckDefAndScriptFailure(['job_status("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) |
2021 assert_equal('fail', job_status(test_null_job())) | 2027 assert_equal('fail', job_status(test_null_job())) |
2022 endif | 2028 endif |
2023 enddef | 2029 enddef |
2024 | 2030 |
2025 def Test_job_stop() | 2031 def Test_job_stop() |
2026 if !has('job') | 2032 if !has('job') |
2027 CheckFeature job | 2033 CheckFeature job |
2028 else | 2034 else |
2029 CheckDefAndScriptFailure(['job_stop("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) | 2035 v9.CheckDefAndScriptFailure(['job_stop("a")'], ['E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1']) |
2030 CheckDefAndScriptFailure(['job_stop(test_null_job(), true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) | 2036 v9.CheckDefAndScriptFailure(['job_stop(test_null_job(), true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) |
2031 endif | 2037 endif |
2032 enddef | 2038 enddef |
2033 | 2039 |
2034 def Test_join() | 2040 def Test_join() |
2035 CheckDefAndScriptFailure(['join("abc")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 2041 v9.CheckDefAndScriptFailure(['join("abc")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
2036 CheckDefAndScriptFailure(['join([], 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2042 v9.CheckDefAndScriptFailure(['join([], 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2037 join([''], '')->assert_equal('') | 2043 join([''], '')->assert_equal('') |
2038 enddef | 2044 enddef |
2039 | 2045 |
2040 def Test_js_decode() | 2046 def Test_js_decode() |
2041 CheckDefAndScriptFailure(['js_decode(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2047 v9.CheckDefAndScriptFailure(['js_decode(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2042 assert_equal([1, 2], js_decode('[1,2]')) | 2048 assert_equal([1, 2], js_decode('[1,2]')) |
2043 js_decode('')->assert_equal(v:none) | 2049 js_decode('')->assert_equal(v:none) |
2044 enddef | 2050 enddef |
2045 | 2051 |
2046 def Test_json_decode() | 2052 def Test_json_decode() |
2047 CheckDefAndScriptFailure(['json_decode(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) | 2053 v9.CheckDefAndScriptFailure(['json_decode(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) |
2048 assert_equal(1.0, json_decode('1.0')) | 2054 assert_equal(1.0, json_decode('1.0')) |
2049 json_decode('')->assert_equal(v:none) | 2055 json_decode('')->assert_equal(v:none) |
2050 enddef | 2056 enddef |
2051 | 2057 |
2052 def Test_keys() | 2058 def Test_keys() |
2053 CheckDefAndScriptFailure(['keys([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 2059 v9.CheckDefAndScriptFailure(['keys([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
2054 assert_equal(['a'], {a: 'v'}->keys()) | 2060 assert_equal(['a'], {a: 'v'}->keys()) |
2055 assert_equal([], {}->keys()) | 2061 assert_equal([], {}->keys()) |
2056 enddef | 2062 enddef |
2057 | 2063 |
2058 def Test_keys_return_type() | 2064 def Test_keys_return_type() |
2059 const var: list<string> = {a: 1, b: 2}->keys() | 2065 const var: list<string> = {a: 1, b: 2}->keys() |
2060 var->assert_equal(['a', 'b']) | 2066 var->assert_equal(['a', 'b']) |
2061 enddef | 2067 enddef |
2062 | 2068 |
2063 def Test_len() | 2069 def Test_len() |
2064 CheckDefAndScriptFailure(['len(true)'], ['E1013: Argument 1: type mismatch, expected list<any> but got bool', 'E701: Invalid type for len()']) | 2070 v9.CheckDefAndScriptFailure(['len(true)'], ['E1013: Argument 1: type mismatch, expected list<any> but got bool', 'E701: Invalid type for len()']) |
2065 assert_equal(2, "ab"->len()) | 2071 assert_equal(2, "ab"->len()) |
2066 assert_equal(3, 456->len()) | 2072 assert_equal(3, 456->len()) |
2067 assert_equal(0, []->len()) | 2073 assert_equal(0, []->len()) |
2068 assert_equal(1, {a: 10}->len()) | 2074 assert_equal(1, {a: 10}->len()) |
2069 assert_equal(4, 0z20304050->len()) | 2075 assert_equal(4, 0z20304050->len()) |
2070 enddef | 2076 enddef |
2071 | 2077 |
2072 def Test_libcall() | 2078 def Test_libcall() |
2073 CheckFeature libcall | 2079 CheckFeature libcall |
2074 CheckDefAndScriptFailure(['libcall(1, "b", 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2080 v9.CheckDefAndScriptFailure(['libcall(1, "b", 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2075 CheckDefAndScriptFailure(['libcall("a", 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2081 v9.CheckDefAndScriptFailure(['libcall("a", 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2076 CheckDefAndScriptFailure(['libcall("a", "b", 1.1)'], ['E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3']) | 2082 v9.CheckDefAndScriptFailure(['libcall("a", "b", 1.1)'], ['E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3']) |
2077 enddef | 2083 enddef |
2078 | 2084 |
2079 def Test_libcallnr() | 2085 def Test_libcallnr() |
2080 CheckFeature libcall | 2086 CheckFeature libcall |
2081 CheckDefAndScriptFailure(['libcallnr(1, "b", 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2087 v9.CheckDefAndScriptFailure(['libcallnr(1, "b", 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2082 CheckDefAndScriptFailure(['libcallnr("a", 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2088 v9.CheckDefAndScriptFailure(['libcallnr("a", 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2083 CheckDefAndScriptFailure(['libcallnr("a", "b", 1.1)'], ['E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3']) | 2089 v9.CheckDefAndScriptFailure(['libcallnr("a", "b", 1.1)'], ['E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3']) |
2084 enddef | 2090 enddef |
2085 | 2091 |
2086 def Test_line() | 2092 def Test_line() |
2087 assert_fails('line(true)', 'E1174:') | 2093 assert_fails('line(true)', 'E1174:') |
2088 CheckDefAndScriptFailure(['line(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2094 v9.CheckDefAndScriptFailure(['line(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2089 CheckDefAndScriptFailure(['line(".", "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2095 v9.CheckDefAndScriptFailure(['line(".", "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2090 CheckDefExecAndScriptFailure(['line("")'], 'E1209: Invalid value for a line number') | 2096 v9.CheckDefExecAndScriptFailure(['line("")'], 'E1209: Invalid value for a line number') |
2091 enddef | 2097 enddef |
2092 | 2098 |
2093 def Test_line2byte() | 2099 def Test_line2byte() |
2094 CheckDefAndScriptFailure(['line2byte(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 2100 v9.CheckDefAndScriptFailure(['line2byte(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
2095 CheckDefExecAndScriptFailure(['line2byte("")'], 'E1209: Invalid value for a line number') | 2101 v9.CheckDefExecAndScriptFailure(['line2byte("")'], 'E1209: Invalid value for a line number') |
2096 assert_equal(-1, line2byte(1)) | 2102 assert_equal(-1, line2byte(1)) |
2097 assert_equal(-1, line2byte(10000)) | 2103 assert_equal(-1, line2byte(10000)) |
2098 enddef | 2104 enddef |
2099 | 2105 |
2100 def Test_lispindent() | 2106 def Test_lispindent() |
2101 CheckDefAndScriptFailure(['lispindent({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1220: String or Number required for argument 1']) | 2107 v9.CheckDefAndScriptFailure(['lispindent({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1220: String or Number required for argument 1']) |
2102 CheckDefExecAndScriptFailure(['lispindent("")'], 'E1209: Invalid value for a line number') | 2108 v9.CheckDefExecAndScriptFailure(['lispindent("")'], 'E1209: Invalid value for a line number') |
2103 CheckDefExecAndScriptFailure(['lispindent(-1)'], 'E966: Invalid line number: -1') | 2109 v9.CheckDefExecAndScriptFailure(['lispindent(-1)'], 'E966: Invalid line number: -1') |
2104 assert_equal(0, lispindent(1)) | 2110 assert_equal(0, lispindent(1)) |
2105 enddef | 2111 enddef |
2106 | 2112 |
2107 def Test_list2blob() | 2113 def Test_list2blob() |
2108 CheckDefAndScriptFailure(['list2blob(10)'], ['E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1']) | 2114 v9.CheckDefAndScriptFailure(['list2blob(10)'], ['E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1']) |
2109 CheckDefFailure(['list2blob([0z10, 0z02])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<blob>') | 2115 v9.CheckDefFailure(['list2blob([0z10, 0z02])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<blob>') |
2110 enddef | 2116 enddef |
2111 | 2117 |
2112 def Test_list2str_str2list_utf8() | 2118 def Test_list2str_str2list_utf8() |
2113 var s = "\u3042\u3044" | 2119 var s = "\u3042\u3044" |
2114 var l = [0x3042, 0x3044] | 2120 var l = [0x3042, 0x3044] |
2115 str2list(s, true)->assert_equal(l) | 2121 str2list(s, true)->assert_equal(l) |
2116 list2str(l, true)->assert_equal(s) | 2122 list2str(l, true)->assert_equal(s) |
2117 enddef | 2123 enddef |
2118 | 2124 |
2119 def Test_list2str() | 2125 def Test_list2str() |
2120 CheckDefAndScriptFailure(['list2str(".", true)'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) | 2126 v9.CheckDefAndScriptFailure(['list2str(".", true)'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) |
2121 CheckDefAndScriptFailure(['list2str([1], 0z10)'], ['E1013: Argument 2: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 2']) | 2127 v9.CheckDefAndScriptFailure(['list2str([1], 0z10)'], ['E1013: Argument 2: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 2']) |
2122 enddef | 2128 enddef |
2123 | 2129 |
2124 def SID(): number | 2130 def s:SID(): number |
2125 return expand('<SID>') | 2131 return expand('<SID>') |
2126 ->matchstr('<SNR>\zs\d\+\ze_$') | 2132 ->matchstr('<SNR>\zs\d\+\ze_$') |
2127 ->str2nr() | 2133 ->str2nr() |
2128 enddef | 2134 enddef |
2129 | 2135 |
2130 def Test_listener_add() | 2136 def Test_listener_add() |
2131 CheckDefAndScriptFailure(['listener_add("1", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) | 2137 v9.CheckDefAndScriptFailure(['listener_add("1", true)'], ['E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2']) |
2132 enddef | 2138 enddef |
2133 | 2139 |
2134 def Test_listener_flush() | 2140 def Test_listener_flush() |
2135 CheckDefAndScriptFailure(['listener_flush([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 2141 v9.CheckDefAndScriptFailure(['listener_flush([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
2136 enddef | 2142 enddef |
2137 | 2143 |
2138 def Test_listener_remove() | 2144 def Test_listener_remove() |
2139 CheckDefAndScriptFailure(['listener_remove("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2145 v9.CheckDefAndScriptFailure(['listener_remove("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2140 enddef | 2146 enddef |
2141 | 2147 |
2142 def Test_luaeval() | 2148 def Test_luaeval() |
2143 if !has('lua') | 2149 if !has('lua') |
2144 CheckFeature lua | 2150 CheckFeature lua |
2145 endif | 2151 endif |
2146 CheckDefAndScriptFailure(['luaeval(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2152 v9.CheckDefAndScriptFailure(['luaeval(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2147 if exists_compiled('*luaeval') | 2153 if exists_compiled('*luaeval') |
2148 luaeval('')->assert_equal(v:null) | 2154 luaeval('')->assert_equal(v:null) |
2149 endif | 2155 endif |
2150 enddef | 2156 enddef |
2151 | 2157 |
2152 def Test_map() | 2158 def Test_map() |
2153 if has('channel') | 2159 if has('channel') |
2154 CheckDefAndScriptFailure(['map(test_null_channel(), "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got channel', 'E1251: List, Dictionary, Blob or String required for argument 1']) | 2160 v9.CheckDefAndScriptFailure(['map(test_null_channel(), "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got channel', 'E1251: List, Dictionary, Blob or String required for argument 1']) |
2155 endif | 2161 endif |
2156 CheckDefAndScriptFailure(['map(1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1251: List, Dictionary, Blob or String required for argument 1']) | 2162 v9.CheckDefAndScriptFailure(['map(1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1251: List, Dictionary, Blob or String required for argument 1']) |
2157 CheckDefAndScriptFailure(['map([1, 2], 4)'], ['E1256: String or function required for argument 2', 'E1024: Using a Number as a String']) | 2163 v9.CheckDefAndScriptFailure(['map([1, 2], 4)'], ['E1256: String or function required for argument 2', 'E1024: Using a Number as a String']) |
2158 | 2164 |
2159 # type of dict remains dict<any> even when type of values changes | 2165 # type of dict remains dict<any> even when type of values changes |
2160 # same for list | 2166 # same for list |
2161 var lines =<< trim END | 2167 var lines =<< trim END |
2162 var d: dict<any> = {a: 0} | 2168 var d: dict<any> = {a: 0} |
2177 l = [1] | 2183 l = [1] |
2178 g:gl = l | 2184 g:gl = l |
2179 map(g:gl, (k, v) => true) | 2185 map(g:gl, (k, v) => true) |
2180 assert_equal([true], g:gl) | 2186 assert_equal([true], g:gl) |
2181 END | 2187 END |
2182 CheckDefAndScriptSuccess(lines) | 2188 v9.CheckDefAndScriptSuccess(lines) |
2183 enddef | 2189 enddef |
2184 | 2190 |
2185 def Test_map_failure() | 2191 def Test_map_failure() |
2186 CheckFeature job | 2192 CheckFeature job |
2187 | 2193 |
2196 endif | 2202 endif |
2197 eval d[expand('<abuf>')]->mapnew((_, v: dict<job>) => 0) | 2203 eval d[expand('<abuf>')]->mapnew((_, v: dict<job>) => 0) |
2198 enddef | 2204 enddef |
2199 e | 2205 e |
2200 END | 2206 END |
2201 CheckScriptFailure(lines, 'E1013:') | 2207 v9.CheckScriptFailure(lines, 'E1013:') |
2202 au! BufReadPost | 2208 au! BufReadPost |
2203 delete('Xtmpfile') | 2209 delete('Xtmpfile') |
2204 | 2210 |
2205 lines =<< trim END | 2211 lines =<< trim END |
2206 var d: dict<number> = {a: 1} | 2212 var d: dict<number> = {a: 1} |
2207 g:gd = d | 2213 g:gd = d |
2208 map(g:gd, (k, v) => true) | 2214 map(g:gd, (k, v) => true) |
2209 END | 2215 END |
2210 CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got bool') | 2216 v9.CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got bool') |
2211 enddef | 2217 enddef |
2212 | 2218 |
2213 def Test_map_function_arg() | 2219 def Test_map_function_arg() |
2214 var lines =<< trim END | 2220 var lines =<< trim END |
2215 def MapOne(i: number, v: string): string | 2221 def MapOne(i: number, v: string): string |
2217 enddef | 2223 enddef |
2218 var l = ['a', 'b', 'c'] | 2224 var l = ['a', 'b', 'c'] |
2219 map(l, MapOne) | 2225 map(l, MapOne) |
2220 assert_equal(['0:a', '1:b', '2:c'], l) | 2226 assert_equal(['0:a', '1:b', '2:c'], l) |
2221 END | 2227 END |
2222 CheckDefAndScriptSuccess(lines) | 2228 v9.CheckDefAndScriptSuccess(lines) |
2223 | 2229 |
2224 lines =<< trim END | 2230 lines =<< trim END |
2225 range(3)->map((a, b, c) => a + b + c) | 2231 range(3)->map((a, b, c) => a + b + c) |
2226 END | 2232 END |
2227 CheckDefExecAndScriptFailure(lines, 'E1190: One argument too few') | 2233 v9.CheckDefExecAndScriptFailure(lines, 'E1190: One argument too few') |
2228 lines =<< trim END | 2234 lines =<< trim END |
2229 range(3)->map((a, b, c, d) => a + b + c + d) | 2235 range(3)->map((a, b, c, d) => a + b + c + d) |
2230 END | 2236 END |
2231 CheckDefExecAndScriptFailure(lines, 'E1190: 2 arguments too few') | 2237 v9.CheckDefExecAndScriptFailure(lines, 'E1190: 2 arguments too few') |
2232 | 2238 |
2233 # declared list cannot change type | 2239 # declared list cannot change type |
2234 lines =<< trim END | 2240 lines =<< trim END |
2235 def Map(i: number, v: number): string | 2241 def Map(i: number, v: number): string |
2236 return 'bad' | 2242 return 'bad' |
2237 enddef | 2243 enddef |
2238 var ll: list<number> = [1, 2, 3] | 2244 var ll: list<number> = [1, 2, 3] |
2239 echo map(ll, Map) | 2245 echo map(ll, Map) |
2240 END | 2246 END |
2241 CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(number, number): string', 'E1012: Type mismatch; expected number but got string in map()']) | 2247 v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(number, number): string', 'E1012: Type mismatch; expected number but got string in map()']) |
2242 | 2248 |
2243 # not declared list can change type | 2249 # not declared list can change type |
2244 echo [1, 2, 3]->map((..._) => 'x') | 2250 echo [1, 2, 3]->map((..._) => 'x') |
2245 enddef | 2251 enddef |
2246 | 2252 |
2248 var lines =<< trim END | 2254 var lines =<< trim END |
2249 var l = ['a', 'b', 'c'] | 2255 var l = ['a', 'b', 'c'] |
2250 map(l, (k, v) => k .. '/' .. v ) | 2256 map(l, (k, v) => k .. '/' .. v ) |
2251 assert_equal(['0/a', '1/b', '2/c'], l) | 2257 assert_equal(['0/a', '1/b', '2/c'], l) |
2252 END | 2258 END |
2253 CheckDefAndScriptSuccess(lines) | 2259 v9.CheckDefAndScriptSuccess(lines) |
2254 | 2260 |
2255 lines =<< trim END | 2261 lines =<< trim END |
2256 var l: list<number> = [0] | 2262 var l: list<number> = [0] |
2257 echo map(l, (_, v) => []) | 2263 echo map(l, (_, v) => []) |
2258 END | 2264 END |
2259 CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) | 2265 v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) |
2260 | 2266 |
2261 lines =<< trim END | 2267 lines =<< trim END |
2262 var l: list<number> = range(2) | 2268 var l: list<number> = range(2) |
2263 echo map(l, (_, v) => []) | 2269 echo map(l, (_, v) => []) |
2264 END | 2270 END |
2265 CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) | 2271 v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) |
2266 | 2272 |
2267 lines =<< trim END | 2273 lines =<< trim END |
2268 var d: dict<number> = {key: 0} | 2274 var d: dict<number> = {key: 0} |
2269 echo map(d, (_, v) => []) | 2275 echo map(d, (_, v) => []) |
2270 END | 2276 END |
2271 CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) | 2277 v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2) |
2272 enddef | 2278 enddef |
2273 | 2279 |
2274 def Test_maparg() | 2280 def Test_maparg() |
2275 var lnum = str2nr(expand('<sflnum>')) | 2281 var lnum = str2nr(expand('<sflnum>')) |
2276 map foo bar | 2282 map foo bar |
2287 sid: SID(), | 2293 sid: SID(), |
2288 scriptversion: 999999, | 2294 scriptversion: 999999, |
2289 rhs: 'bar', | 2295 rhs: 'bar', |
2290 buffer: 0}) | 2296 buffer: 0}) |
2291 unmap foo | 2297 unmap foo |
2292 CheckDefAndScriptFailure(['maparg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2298 v9.CheckDefAndScriptFailure(['maparg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2293 CheckDefAndScriptFailure(['maparg("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2299 v9.CheckDefAndScriptFailure(['maparg("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2294 CheckDefAndScriptFailure(['maparg("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 2300 v9.CheckDefAndScriptFailure(['maparg("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
2295 CheckDefAndScriptFailure(['maparg("a", "b", true, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 2301 v9.CheckDefAndScriptFailure(['maparg("a", "b", true, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
2296 maparg('')->assert_equal('') | 2302 maparg('')->assert_equal('') |
2297 enddef | 2303 enddef |
2298 | 2304 |
2299 def Test_maparg_mapset() | 2305 def Test_maparg_mapset() |
2300 nnoremap <F3> :echo "hit F3"<CR> | 2306 nnoremap <F3> :echo "hit F3"<CR> |
2306 | 2312 |
2307 def Test_mapcheck() | 2313 def Test_mapcheck() |
2308 iabbrev foo foobar | 2314 iabbrev foo foobar |
2309 mapcheck('foo', 'i', true)->assert_equal('foobar') | 2315 mapcheck('foo', 'i', true)->assert_equal('foobar') |
2310 iunabbrev foo | 2316 iunabbrev foo |
2311 CheckDefAndScriptFailure(['mapcheck(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2317 v9.CheckDefAndScriptFailure(['mapcheck(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2312 CheckDefAndScriptFailure(['mapcheck("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2318 v9.CheckDefAndScriptFailure(['mapcheck("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2313 CheckDefAndScriptFailure(['mapcheck("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 2319 v9.CheckDefAndScriptFailure(['mapcheck("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
2314 mapcheck('')->assert_equal('') | 2320 mapcheck('')->assert_equal('') |
2315 mapcheck('', '')->assert_equal('') | 2321 mapcheck('', '')->assert_equal('') |
2316 enddef | 2322 enddef |
2317 | 2323 |
2318 def Test_mapnew() | 2324 def Test_mapnew() |
2319 if has('channel') | 2325 if has('channel') |
2320 CheckDefAndScriptFailure(['mapnew(test_null_job(), "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got job', 'E1251: List, Dictionary, Blob or String required for argument 1']) | 2326 v9.CheckDefAndScriptFailure(['mapnew(test_null_job(), "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got job', 'E1251: List, Dictionary, Blob or String required for argument 1']) |
2321 endif | 2327 endif |
2322 CheckDefAndScriptFailure(['mapnew(1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1251: List, Dictionary, Blob or String required for argument 1']) | 2328 v9.CheckDefAndScriptFailure(['mapnew(1, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1251: List, Dictionary, Blob or String required for argument 1']) |
2323 enddef | 2329 enddef |
2324 | 2330 |
2325 def Test_mapset() | 2331 def Test_mapset() |
2326 CheckDefAndScriptFailure(['mapset(1, true, {})'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2332 v9.CheckDefAndScriptFailure(['mapset(1, true, {})'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2327 CheckDefAndScriptFailure(['mapset("a", 2, {})'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 2333 v9.CheckDefAndScriptFailure(['mapset("a", 2, {})'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
2328 CheckDefAndScriptFailure(['mapset("a", false, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 2334 v9.CheckDefAndScriptFailure(['mapset("a", false, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
2329 enddef | 2335 enddef |
2330 | 2336 |
2331 def Test_match() | 2337 def Test_match() |
2332 CheckDefAndScriptFailure(['match(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) | 2338 v9.CheckDefAndScriptFailure(['match(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) |
2333 CheckDefAndScriptFailure(['match(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2339 v9.CheckDefAndScriptFailure(['match(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2334 CheckDefAndScriptFailure(['match("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2340 v9.CheckDefAndScriptFailure(['match("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2335 CheckDefAndScriptFailure(['match("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2341 v9.CheckDefAndScriptFailure(['match("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2336 assert_equal(2, match('ab12cd', '12')) | 2342 assert_equal(2, match('ab12cd', '12')) |
2337 assert_equal(-1, match('ab12cd', '34')) | 2343 assert_equal(-1, match('ab12cd', '34')) |
2338 assert_equal(6, match('ab12cd12ef', '12', 4)) | 2344 assert_equal(6, match('ab12cd12ef', '12', 4)) |
2339 assert_equal(2, match('abcd', '..', 0, 3)) | 2345 assert_equal(2, match('abcd', '..', 0, 3)) |
2340 assert_equal(1, match(['a', 'b', 'c'], 'b')) | 2346 assert_equal(1, match(['a', 'b', 'c'], 'b')) |
2345 match('abc', '')->assert_equal(0) | 2351 match('abc', '')->assert_equal(0) |
2346 match('', '')->assert_equal(0) | 2352 match('', '')->assert_equal(0) |
2347 enddef | 2353 enddef |
2348 | 2354 |
2349 def Test_matchadd() | 2355 def Test_matchadd() |
2350 CheckDefAndScriptFailure(['matchadd(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2356 v9.CheckDefAndScriptFailure(['matchadd(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2351 CheckDefAndScriptFailure(['matchadd("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2357 v9.CheckDefAndScriptFailure(['matchadd("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2352 CheckDefAndScriptFailure(['matchadd("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2358 v9.CheckDefAndScriptFailure(['matchadd("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2353 CheckDefAndScriptFailure(['matchadd("a", "b", 1, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2359 v9.CheckDefAndScriptFailure(['matchadd("a", "b", 1, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2354 CheckDefAndScriptFailure(['matchadd("a", "b", 1, 1, [])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5']) | 2360 v9.CheckDefAndScriptFailure(['matchadd("a", "b", 1, 1, [])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5']) |
2355 matchadd('', 'a')->assert_equal(-1) | 2361 matchadd('', 'a')->assert_equal(-1) |
2356 matchadd('Search', '')->assert_equal(-1) | 2362 matchadd('Search', '')->assert_equal(-1) |
2357 enddef | 2363 enddef |
2358 | 2364 |
2359 def Test_matchaddpos() | 2365 def Test_matchaddpos() |
2360 CheckDefAndScriptFailure(['matchaddpos(1, [1])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2366 v9.CheckDefAndScriptFailure(['matchaddpos(1, [1])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2361 CheckDefAndScriptFailure(['matchaddpos("a", "b")'], ['E1013: Argument 2: type mismatch, expected list<any> but got string', 'E1211: List required for argument 2']) | 2367 v9.CheckDefAndScriptFailure(['matchaddpos("a", "b")'], ['E1013: Argument 2: type mismatch, expected list<any> but got string', 'E1211: List required for argument 2']) |
2362 CheckDefAndScriptFailure(['matchaddpos("a", [1], "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2368 v9.CheckDefAndScriptFailure(['matchaddpos("a", [1], "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2363 CheckDefAndScriptFailure(['matchaddpos("a", [1], 1, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2369 v9.CheckDefAndScriptFailure(['matchaddpos("a", [1], 1, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2364 CheckDefAndScriptFailure(['matchaddpos("a", [1], 1, 1, [])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5']) | 2370 v9.CheckDefAndScriptFailure(['matchaddpos("a", [1], 1, 1, [])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5']) |
2365 matchaddpos('', [1])->assert_equal(-1) | 2371 matchaddpos('', [1])->assert_equal(-1) |
2366 enddef | 2372 enddef |
2367 | 2373 |
2368 def Test_matcharg() | 2374 def Test_matcharg() |
2369 CheckDefAndScriptFailure(['matcharg("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2375 v9.CheckDefAndScriptFailure(['matcharg("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2370 enddef | 2376 enddef |
2371 | 2377 |
2372 def Test_matchdelete() | 2378 def Test_matchdelete() |
2373 CheckDefAndScriptFailure(['matchdelete("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2379 v9.CheckDefAndScriptFailure(['matchdelete("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2374 CheckDefAndScriptFailure(['matchdelete("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2380 v9.CheckDefAndScriptFailure(['matchdelete("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2375 CheckDefAndScriptFailure(['matchdelete(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2381 v9.CheckDefAndScriptFailure(['matchdelete(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2376 enddef | 2382 enddef |
2377 | 2383 |
2378 def Test_matchend() | 2384 def Test_matchend() |
2379 CheckDefAndScriptFailure(['matchend(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) | 2385 v9.CheckDefAndScriptFailure(['matchend(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) |
2380 CheckDefAndScriptFailure(['matchend(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2386 v9.CheckDefAndScriptFailure(['matchend(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2381 CheckDefAndScriptFailure(['matchend("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2387 v9.CheckDefAndScriptFailure(['matchend("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2382 CheckDefAndScriptFailure(['matchend("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2388 v9.CheckDefAndScriptFailure(['matchend("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2383 assert_equal(4, matchend('ab12cd', '12')) | 2389 assert_equal(4, matchend('ab12cd', '12')) |
2384 assert_equal(-1, matchend('ab12cd', '34')) | 2390 assert_equal(-1, matchend('ab12cd', '34')) |
2385 assert_equal(8, matchend('ab12cd12ef', '12', 4)) | 2391 assert_equal(8, matchend('ab12cd12ef', '12', 4)) |
2386 assert_equal(4, matchend('abcd', '..', 0, 3)) | 2392 assert_equal(4, matchend('abcd', '..', 0, 3)) |
2387 assert_equal(1, matchend(['a', 'b', 'c'], 'b')) | 2393 assert_equal(1, matchend(['a', 'b', 'c'], 'b')) |
2392 matchend('abc', '')->assert_equal(0) | 2398 matchend('abc', '')->assert_equal(0) |
2393 matchend('', '')->assert_equal(0) | 2399 matchend('', '')->assert_equal(0) |
2394 enddef | 2400 enddef |
2395 | 2401 |
2396 def Test_matchfuzzy() | 2402 def Test_matchfuzzy() |
2397 CheckDefAndScriptFailure(['matchfuzzy({}, "p")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) | 2403 v9.CheckDefAndScriptFailure(['matchfuzzy({}, "p")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) |
2398 CheckDefAndScriptFailure(['matchfuzzy([], 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2404 v9.CheckDefAndScriptFailure(['matchfuzzy([], 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2399 CheckDefAndScriptFailure(['matchfuzzy([], "a", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 2405 v9.CheckDefAndScriptFailure(['matchfuzzy([], "a", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
2400 matchfuzzy(['abc', 'xyz'], '')->assert_equal([]) | 2406 matchfuzzy(['abc', 'xyz'], '')->assert_equal([]) |
2401 enddef | 2407 enddef |
2402 | 2408 |
2403 def Test_matchfuzzypos() | 2409 def Test_matchfuzzypos() |
2404 CheckDefAndScriptFailure(['matchfuzzypos({}, "p")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) | 2410 v9.CheckDefAndScriptFailure(['matchfuzzypos({}, "p")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) |
2405 CheckDefAndScriptFailure(['matchfuzzypos([], 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2411 v9.CheckDefAndScriptFailure(['matchfuzzypos([], 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2406 CheckDefAndScriptFailure(['matchfuzzypos([], "a", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 2412 v9.CheckDefAndScriptFailure(['matchfuzzypos([], "a", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
2407 matchfuzzypos(['abc', 'xyz'], '')->assert_equal([[], [], []]) | 2413 matchfuzzypos(['abc', 'xyz'], '')->assert_equal([[], [], []]) |
2408 enddef | 2414 enddef |
2409 | 2415 |
2410 def Test_matchlist() | 2416 def Test_matchlist() |
2411 CheckDefAndScriptFailure(['matchlist(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) | 2417 v9.CheckDefAndScriptFailure(['matchlist(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) |
2412 CheckDefAndScriptFailure(['matchlist(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2418 v9.CheckDefAndScriptFailure(['matchlist(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2413 CheckDefAndScriptFailure(['matchlist("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2419 v9.CheckDefAndScriptFailure(['matchlist("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2414 CheckDefAndScriptFailure(['matchlist("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2420 v9.CheckDefAndScriptFailure(['matchlist("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2415 var l: list<string> = ['12', '', '', '', '', '', '', '', '', ''] | 2421 var l: list<string> = ['12', '', '', '', '', '', '', '', '', ''] |
2416 assert_equal(l, matchlist('ab12cd', '12')) | 2422 assert_equal(l, matchlist('ab12cd', '12')) |
2417 assert_equal([], matchlist('ab12cd', '34')) | 2423 assert_equal([], matchlist('ab12cd', '34')) |
2418 assert_equal(l, matchlist('ab12cd12ef', '12', 4)) | 2424 assert_equal(l, matchlist('ab12cd12ef', '12', 4)) |
2419 l[0] = 'cd' | 2425 l[0] = 'cd' |
2427 matchlist('abc', '')->assert_equal(repeat([''], 10)) | 2433 matchlist('abc', '')->assert_equal(repeat([''], 10)) |
2428 matchlist('', '')->assert_equal(repeat([''], 10)) | 2434 matchlist('', '')->assert_equal(repeat([''], 10)) |
2429 enddef | 2435 enddef |
2430 | 2436 |
2431 def Test_matchstr() | 2437 def Test_matchstr() |
2432 CheckDefAndScriptFailure(['matchstr(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) | 2438 v9.CheckDefAndScriptFailure(['matchstr(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) |
2433 CheckDefAndScriptFailure(['matchstr(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2439 v9.CheckDefAndScriptFailure(['matchstr(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2434 CheckDefAndScriptFailure(['matchstr("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2440 v9.CheckDefAndScriptFailure(['matchstr("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2435 CheckDefAndScriptFailure(['matchstr("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2441 v9.CheckDefAndScriptFailure(['matchstr("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2436 assert_equal('12', matchstr('ab12cd', '12')) | 2442 assert_equal('12', matchstr('ab12cd', '12')) |
2437 assert_equal('', matchstr('ab12cd', '34')) | 2443 assert_equal('', matchstr('ab12cd', '34')) |
2438 assert_equal('12', matchstr('ab12cd12ef', '12', 4)) | 2444 assert_equal('12', matchstr('ab12cd12ef', '12', 4)) |
2439 assert_equal('cd', matchstr('abcd', '..', 0, 3)) | 2445 assert_equal('cd', matchstr('abcd', '..', 0, 3)) |
2440 assert_equal('b', matchstr(['a', 'b', 'c'], 'b')) | 2446 assert_equal('b', matchstr(['a', 'b', 'c'], 'b')) |
2445 matchstr('abc', '')->assert_equal('') | 2451 matchstr('abc', '')->assert_equal('') |
2446 matchstr('', '')->assert_equal('') | 2452 matchstr('', '')->assert_equal('') |
2447 enddef | 2453 enddef |
2448 | 2454 |
2449 def Test_matchstrpos() | 2455 def Test_matchstrpos() |
2450 CheckDefAndScriptFailure(['matchstrpos(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) | 2456 v9.CheckDefAndScriptFailure(['matchstrpos(0z12, "p")'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1']) |
2451 CheckDefAndScriptFailure(['matchstrpos(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2457 v9.CheckDefAndScriptFailure(['matchstrpos(["s"], [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2452 CheckDefAndScriptFailure(['matchstrpos("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2458 v9.CheckDefAndScriptFailure(['matchstrpos("s", "p", "q")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2453 CheckDefAndScriptFailure(['matchstrpos("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2459 v9.CheckDefAndScriptFailure(['matchstrpos("s", "p", 1, "r")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2454 assert_equal(['12', 2, 4], matchstrpos('ab12cd', '12')) | 2460 assert_equal(['12', 2, 4], matchstrpos('ab12cd', '12')) |
2455 assert_equal(['', -1, -1], matchstrpos('ab12cd', '34')) | 2461 assert_equal(['', -1, -1], matchstrpos('ab12cd', '34')) |
2456 assert_equal(['12', 6, 8], matchstrpos('ab12cd12ef', '12', 4)) | 2462 assert_equal(['12', 6, 8], matchstrpos('ab12cd12ef', '12', 4)) |
2457 assert_equal(['cd', 2, 4], matchstrpos('abcd', '..', 0, 3)) | 2463 assert_equal(['cd', 2, 4], matchstrpos('abcd', '..', 0, 3)) |
2458 assert_equal(['b', 1, 0, 1], matchstrpos(['a', 'b', 'c'], 'b')) | 2464 assert_equal(['b', 1, 0, 1], matchstrpos(['a', 'b', 'c'], 'b')) |
2476 g:flag = false | 2482 g:flag = false |
2477 var l2: list<number> = g:flag | 2483 var l2: list<number> = g:flag |
2478 ? [1, max([2, 3])] | 2484 ? [1, max([2, 3])] |
2479 : [4, 5] | 2485 : [4, 5] |
2480 assert_equal([4, 5], l2) | 2486 assert_equal([4, 5], l2) |
2481 CheckDefAndScriptFailure(['max(5)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1']) | 2487 v9.CheckDefAndScriptFailure(['max(5)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1']) |
2482 enddef | 2488 enddef |
2483 | 2489 |
2484 def Test_menu_info() | 2490 def Test_menu_info() |
2485 CheckDefAndScriptFailure(['menu_info(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2491 v9.CheckDefAndScriptFailure(['menu_info(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2486 CheckDefAndScriptFailure(['menu_info(10, "n")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2492 v9.CheckDefAndScriptFailure(['menu_info(10, "n")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2487 CheckDefAndScriptFailure(['menu_info("File", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2493 v9.CheckDefAndScriptFailure(['menu_info("File", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2488 assert_equal({}, menu_info('aMenu')) | 2494 assert_equal({}, menu_info('aMenu')) |
2489 enddef | 2495 enddef |
2490 | 2496 |
2491 def Test_min() | 2497 def Test_min() |
2492 g:flag = true | 2498 g:flag = true |
2498 g:flag = false | 2504 g:flag = false |
2499 var l2: list<number> = g:flag | 2505 var l2: list<number> = g:flag |
2500 ? [1, min([2, 3])] | 2506 ? [1, min([2, 3])] |
2501 : [4, 5] | 2507 : [4, 5] |
2502 assert_equal([4, 5], l2) | 2508 assert_equal([4, 5], l2) |
2503 CheckDefAndScriptFailure(['min(5)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1']) | 2509 v9.CheckDefAndScriptFailure(['min(5)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1']) |
2504 enddef | 2510 enddef |
2505 | 2511 |
2506 def Test_mkdir() | 2512 def Test_mkdir() |
2507 CheckDefAndScriptFailure(['mkdir(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2513 v9.CheckDefAndScriptFailure(['mkdir(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2508 CheckDefAndScriptFailure(['mkdir("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) | 2514 v9.CheckDefAndScriptFailure(['mkdir("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) |
2509 CheckDefAndScriptFailure(['mkdir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2515 v9.CheckDefAndScriptFailure(['mkdir("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2510 CheckDefExecAndScriptFailure(['mkdir("")'], 'E1175: Non-empty string required for argument 1') | 2516 v9.CheckDefExecAndScriptFailure(['mkdir("")'], 'E1175: Non-empty string required for argument 1') |
2511 delete('a', 'rf') | 2517 delete('a', 'rf') |
2512 enddef | 2518 enddef |
2513 | 2519 |
2514 def Test_mode() | 2520 def Test_mode() |
2515 CheckDefAndScriptFailure(['mode("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 2521 v9.CheckDefAndScriptFailure(['mode("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
2516 CheckDefAndScriptFailure(['mode(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 2522 v9.CheckDefAndScriptFailure(['mode(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
2517 enddef | 2523 enddef |
2518 | 2524 |
2519 def Test_mzeval() | 2525 def Test_mzeval() |
2520 if !has('mzscheme') | 2526 if !has('mzscheme') |
2521 CheckFeature mzscheme | 2527 CheckFeature mzscheme |
2522 endif | 2528 endif |
2523 CheckDefAndScriptFailure(['mzeval(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2529 v9.CheckDefAndScriptFailure(['mzeval(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2524 enddef | 2530 enddef |
2525 | 2531 |
2526 def Test_nextnonblank() | 2532 def Test_nextnonblank() |
2527 CheckDefAndScriptFailure(['nextnonblank(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) | 2533 v9.CheckDefAndScriptFailure(['nextnonblank(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) |
2528 CheckDefExecAndScriptFailure(['nextnonblank("")'], 'E1209: Invalid value for a line number') | 2534 v9.CheckDefExecAndScriptFailure(['nextnonblank("")'], 'E1209: Invalid value for a line number') |
2529 assert_equal(0, nextnonblank(1)) | 2535 assert_equal(0, nextnonblank(1)) |
2530 enddef | 2536 enddef |
2531 | 2537 |
2532 def Test_nr2char() | 2538 def Test_nr2char() |
2533 nr2char(97, true)->assert_equal('a') | 2539 nr2char(97, true)->assert_equal('a') |
2534 CheckDefAndScriptFailure(['nr2char("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2540 v9.CheckDefAndScriptFailure(['nr2char("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2535 CheckDefAndScriptFailure(['nr2char(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) | 2541 v9.CheckDefAndScriptFailure(['nr2char(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) |
2536 enddef | 2542 enddef |
2537 | 2543 |
2538 def Test_or() | 2544 def Test_or() |
2539 CheckDefAndScriptFailure(['or("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2545 v9.CheckDefAndScriptFailure(['or("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2540 CheckDefAndScriptFailure(['or(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2546 v9.CheckDefAndScriptFailure(['or(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2541 enddef | 2547 enddef |
2542 | 2548 |
2543 def Test_pathshorten() | 2549 def Test_pathshorten() |
2544 CheckDefAndScriptFailure(['pathshorten(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2550 v9.CheckDefAndScriptFailure(['pathshorten(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2545 CheckDefAndScriptFailure(['pathshorten("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2551 v9.CheckDefAndScriptFailure(['pathshorten("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2546 pathshorten('')->assert_equal('') | 2552 pathshorten('')->assert_equal('') |
2547 enddef | 2553 enddef |
2548 | 2554 |
2549 def Test_perleval() | 2555 def Test_perleval() |
2550 if !has('perl') | 2556 if !has('perl') |
2551 CheckFeature perl | 2557 CheckFeature perl |
2552 endif | 2558 endif |
2553 CheckDefAndScriptFailure(['perleval(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2559 v9.CheckDefAndScriptFailure(['perleval(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2554 enddef | 2560 enddef |
2555 | 2561 |
2556 def Test_popup_atcursor() | 2562 def Test_popup_atcursor() |
2557 CheckDefAndScriptFailure(['popup_atcursor({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) | 2563 v9.CheckDefAndScriptFailure(['popup_atcursor({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) |
2558 CheckDefAndScriptFailure(['popup_atcursor("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 2564 v9.CheckDefAndScriptFailure(['popup_atcursor("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
2559 | 2565 |
2560 # Pass variable of type 'any' to popup_atcursor() | 2566 # Pass variable of type 'any' to popup_atcursor() |
2561 var what: any = 'Hello' | 2567 var what: any = 'Hello' |
2562 var popupID = what->popup_atcursor({moved: 'any'}) | 2568 var popupID = what->popup_atcursor({moved: 'any'}) |
2563 assert_equal(0, popupID->popup_getoptions().tabpage) | 2569 assert_equal(0, popupID->popup_getoptions().tabpage) |
2564 popupID->popup_close() | 2570 popupID->popup_close() |
2565 enddef | 2571 enddef |
2566 | 2572 |
2567 def Test_popup_beval() | 2573 def Test_popup_beval() |
2568 CheckDefAndScriptFailure(['popup_beval({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) | 2574 v9.CheckDefAndScriptFailure(['popup_beval({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) |
2569 CheckDefAndScriptFailure(['popup_beval("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 2575 v9.CheckDefAndScriptFailure(['popup_beval("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
2570 enddef | 2576 enddef |
2571 | 2577 |
2572 def Test_popup_clear() | 2578 def Test_popup_clear() |
2573 CheckDefAndScriptFailure(['popup_clear(["a"])'], ['E1013: Argument 1: type mismatch, expected bool but got list<string>', 'E1212: Bool required for argument 1']) | 2579 v9.CheckDefAndScriptFailure(['popup_clear(["a"])'], ['E1013: Argument 1: type mismatch, expected bool but got list<string>', 'E1212: Bool required for argument 1']) |
2574 CheckDefAndScriptFailure(['popup_clear(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 2580 v9.CheckDefAndScriptFailure(['popup_clear(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
2575 enddef | 2581 enddef |
2576 | 2582 |
2577 def Test_popup_close() | 2583 def Test_popup_close() |
2578 CheckDefAndScriptFailure(['popup_close("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2584 v9.CheckDefAndScriptFailure(['popup_close("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2579 enddef | 2585 enddef |
2580 | 2586 |
2581 def Test_popup_create() | 2587 def Test_popup_create() |
2582 # Pass variable of type 'any' to popup_create() | 2588 # Pass variable of type 'any' to popup_create() |
2583 var what: any = 'Hello' | 2589 var what: any = 'Hello' |
2585 assert_equal(0, popupID->popup_getoptions().tabpage) | 2591 assert_equal(0, popupID->popup_getoptions().tabpage) |
2586 popupID->popup_close() | 2592 popupID->popup_close() |
2587 enddef | 2593 enddef |
2588 | 2594 |
2589 def Test_popup_dialog() | 2595 def Test_popup_dialog() |
2590 CheckDefAndScriptFailure(['popup_dialog({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) | 2596 v9.CheckDefAndScriptFailure(['popup_dialog({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) |
2591 CheckDefAndScriptFailure(['popup_dialog("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 2597 v9.CheckDefAndScriptFailure(['popup_dialog("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
2592 enddef | 2598 enddef |
2593 | 2599 |
2594 def Test_popup_filter_menu() | 2600 def Test_popup_filter_menu() |
2595 CheckDefAndScriptFailure(['popup_filter_menu("x", "")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2601 v9.CheckDefAndScriptFailure(['popup_filter_menu("x", "")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2596 CheckDefAndScriptFailure(['popup_filter_menu(1, 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2602 v9.CheckDefAndScriptFailure(['popup_filter_menu(1, 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2597 var id: number = popup_menu(["one", "two", "three"], {}) | 2603 var id: number = popup_menu(["one", "two", "three"], {}) |
2598 popup_filter_menu(id, '') | 2604 popup_filter_menu(id, '') |
2599 popup_close(id) | 2605 popup_close(id) |
2600 enddef | 2606 enddef |
2601 | 2607 |
2602 def Test_popup_filter_yesno() | 2608 def Test_popup_filter_yesno() |
2603 CheckDefAndScriptFailure(['popup_filter_yesno("x", "")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2609 v9.CheckDefAndScriptFailure(['popup_filter_yesno("x", "")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2604 CheckDefAndScriptFailure(['popup_filter_yesno(1, 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2610 v9.CheckDefAndScriptFailure(['popup_filter_yesno(1, 1)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2605 enddef | 2611 enddef |
2606 | 2612 |
2607 def Test_popup_getoptions() | 2613 def Test_popup_getoptions() |
2608 CheckDefAndScriptFailure(['popup_getoptions("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2614 v9.CheckDefAndScriptFailure(['popup_getoptions("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2609 CheckDefAndScriptFailure(['popup_getoptions(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) | 2615 v9.CheckDefAndScriptFailure(['popup_getoptions(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) |
2610 enddef | 2616 enddef |
2611 | 2617 |
2612 def Test_popup_getpos() | 2618 def Test_popup_getpos() |
2613 CheckDefAndScriptFailure(['popup_getpos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2619 v9.CheckDefAndScriptFailure(['popup_getpos("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2614 CheckDefAndScriptFailure(['popup_getpos(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) | 2620 v9.CheckDefAndScriptFailure(['popup_getpos(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) |
2615 enddef | 2621 enddef |
2616 | 2622 |
2617 def Test_popup_hide() | 2623 def Test_popup_hide() |
2618 CheckDefAndScriptFailure(['popup_hide("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2624 v9.CheckDefAndScriptFailure(['popup_hide("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2619 CheckDefAndScriptFailure(['popup_hide(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) | 2625 v9.CheckDefAndScriptFailure(['popup_hide(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) |
2620 enddef | 2626 enddef |
2621 | 2627 |
2622 def Test_popup_locate() | 2628 def Test_popup_locate() |
2623 CheckDefAndScriptFailure(['popup_locate("a", 20)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2629 v9.CheckDefAndScriptFailure(['popup_locate("a", 20)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2624 CheckDefAndScriptFailure(['popup_locate(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2630 v9.CheckDefAndScriptFailure(['popup_locate(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2625 enddef | 2631 enddef |
2626 | 2632 |
2627 def Test_popup_menu() | 2633 def Test_popup_menu() |
2628 CheckDefAndScriptFailure(['popup_menu({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) | 2634 v9.CheckDefAndScriptFailure(['popup_menu({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) |
2629 CheckDefAndScriptFailure(['popup_menu("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 2635 v9.CheckDefAndScriptFailure(['popup_menu("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
2630 enddef | 2636 enddef |
2631 | 2637 |
2632 def Test_popup_move() | 2638 def Test_popup_move() |
2633 CheckDefAndScriptFailure(['popup_move("x", {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2639 v9.CheckDefAndScriptFailure(['popup_move("x", {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2634 CheckDefAndScriptFailure(['popup_move(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 2640 v9.CheckDefAndScriptFailure(['popup_move(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
2635 enddef | 2641 enddef |
2636 | 2642 |
2637 def Test_popup_notification() | 2643 def Test_popup_notification() |
2638 CheckDefAndScriptFailure(['popup_notification({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) | 2644 v9.CheckDefAndScriptFailure(['popup_notification({"a": 10}, {})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1']) |
2639 CheckDefAndScriptFailure(['popup_notification("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 2645 v9.CheckDefAndScriptFailure(['popup_notification("a", [1, 2])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
2640 enddef | 2646 enddef |
2641 | 2647 |
2642 def Test_popup_setoptions() | 2648 def Test_popup_setoptions() |
2643 CheckDefAndScriptFailure(['popup_setoptions("x", {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2649 v9.CheckDefAndScriptFailure(['popup_setoptions("x", {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2644 CheckDefAndScriptFailure(['popup_setoptions(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 2650 v9.CheckDefAndScriptFailure(['popup_setoptions(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
2645 enddef | 2651 enddef |
2646 | 2652 |
2647 def Test_popup_settext() | 2653 def Test_popup_settext() |
2648 CheckDefAndScriptFailure(['popup_settext("x", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2654 v9.CheckDefAndScriptFailure(['popup_settext("x", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2649 CheckDefAndScriptFailure(['popup_settext(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2']) | 2655 v9.CheckDefAndScriptFailure(['popup_settext(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2']) |
2650 enddef | 2656 enddef |
2651 | 2657 |
2652 def Test_popup_show() | 2658 def Test_popup_show() |
2653 CheckDefAndScriptFailure(['popup_show("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2659 v9.CheckDefAndScriptFailure(['popup_show("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2654 CheckDefAndScriptFailure(['popup_show(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) | 2660 v9.CheckDefAndScriptFailure(['popup_show(true)'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) |
2655 enddef | 2661 enddef |
2656 | 2662 |
2657 def Test_prevnonblank() | 2663 def Test_prevnonblank() |
2658 CheckDefAndScriptFailure(['prevnonblank(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) | 2664 v9.CheckDefAndScriptFailure(['prevnonblank(null)'], ['E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1']) |
2659 CheckDefExecAndScriptFailure(['prevnonblank("")'], 'E1209: Invalid value for a line number') | 2665 v9.CheckDefExecAndScriptFailure(['prevnonblank("")'], 'E1209: Invalid value for a line number') |
2660 assert_equal(0, prevnonblank(1)) | 2666 assert_equal(0, prevnonblank(1)) |
2661 enddef | 2667 enddef |
2662 | 2668 |
2663 def Test_printf() | 2669 def Test_printf() |
2664 CheckDefAndScriptFailure(['printf([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 2670 v9.CheckDefAndScriptFailure(['printf([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
2665 printf(0x10)->assert_equal('16') | 2671 printf(0x10)->assert_equal('16') |
2666 assert_equal(" abc", "abc"->printf("%4s")) | 2672 assert_equal(" abc", "abc"->printf("%4s")) |
2667 enddef | 2673 enddef |
2668 | 2674 |
2669 def Test_prompt_getprompt() | 2675 def Test_prompt_getprompt() |
2670 if !has('channel') | 2676 if !has('channel') |
2671 CheckFeature channel | 2677 CheckFeature channel |
2672 else | 2678 else |
2673 CheckDefAndScriptFailure(['prompt_getprompt([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 2679 v9.CheckDefAndScriptFailure(['prompt_getprompt([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
2674 assert_equal('', prompt_getprompt('NonExistingBuf')) | 2680 assert_equal('', prompt_getprompt('NonExistingBuf')) |
2675 endif | 2681 endif |
2676 enddef | 2682 enddef |
2677 | 2683 |
2678 def Test_prompt_setcallback() | 2684 def Test_prompt_setcallback() |
2679 if !has('channel') | 2685 if !has('channel') |
2680 CheckFeature channel | 2686 CheckFeature channel |
2681 else | 2687 else |
2682 CheckDefAndScriptFailure(['prompt_setcallback(true, "1")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 2688 v9.CheckDefAndScriptFailure(['prompt_setcallback(true, "1")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
2683 endif | 2689 endif |
2684 enddef | 2690 enddef |
2685 | 2691 |
2686 def Test_prompt_setinterrupt() | 2692 def Test_prompt_setinterrupt() |
2687 if !has('channel') | 2693 if !has('channel') |
2688 CheckFeature channel | 2694 CheckFeature channel |
2689 else | 2695 else |
2690 CheckDefAndScriptFailure(['prompt_setinterrupt(true, "1")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 2696 v9.CheckDefAndScriptFailure(['prompt_setinterrupt(true, "1")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
2691 endif | 2697 endif |
2692 enddef | 2698 enddef |
2693 | 2699 |
2694 def Test_prompt_setprompt() | 2700 def Test_prompt_setprompt() |
2695 if !has('channel') | 2701 if !has('channel') |
2696 CheckFeature channel | 2702 CheckFeature channel |
2697 else | 2703 else |
2698 CheckDefAndScriptFailure(['prompt_setprompt([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 2704 v9.CheckDefAndScriptFailure(['prompt_setprompt([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
2699 CheckDefAndScriptFailure(['prompt_setprompt(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 2705 v9.CheckDefAndScriptFailure(['prompt_setprompt(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
2700 endif | 2706 endif |
2701 enddef | 2707 enddef |
2702 | 2708 |
2703 def Test_prop_add() | 2709 def Test_prop_add() |
2704 CheckDefAndScriptFailure(['prop_add("a", 2, {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2710 v9.CheckDefAndScriptFailure(['prop_add("a", 2, {})'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2705 CheckDefAndScriptFailure(['prop_add(1, "b", {})'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2711 v9.CheckDefAndScriptFailure(['prop_add(1, "b", {})'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2706 CheckDefAndScriptFailure(['prop_add(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 2712 v9.CheckDefAndScriptFailure(['prop_add(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
2707 enddef | 2713 enddef |
2708 | 2714 |
2709 def Test_prop_add_list() | 2715 def Test_prop_add_list() |
2710 CheckDefAndScriptFailure(['prop_add_list([], [])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 2716 v9.CheckDefAndScriptFailure(['prop_add_list([], [])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
2711 CheckDefAndScriptFailure(['prop_add_list({}, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) | 2717 v9.CheckDefAndScriptFailure(['prop_add_list({}, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) |
2712 enddef | 2718 enddef |
2713 | 2719 |
2714 def Test_prop_clear() | 2720 def Test_prop_clear() |
2715 CheckDefAndScriptFailure(['prop_clear("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2721 v9.CheckDefAndScriptFailure(['prop_clear("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2716 CheckDefAndScriptFailure(['prop_clear(1, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2722 v9.CheckDefAndScriptFailure(['prop_clear(1, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2717 CheckDefAndScriptFailure(['prop_clear(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 2723 v9.CheckDefAndScriptFailure(['prop_clear(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
2718 enddef | 2724 enddef |
2719 | 2725 |
2720 def Test_prop_find() | 2726 def Test_prop_find() |
2721 CheckDefAndScriptFailure(['prop_find([1, 2])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) | 2727 v9.CheckDefAndScriptFailure(['prop_find([1, 2])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) |
2722 CheckDefAndScriptFailure(['prop_find([1, 2], "k")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) | 2728 v9.CheckDefAndScriptFailure(['prop_find([1, 2], "k")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) |
2723 CheckDefAndScriptFailure(['prop_find({"a": 10}, ["a"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2']) | 2729 v9.CheckDefAndScriptFailure(['prop_find({"a": 10}, ["a"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2']) |
2724 assert_fails("prop_find({}, '')", 'E474:') | 2730 assert_fails("prop_find({}, '')", 'E474:') |
2725 enddef | 2731 enddef |
2726 | 2732 |
2727 def Test_prop_list() | 2733 def Test_prop_list() |
2728 CheckDefAndScriptFailure(['prop_list("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2734 v9.CheckDefAndScriptFailure(['prop_list("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2729 CheckDefAndScriptFailure(['prop_list(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 2735 v9.CheckDefAndScriptFailure(['prop_list(1, [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
2730 enddef | 2736 enddef |
2731 | 2737 |
2732 def Test_prop_remove() | 2738 def Test_prop_remove() |
2733 CheckDefAndScriptFailure(['prop_remove([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 2739 v9.CheckDefAndScriptFailure(['prop_remove([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
2734 CheckDefAndScriptFailure(['prop_remove({}, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2740 v9.CheckDefAndScriptFailure(['prop_remove({}, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2735 CheckDefAndScriptFailure(['prop_remove({}, 1, "b")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2741 v9.CheckDefAndScriptFailure(['prop_remove({}, 1, "b")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2736 enddef | 2742 enddef |
2737 | 2743 |
2738 def Test_prop_type_add() | 2744 def Test_prop_type_add() |
2739 CheckDefAndScriptFailure(['prop_type_add({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2745 v9.CheckDefAndScriptFailure(['prop_type_add({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2740 CheckDefAndScriptFailure(['prop_type_add("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) | 2746 v9.CheckDefAndScriptFailure(['prop_type_add("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) |
2741 assert_fails("prop_type_add('', {highlight: 'Search'})", 'E474:') | 2747 assert_fails("prop_type_add('', {highlight: 'Search'})", 'E474:') |
2742 enddef | 2748 enddef |
2743 | 2749 |
2744 def Test_prop_type_change() | 2750 def Test_prop_type_change() |
2745 CheckDefAndScriptFailure(['prop_type_change({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2751 v9.CheckDefAndScriptFailure(['prop_type_change({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2746 CheckDefAndScriptFailure(['prop_type_change("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) | 2752 v9.CheckDefAndScriptFailure(['prop_type_change("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) |
2747 assert_fails("prop_type_change('', {highlight: 'Search'})", 'E474:') | 2753 assert_fails("prop_type_change('', {highlight: 'Search'})", 'E474:') |
2748 enddef | 2754 enddef |
2749 | 2755 |
2750 def Test_prop_type_delete() | 2756 def Test_prop_type_delete() |
2751 CheckDefAndScriptFailure(['prop_type_delete({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2757 v9.CheckDefAndScriptFailure(['prop_type_delete({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2752 CheckDefAndScriptFailure(['prop_type_delete({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2758 v9.CheckDefAndScriptFailure(['prop_type_delete({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2753 CheckDefAndScriptFailure(['prop_type_delete("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) | 2759 v9.CheckDefAndScriptFailure(['prop_type_delete("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) |
2754 assert_fails("prop_type_delete('')", 'E474:') | 2760 assert_fails("prop_type_delete('')", 'E474:') |
2755 enddef | 2761 enddef |
2756 | 2762 |
2757 def Test_prop_type_get() | 2763 def Test_prop_type_get() |
2758 CheckDefAndScriptFailure(['prop_type_get({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2764 v9.CheckDefAndScriptFailure(['prop_type_get({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2759 CheckDefAndScriptFailure(['prop_type_get({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 2765 v9.CheckDefAndScriptFailure(['prop_type_get({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
2760 CheckDefAndScriptFailure(['prop_type_get("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) | 2766 v9.CheckDefAndScriptFailure(['prop_type_get("a", "b")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) |
2761 assert_fails("prop_type_get('')", 'E474:') | 2767 assert_fails("prop_type_get('')", 'E474:') |
2762 enddef | 2768 enddef |
2763 | 2769 |
2764 def Test_prop_type_list() | 2770 def Test_prop_type_list() |
2765 CheckDefAndScriptFailure(['prop_type_list(["a"])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 1']) | 2771 v9.CheckDefAndScriptFailure(['prop_type_list(["a"])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 1']) |
2766 CheckDefAndScriptFailure(['prop_type_list(2)'], ['E1013: Argument 1: type mismatch, expected dict<any> but got number', 'E1206: Dictionary required for argument 1']) | 2772 v9.CheckDefAndScriptFailure(['prop_type_list(2)'], ['E1013: Argument 1: type mismatch, expected dict<any> but got number', 'E1206: Dictionary required for argument 1']) |
2767 enddef | 2773 enddef |
2768 | 2774 |
2769 def Test_py3eval() | 2775 def Test_py3eval() |
2770 if !has('python3') | 2776 if !has('python3') |
2771 CheckFeature python3 | 2777 CheckFeature python3 |
2772 endif | 2778 endif |
2773 CheckDefAndScriptFailure(['py3eval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 2779 v9.CheckDefAndScriptFailure(['py3eval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
2774 enddef | 2780 enddef |
2775 | 2781 |
2776 def Test_pyeval() | 2782 def Test_pyeval() |
2777 if !has('python') | 2783 if !has('python') |
2778 CheckFeature python | 2784 CheckFeature python |
2779 endif | 2785 endif |
2780 CheckDefAndScriptFailure(['pyeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 2786 v9.CheckDefAndScriptFailure(['pyeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
2781 enddef | 2787 enddef |
2782 | 2788 |
2783 def Test_pyxeval() | 2789 def Test_pyxeval() |
2784 if !has('python') && !has('python3') | 2790 if !has('python') && !has('python3') |
2785 CheckFeature python | 2791 CheckFeature python |
2786 endif | 2792 endif |
2787 CheckDefAndScriptFailure(['pyxeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 2793 v9.CheckDefAndScriptFailure(['pyxeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
2788 enddef | 2794 enddef |
2789 | 2795 |
2790 def Test_rand() | 2796 def Test_rand() |
2791 CheckDefAndScriptFailure(['rand(10)'], ['E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1']) | 2797 v9.CheckDefAndScriptFailure(['rand(10)'], ['E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1']) |
2792 CheckDefFailure(['rand(["a"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') | 2798 v9.CheckDefFailure(['rand(["a"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') |
2793 assert_true(rand() >= 0) | 2799 assert_true(rand() >= 0) |
2794 assert_true(rand(srand()) >= 0) | 2800 assert_true(rand(srand()) >= 0) |
2795 enddef | 2801 enddef |
2796 | 2802 |
2797 def Test_range() | 2803 def Test_range() |
2798 CheckDefAndScriptFailure(['range("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 2804 v9.CheckDefAndScriptFailure(['range("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
2799 CheckDefAndScriptFailure(['range(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2805 v9.CheckDefAndScriptFailure(['range(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2800 CheckDefAndScriptFailure(['range(10, 20, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2806 v9.CheckDefAndScriptFailure(['range(10, 20, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2801 enddef | 2807 enddef |
2802 | 2808 |
2803 def Test_readdir() | 2809 def Test_readdir() |
2804 eval expand('sautest')->readdir((e) => e[0] !=# '.') | 2810 eval expand('sautest')->readdir((e) => e[0] !=# '.') |
2805 eval expand('sautest')->readdirex((e) => e.name[0] !=# '.') | 2811 eval expand('sautest')->readdirex((e) => e.name[0] !=# '.') |
2806 CheckDefAndScriptFailure(['readdir(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2812 v9.CheckDefAndScriptFailure(['readdir(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2807 CheckDefAndScriptFailure(['readdir("a", "1", [3])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 2813 v9.CheckDefAndScriptFailure(['readdir("a", "1", [3])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
2808 if has('unix') | 2814 if has('unix') |
2809 # only fails on Unix-like systems | 2815 # only fails on Unix-like systems |
2810 assert_fails('readdir("")', 'E484: Can''t open file') | 2816 assert_fails('readdir("")', 'E484: Can''t open file') |
2811 endif | 2817 endif |
2812 enddef | 2818 enddef |
2813 | 2819 |
2814 def Test_readdirex() | 2820 def Test_readdirex() |
2815 CheckDefAndScriptFailure(['readdirex(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 2821 v9.CheckDefAndScriptFailure(['readdirex(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
2816 CheckDefAndScriptFailure(['readdirex("a", "1", [3])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 2822 v9.CheckDefAndScriptFailure(['readdirex("a", "1", [3])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
2817 if has('unix') | 2823 if has('unix') |
2818 # only fails on Unix-like systems | 2824 # only fails on Unix-like systems |
2819 assert_fails('readdirex("")', 'E484: Can''t open file') | 2825 assert_fails('readdirex("")', 'E484: Can''t open file') |
2820 endif | 2826 endif |
2821 enddef | 2827 enddef |
2827 assert_equal(blob, read) | 2833 assert_equal(blob, read) |
2828 | 2834 |
2829 var lines =<< trim END | 2835 var lines =<< trim END |
2830 var read: list<string> = readblob('Xreadblob') | 2836 var read: list<string> = readblob('Xreadblob') |
2831 END | 2837 END |
2832 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<string> but got blob', 1) | 2838 v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<string> but got blob', 1) |
2833 CheckDefExecAndScriptFailure(['readblob("")'], 'E484: Can''t open file <empty>') | 2839 v9.CheckDefExecAndScriptFailure(['readblob("")'], 'E484: Can''t open file <empty>') |
2834 delete('Xreadblob') | 2840 delete('Xreadblob') |
2835 enddef | 2841 enddef |
2836 | 2842 |
2837 def Test_readfile() | 2843 def Test_readfile() |
2838 var text = ['aaa', 'bbb', 'ccc'] | 2844 var text = ['aaa', 'bbb', 'ccc'] |
2841 assert_equal(text, read) | 2847 assert_equal(text, read) |
2842 | 2848 |
2843 var lines =<< trim END | 2849 var lines =<< trim END |
2844 var read: dict<string> = readfile('Xreadfile') | 2850 var read: dict<string> = readfile('Xreadfile') |
2845 END | 2851 END |
2846 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) | 2852 v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) |
2847 delete('Xreadfile') | 2853 delete('Xreadfile') |
2848 | 2854 |
2849 CheckDefAndScriptFailure(['readfile("a", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) | 2855 v9.CheckDefAndScriptFailure(['readfile("a", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) |
2850 CheckDefAndScriptFailure(['readfile("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2856 v9.CheckDefAndScriptFailure(['readfile("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2851 CheckDefExecAndScriptFailure(['readfile("")'], 'E1175: Non-empty string required for argument 1') | 2857 v9.CheckDefExecAndScriptFailure(['readfile("")'], 'E1175: Non-empty string required for argument 1') |
2852 enddef | 2858 enddef |
2853 | 2859 |
2854 def Test_reduce() | 2860 def Test_reduce() |
2855 CheckDefAndScriptFailure(['reduce({a: 10}, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1252: String, List or Blob required for argument 1']) | 2861 v9.CheckDefAndScriptFailure(['reduce({a: 10}, "1")'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1252: String, List or Blob required for argument 1']) |
2856 assert_equal(6, [1, 2, 3]->reduce((r, c) => r + c, 0)) | 2862 assert_equal(6, [1, 2, 3]->reduce((r, c) => r + c, 0)) |
2857 assert_equal(11, 0z0506->reduce((r, c) => r + c, 0)) | 2863 assert_equal(11, 0z0506->reduce((r, c) => r + c, 0)) |
2858 enddef | 2864 enddef |
2859 | 2865 |
2860 def Test_reltime() | 2866 def Test_reltime() |
2861 CheckFeature reltime | 2867 CheckFeature reltime |
2862 | 2868 |
2863 CheckDefExecAndScriptFailure(['[]->reltime()'], 'E474:') | 2869 v9.CheckDefExecAndScriptFailure(['[]->reltime()'], 'E474:') |
2864 CheckDefExecAndScriptFailure(['[]->reltime([])'], 'E474:') | 2870 v9.CheckDefExecAndScriptFailure(['[]->reltime([])'], 'E474:') |
2865 | 2871 |
2866 CheckDefAndScriptFailure(['reltime("x")'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) | 2872 v9.CheckDefAndScriptFailure(['reltime("x")'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) |
2867 CheckDefFailure(['reltime(["x", "y"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') | 2873 v9.CheckDefFailure(['reltime(["x", "y"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') |
2868 CheckDefAndScriptFailure(['reltime([1, 2], 10)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) | 2874 v9.CheckDefAndScriptFailure(['reltime([1, 2], 10)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) |
2869 CheckDefFailure(['reltime([1, 2], ["a", "b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') | 2875 v9.CheckDefFailure(['reltime([1, 2], ["a", "b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
2870 var start: list<any> = reltime() | 2876 var start: list<any> = reltime() |
2871 assert_true(type(reltime(start)) == v:t_list) | 2877 assert_true(type(reltime(start)) == v:t_list) |
2872 var end: list<any> = reltime() | 2878 var end: list<any> = reltime() |
2873 assert_true(type(reltime(start, end)) == v:t_list) | 2879 assert_true(type(reltime(start, end)) == v:t_list) |
2874 enddef | 2880 enddef |
2875 | 2881 |
2876 def Test_reltimefloat() | 2882 def Test_reltimefloat() |
2877 CheckFeature reltime | 2883 CheckFeature reltime |
2878 | 2884 |
2879 CheckDefExecAndScriptFailure(['[]->reltimefloat()'], 'E474:') | 2885 v9.CheckDefExecAndScriptFailure(['[]->reltimefloat()'], 'E474:') |
2880 | 2886 |
2881 CheckDefAndScriptFailure(['reltimefloat("x")'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) | 2887 v9.CheckDefAndScriptFailure(['reltimefloat("x")'], ['E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1']) |
2882 CheckDefFailure(['reltimefloat([1.1])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<float>') | 2888 v9.CheckDefFailure(['reltimefloat([1.1])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<float>') |
2883 assert_true(type(reltimefloat(reltime())) == v:t_float) | 2889 assert_true(type(reltimefloat(reltime())) == v:t_float) |
2884 enddef | 2890 enddef |
2885 | 2891 |
2886 def Test_reltimestr() | 2892 def Test_reltimestr() |
2887 CheckFeature reltime | 2893 CheckFeature reltime |
2888 | 2894 |
2889 CheckDefExecAndScriptFailure(['[]->reltimestr()'], 'E474:') | 2895 v9.CheckDefExecAndScriptFailure(['[]->reltimestr()'], 'E474:') |
2890 | 2896 |
2891 CheckDefAndScriptFailure(['reltimestr(true)'], ['E1013: Argument 1: type mismatch, expected list<number> but got bool', 'E1211: List required for argument 1']) | 2897 v9.CheckDefAndScriptFailure(['reltimestr(true)'], ['E1013: Argument 1: type mismatch, expected list<number> but got bool', 'E1211: List required for argument 1']) |
2892 CheckDefFailure(['reltimestr([true])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<bool>') | 2898 v9.CheckDefFailure(['reltimestr([true])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<bool>') |
2893 assert_true(type(reltimestr(reltime())) == v:t_string) | 2899 assert_true(type(reltimestr(reltime())) == v:t_string) |
2894 enddef | 2900 enddef |
2895 | 2901 |
2896 def Test_remote_expr() | 2902 def Test_remote_expr() |
2897 CheckFeature clientserver | 2903 CheckFeature clientserver |
2898 CheckEnv DISPLAY | 2904 CheckEnv DISPLAY |
2899 CheckDefAndScriptFailure(['remote_expr(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2905 v9.CheckDefAndScriptFailure(['remote_expr(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2900 CheckDefAndScriptFailure(['remote_expr("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2906 v9.CheckDefAndScriptFailure(['remote_expr("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2901 CheckDefAndScriptFailure(['remote_expr("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 2907 v9.CheckDefAndScriptFailure(['remote_expr("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
2902 CheckDefAndScriptFailure(['remote_expr("a", "b", "c", "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 2908 v9.CheckDefAndScriptFailure(['remote_expr("a", "b", "c", "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
2903 CheckDefExecAndScriptFailure(['remote_expr("", "")'], 'E241: Unable to send to ') | 2909 v9.CheckDefExecAndScriptFailure(['remote_expr("", "")'], 'E241: Unable to send to ') |
2904 enddef | 2910 enddef |
2905 | 2911 |
2906 def Test_remote_foreground() | 2912 def Test_remote_foreground() |
2907 CheckFeature clientserver | 2913 CheckFeature clientserver |
2908 # remote_foreground() doesn't fail on MS-Windows | 2914 # remote_foreground() doesn't fail on MS-Windows |
2909 CheckNotMSWindows | 2915 CheckNotMSWindows |
2910 CheckEnv DISPLAY | 2916 CheckEnv DISPLAY |
2911 | 2917 |
2912 CheckDefAndScriptFailure(['remote_foreground(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2918 v9.CheckDefAndScriptFailure(['remote_foreground(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2913 assert_fails('remote_foreground("NonExistingServer")', 'E241:') | 2919 assert_fails('remote_foreground("NonExistingServer")', 'E241:') |
2914 assert_fails('remote_foreground("")', 'E241:') | 2920 assert_fails('remote_foreground("")', 'E241:') |
2915 enddef | 2921 enddef |
2916 | 2922 |
2917 def Test_remote_peek() | 2923 def Test_remote_peek() |
2918 CheckFeature clientserver | 2924 CheckFeature clientserver |
2919 CheckEnv DISPLAY | 2925 CheckEnv DISPLAY |
2920 CheckDefAndScriptFailure(['remote_peek(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) | 2926 v9.CheckDefAndScriptFailure(['remote_peek(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) |
2921 CheckDefAndScriptFailure(['remote_peek("a5b6c7", [1])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 2927 v9.CheckDefAndScriptFailure(['remote_peek("a5b6c7", [1])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
2922 CheckDefExecAndScriptFailure(['remote_peek("")'], 'E573: Invalid server id used') | 2928 v9.CheckDefExecAndScriptFailure(['remote_peek("")'], 'E573: Invalid server id used') |
2923 enddef | 2929 enddef |
2924 | 2930 |
2925 def Test_remote_read() | 2931 def Test_remote_read() |
2926 CheckFeature clientserver | 2932 CheckFeature clientserver |
2927 CheckEnv DISPLAY | 2933 CheckEnv DISPLAY |
2928 CheckDefAndScriptFailure(['remote_read(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2934 v9.CheckDefAndScriptFailure(['remote_read(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2929 CheckDefAndScriptFailure(['remote_read("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2935 v9.CheckDefAndScriptFailure(['remote_read("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2930 CheckDefExecAndScriptFailure(['remote_read("")'], 'E573: Invalid server id used') | 2936 v9.CheckDefExecAndScriptFailure(['remote_read("")'], 'E573: Invalid server id used') |
2931 enddef | 2937 enddef |
2932 | 2938 |
2933 def Test_remote_send() | 2939 def Test_remote_send() |
2934 CheckFeature clientserver | 2940 CheckFeature clientserver |
2935 CheckEnv DISPLAY | 2941 CheckEnv DISPLAY |
2936 CheckDefAndScriptFailure(['remote_send(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2942 v9.CheckDefAndScriptFailure(['remote_send(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2937 CheckDefAndScriptFailure(['remote_send("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2943 v9.CheckDefAndScriptFailure(['remote_send("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2938 CheckDefAndScriptFailure(['remote_send("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 2944 v9.CheckDefAndScriptFailure(['remote_send("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
2939 assert_fails('remote_send("", "")', 'E241:') | 2945 assert_fails('remote_send("", "")', 'E241:') |
2940 enddef | 2946 enddef |
2941 | 2947 |
2942 def Test_remote_startserver() | 2948 def Test_remote_startserver() |
2943 CheckFeature clientserver | 2949 CheckFeature clientserver |
2944 CheckEnv DISPLAY | 2950 CheckEnv DISPLAY |
2945 CheckDefAndScriptFailure(['remote_startserver({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) | 2951 v9.CheckDefAndScriptFailure(['remote_startserver({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) |
2946 enddef | 2952 enddef |
2947 | 2953 |
2948 def Test_remove_const_list() | 2954 def Test_remove_const_list() |
2949 var l: list<number> = [1, 2, 3, 4] | 2955 var l: list<number> = [1, 2, 3, 4] |
2950 assert_equal([1, 2], remove(l, 0, 1)) | 2956 assert_equal([1, 2], remove(l, 0, 1)) |
2951 assert_equal([3, 4], l) | 2957 assert_equal([3, 4], l) |
2952 enddef | 2958 enddef |
2953 | 2959 |
2954 def Test_remove() | 2960 def Test_remove() |
2955 CheckDefAndScriptFailure(['remove("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1228: List, Dictionary or Blob required for argument 1']) | 2961 v9.CheckDefAndScriptFailure(['remove("a", 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1228: List, Dictionary or Blob required for argument 1']) |
2956 CheckDefAndScriptFailure(['remove([], "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2962 v9.CheckDefAndScriptFailure(['remove([], "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2957 CheckDefAndScriptFailure(['remove([], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2963 v9.CheckDefAndScriptFailure(['remove([], 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2958 CheckDefAndScriptFailure(['remove({}, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) | 2964 v9.CheckDefAndScriptFailure(['remove({}, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) |
2959 CheckDefAndScriptFailure(['remove(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 2965 v9.CheckDefAndScriptFailure(['remove(0z10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
2960 CheckDefAndScriptFailure(['remove(0z20, 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 2966 v9.CheckDefAndScriptFailure(['remove(0z20, 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
2961 var l: any = [1, 2, 3, 4] | 2967 var l: any = [1, 2, 3, 4] |
2962 remove(l, 1) | 2968 remove(l, 1) |
2963 assert_equal([1, 3, 4], l) | 2969 assert_equal([1, 3, 4], l) |
2964 remove(l, 0, 1) | 2970 remove(l, 0, 1) |
2965 assert_equal([4], l) | 2971 assert_equal([4], l) |
2984 endfor | 2990 endfor |
2985 res->assert_equal(3) | 2991 res->assert_equal(3) |
2986 enddef | 2992 enddef |
2987 | 2993 |
2988 def Test_rename() | 2994 def Test_rename() |
2989 CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 2995 v9.CheckDefAndScriptFailure(['rename(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
2990 CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 2996 v9.CheckDefAndScriptFailure(['rename("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
2991 rename('', '')->assert_equal(0) | 2997 rename('', '')->assert_equal(0) |
2992 enddef | 2998 enddef |
2993 | 2999 |
2994 def Test_repeat() | 3000 def Test_repeat() |
2995 CheckDefAndScriptFailure(['repeat(1.1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1224: String, Number or List required for argument 1']) | 3001 v9.CheckDefAndScriptFailure(['repeat(1.1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1224: String, Number or List required for argument 1']) |
2996 CheckDefAndScriptFailure(['repeat({a: 10}, 2)'], ['E1013: Argument 1: type mismatch, expected string but got dict<', 'E1224: String, Number or List required for argument 1']) | 3002 v9.CheckDefAndScriptFailure(['repeat({a: 10}, 2)'], ['E1013: Argument 1: type mismatch, expected string but got dict<', 'E1224: String, Number or List required for argument 1']) |
2997 var lines =<< trim END | 3003 var lines =<< trim END |
2998 assert_equal('aaa', repeat('a', 3)) | 3004 assert_equal('aaa', repeat('a', 3)) |
2999 assert_equal('111', repeat(1, 3)) | 3005 assert_equal('111', repeat(1, 3)) |
3000 assert_equal([1, 1, 1], repeat([1], 3)) | 3006 assert_equal([1, 1, 1], repeat([1], 3)) |
3001 var s = '-' | 3007 var s = '-' |
3002 s ..= repeat(5, 3) | 3008 s ..= repeat(5, 3) |
3003 assert_equal('-555', s) | 3009 assert_equal('-555', s) |
3004 END | 3010 END |
3005 CheckDefAndScriptSuccess(lines) | 3011 v9.CheckDefAndScriptSuccess(lines) |
3006 enddef | 3012 enddef |
3007 | 3013 |
3008 def Test_resolve() | 3014 def Test_resolve() |
3009 CheckDefAndScriptFailure(['resolve([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 3015 v9.CheckDefAndScriptFailure(['resolve([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
3010 assert_equal('SomeFile', resolve('SomeFile')) | 3016 assert_equal('SomeFile', resolve('SomeFile')) |
3011 resolve('')->assert_equal('') | 3017 resolve('')->assert_equal('') |
3012 enddef | 3018 enddef |
3013 | 3019 |
3014 def Test_reverse() | 3020 def Test_reverse() |
3015 CheckDefAndScriptFailure(['reverse(10)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1226: List or Blob required for argument 1']) | 3021 v9.CheckDefAndScriptFailure(['reverse(10)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1226: List or Blob required for argument 1']) |
3016 CheckDefAndScriptFailure(['reverse("abc")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) | 3022 v9.CheckDefAndScriptFailure(['reverse("abc")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1']) |
3017 enddef | 3023 enddef |
3018 | 3024 |
3019 def Test_reverse_return_type() | 3025 def Test_reverse_return_type() |
3020 var l = reverse([1, 2, 3]) | 3026 var l = reverse([1, 2, 3]) |
3021 var res = 0 | 3027 var res = 0 |
3027 | 3033 |
3028 def Test_rubyeval() | 3034 def Test_rubyeval() |
3029 if !has('ruby') | 3035 if !has('ruby') |
3030 CheckFeature ruby | 3036 CheckFeature ruby |
3031 endif | 3037 endif |
3032 CheckDefAndScriptFailure(['rubyeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 3038 v9.CheckDefAndScriptFailure(['rubyeval([2])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
3033 enddef | 3039 enddef |
3034 | 3040 |
3035 def Test_screenattr() | 3041 def Test_screenattr() |
3036 CheckDefAndScriptFailure(['screenattr("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3042 v9.CheckDefAndScriptFailure(['screenattr("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3037 CheckDefAndScriptFailure(['screenattr(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3043 v9.CheckDefAndScriptFailure(['screenattr(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3038 enddef | 3044 enddef |
3039 | 3045 |
3040 def Test_screenchar() | 3046 def Test_screenchar() |
3041 CheckDefAndScriptFailure(['screenchar("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3047 v9.CheckDefAndScriptFailure(['screenchar("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3042 CheckDefAndScriptFailure(['screenchar(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3048 v9.CheckDefAndScriptFailure(['screenchar(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3043 enddef | 3049 enddef |
3044 | 3050 |
3045 def Test_screenchars() | 3051 def Test_screenchars() |
3046 CheckDefAndScriptFailure(['screenchars("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3052 v9.CheckDefAndScriptFailure(['screenchars("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3047 CheckDefAndScriptFailure(['screenchars(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3053 v9.CheckDefAndScriptFailure(['screenchars(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3048 enddef | 3054 enddef |
3049 | 3055 |
3050 def Test_screenpos() | 3056 def Test_screenpos() |
3051 CheckDefAndScriptFailure(['screenpos("a", 1, 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3057 v9.CheckDefAndScriptFailure(['screenpos("a", 1, 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3052 CheckDefAndScriptFailure(['screenpos(1, "b", 1)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3058 v9.CheckDefAndScriptFailure(['screenpos(1, "b", 1)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3053 CheckDefAndScriptFailure(['screenpos(1, 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3059 v9.CheckDefAndScriptFailure(['screenpos(1, 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3054 assert_equal({col: 1, row: 1, endcol: 1, curscol: 1}, screenpos(1, 1, 1)) | 3060 assert_equal({col: 1, row: 1, endcol: 1, curscol: 1}, screenpos(1, 1, 1)) |
3055 enddef | 3061 enddef |
3056 | 3062 |
3057 def Test_screenstring() | 3063 def Test_screenstring() |
3058 CheckDefAndScriptFailure(['screenstring("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3064 v9.CheckDefAndScriptFailure(['screenstring("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3059 CheckDefAndScriptFailure(['screenstring(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3065 v9.CheckDefAndScriptFailure(['screenstring(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3060 enddef | 3066 enddef |
3061 | 3067 |
3062 def Test_search() | 3068 def Test_search() |
3063 new | 3069 new |
3064 setline(1, ['foo', 'bar']) | 3070 setline(1, ['foo', 'bar']) |
3086 normal 0 | 3092 normal 0 |
3087 assert_equal(0, search('this', '', 0, 0, 'col(".") > col')) | 3093 assert_equal(0, search('this', '', 0, 0, 'col(".") > col')) |
3088 normal 0 | 3094 normal 0 |
3089 assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col')) | 3095 assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col')) |
3090 bwipe! | 3096 bwipe! |
3091 CheckDefAndScriptFailure(['search(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3097 v9.CheckDefAndScriptFailure(['search(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3092 CheckDefAndScriptFailure(['search("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3098 v9.CheckDefAndScriptFailure(['search("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3093 CheckDefAndScriptFailure(['search("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3099 v9.CheckDefAndScriptFailure(['search("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3094 CheckDefAndScriptFailure(['search("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 3100 v9.CheckDefAndScriptFailure(['search("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
3095 new | 3101 new |
3096 setline(1, "match this") | 3102 setline(1, "match this") |
3097 CheckDefAndScriptFailure(['search("a", "", 9, 0, [0])'], ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String']) | 3103 v9.CheckDefAndScriptFailure(['search("a", "", 9, 0, [0])'], ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String']) |
3098 bwipe! | 3104 bwipe! |
3099 enddef | 3105 enddef |
3100 | 3106 |
3101 def Test_searchcount() | 3107 def Test_searchcount() |
3102 new | 3108 new |
3108 current: 1, | 3114 current: 1, |
3109 total: 1, | 3115 total: 1, |
3110 maxcount: 99, | 3116 maxcount: 99, |
3111 incomplete: 0}) | 3117 incomplete: 0}) |
3112 bwipe! | 3118 bwipe! |
3113 CheckDefAndScriptFailure(['searchcount([1])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) | 3119 v9.CheckDefAndScriptFailure(['searchcount([1])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1']) |
3114 enddef | 3120 enddef |
3115 | 3121 |
3116 def Test_searchdecl() | 3122 def Test_searchdecl() |
3117 searchdecl('blah', true, true)->assert_equal(1) | 3123 searchdecl('blah', true, true)->assert_equal(1) |
3118 CheckDefAndScriptFailure(['searchdecl(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3124 v9.CheckDefAndScriptFailure(['searchdecl(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3119 CheckDefAndScriptFailure(['searchdecl("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 3125 v9.CheckDefAndScriptFailure(['searchdecl("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
3120 CheckDefAndScriptFailure(['searchdecl("a", true, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 3126 v9.CheckDefAndScriptFailure(['searchdecl("a", true, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
3121 enddef | 3127 enddef |
3122 | 3128 |
3123 def Test_searchpair() | 3129 def Test_searchpair() |
3124 new | 3130 new |
3125 setline(1, "here { and } there") | 3131 setline(1, "here { and } there") |
3157 g:caught = 'yes' | 3163 g:caught = 'yes' |
3158 endtry | 3164 endtry |
3159 enddef | 3165 enddef |
3160 Fail() | 3166 Fail() |
3161 END | 3167 END |
3162 CheckScriptSuccess(lines) | 3168 v9.CheckScriptSuccess(lines) |
3163 assert_equal('yes', g:caught) | 3169 assert_equal('yes', g:caught) |
3164 unlet g:caught | 3170 unlet g:caught |
3165 bwipe! | 3171 bwipe! |
3166 | 3172 |
3167 lines =<< trim END | 3173 lines =<< trim END |
3168 echo searchpair("a", "b", "c", "d", "f", 33) | 3174 echo searchpair("a", "b", "c", "d", "f", 33) |
3169 END | 3175 END |
3170 CheckDefAndScriptFailure(lines, ['E1001: Variable not found: f', 'E475: Invalid argument: d']) | 3176 v9.CheckDefAndScriptFailure(lines, ['E1001: Variable not found: f', 'E475: Invalid argument: d']) |
3171 | 3177 |
3172 var errors = ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'] | 3178 var errors = ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'] |
3173 CheckDefAndScriptFailure(['searchpair(1, "b", "c")'], errors) | 3179 v9.CheckDefAndScriptFailure(['searchpair(1, "b", "c")'], errors) |
3174 CheckDefAndScriptFailure(['searchpairpos(1, "b", "c")'], errors) | 3180 v9.CheckDefAndScriptFailure(['searchpairpos(1, "b", "c")'], errors) |
3175 | 3181 |
3176 errors = ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2'] | 3182 errors = ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2'] |
3177 CheckDefAndScriptFailure(['searchpair("a", 2, "c")'], errors) | 3183 v9.CheckDefAndScriptFailure(['searchpair("a", 2, "c")'], errors) |
3178 CheckDefAndScriptFailure(['searchpairpos("a", 2, "c")'], errors) | 3184 v9.CheckDefAndScriptFailure(['searchpairpos("a", 2, "c")'], errors) |
3179 | 3185 |
3180 errors = ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3'] | 3186 errors = ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3'] |
3181 CheckDefAndScriptFailure(['searchpair("a", "b", 3)'], errors) | 3187 v9.CheckDefAndScriptFailure(['searchpair("a", "b", 3)'], errors) |
3182 CheckDefAndScriptFailure(['searchpairpos("a", "b", 3)'], errors) | 3188 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", 3)'], errors) |
3183 | 3189 |
3184 errors = ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4'] | 3190 errors = ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4'] |
3185 CheckDefAndScriptFailure(['searchpair("a", "b", "c", 4)'], errors) | 3191 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", 4)'], errors) |
3186 | 3192 |
3187 new | 3193 new |
3188 setline(1, "match this") | 3194 setline(1, "match this") |
3189 errors = ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String'] | 3195 errors = ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String'] |
3190 CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", [0])'], errors) | 3196 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", [0])'], errors) |
3191 CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", [0])'], errors) | 3197 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", [0])'], errors) |
3192 bwipe! | 3198 bwipe! |
3193 | 3199 |
3194 errors = ['E1013: Argument 6: type mismatch, expected number but got string', 'E1210: Number required for argument 6'] | 3200 errors = ['E1013: Argument 6: type mismatch, expected number but got string', 'E1210: Number required for argument 6'] |
3195 CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", "f")'], errors) | 3201 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", "f")'], errors) |
3196 CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", "f")'], errors) | 3202 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", "f")'], errors) |
3197 | 3203 |
3198 errors = ['E1013: Argument 7: type mismatch, expected number but got string', 'E1210: Number required for argument 7'] | 3204 errors = ['E1013: Argument 7: type mismatch, expected number but got string', 'E1210: Number required for argument 7'] |
3199 CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", 3, "g")'], errors) | 3205 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", 3, "g")'], errors) |
3200 CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", 3, "g")'], errors) | 3206 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", 3, "g")'], errors) |
3201 enddef | 3207 enddef |
3202 | 3208 |
3203 def Test_searchpos() | 3209 def Test_searchpos() |
3204 CheckDefAndScriptFailure(['searchpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3210 v9.CheckDefAndScriptFailure(['searchpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3205 CheckDefAndScriptFailure(['searchpos("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3211 v9.CheckDefAndScriptFailure(['searchpos("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3206 CheckDefAndScriptFailure(['searchpos("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3212 v9.CheckDefAndScriptFailure(['searchpos("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3207 CheckDefAndScriptFailure(['searchpos("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 3213 v9.CheckDefAndScriptFailure(['searchpos("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
3208 new | 3214 new |
3209 setline(1, "match this") | 3215 setline(1, "match this") |
3210 CheckDefAndScriptFailure(['searchpos("a", "", 9, 0, [0])'], ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String']) | 3216 v9.CheckDefAndScriptFailure(['searchpos("a", "", 9, 0, [0])'], ['E1013: Argument 5: type mismatch, expected func(...): any but got list<number>', 'E730: Using a List as a String']) |
3211 bwipe! | 3217 bwipe! |
3212 enddef | 3218 enddef |
3213 | 3219 |
3214 def Test_server2client() | 3220 def Test_server2client() |
3215 CheckFeature clientserver | 3221 CheckFeature clientserver |
3216 CheckEnv DISPLAY | 3222 CheckEnv DISPLAY |
3217 CheckDefAndScriptFailure(['server2client(10, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3223 v9.CheckDefAndScriptFailure(['server2client(10, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3218 CheckDefAndScriptFailure(['server2client("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3224 v9.CheckDefAndScriptFailure(['server2client("a", 10)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3219 CheckDefExecAndScriptFailure(['server2client("", "a")'], 'E573: Invalid server id used') | 3225 v9.CheckDefExecAndScriptFailure(['server2client("", "a")'], 'E573: Invalid server id used') |
3220 CheckDefExecAndScriptFailure(['server2client("", "")'], 'E573: Invalid server id used') | 3226 v9.CheckDefExecAndScriptFailure(['server2client("", "")'], 'E573: Invalid server id used') |
3221 enddef | 3227 enddef |
3222 | 3228 |
3223 def Test_shellescape() | 3229 def Test_shellescape() |
3224 CheckDefAndScriptFailure(['shellescape(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3230 v9.CheckDefAndScriptFailure(['shellescape(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3225 CheckDefAndScriptFailure(['shellescape("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 3231 v9.CheckDefAndScriptFailure(['shellescape("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
3226 if has('unix') | 3232 if has('unix') |
3227 assert_equal("''", shellescape('')) | 3233 assert_equal("''", shellescape('')) |
3228 endif | 3234 endif |
3229 enddef | 3235 enddef |
3230 | 3236 |
3273 getbufline(b, 2, 4)) | 3279 getbufline(b, 2, 4)) |
3274 endif | 3280 endif |
3275 | 3281 |
3276 exe 'bwipe! ' .. b | 3282 exe 'bwipe! ' .. b |
3277 END | 3283 END |
3278 CheckDefAndScriptSuccess(lines) | 3284 v9.CheckDefAndScriptSuccess(lines) |
3279 enddef | 3285 enddef |
3280 | 3286 |
3281 def Test_setbufvar() | 3287 def Test_setbufvar() |
3282 setbufvar(bufnr('%'), '&syntax', 'vim') | 3288 setbufvar(bufnr('%'), '&syntax', 'vim') |
3283 &syntax->assert_equal('vim') | 3289 &syntax->assert_equal('vim') |
3300 setlocal list& | 3306 setlocal list& |
3301 | 3307 |
3302 setbufvar('%', 'myvar', 123) | 3308 setbufvar('%', 'myvar', 123) |
3303 getbufvar('%', 'myvar')->assert_equal(123) | 3309 getbufvar('%', 'myvar')->assert_equal(123) |
3304 | 3310 |
3305 CheckDefAndScriptFailure(['setbufvar(true, "v", 3)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 3311 v9.CheckDefAndScriptFailure(['setbufvar(true, "v", 3)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
3306 CheckDefAndScriptFailure(['setbufvar(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3312 v9.CheckDefAndScriptFailure(['setbufvar(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3307 assert_fails('setbufvar("%", "", 10)', 'E461: Illegal variable name') | 3313 assert_fails('setbufvar("%", "", 10)', 'E461: Illegal variable name') |
3308 enddef | 3314 enddef |
3309 | 3315 |
3310 def Test_setbufline() | 3316 def Test_setbufline() |
3311 new | 3317 new |
3314 setbufline(bnum, 1, range(1, 3)) | 3320 setbufline(bnum, 1, range(1, 3)) |
3315 setbufline(bnum, 4, 'one') | 3321 setbufline(bnum, 4, 'one') |
3316 setbufline(bnum, 5, 10) | 3322 setbufline(bnum, 5, 10) |
3317 setbufline(bnum, 6, ['two', 11]) | 3323 setbufline(bnum, 6, ['two', 11]) |
3318 assert_equal(['1', '2', '3', 'one', '10', 'two', '11'], getbufline(bnum, 1, '$')) | 3324 assert_equal(['1', '2', '3', 'one', '10', 'two', '11'], getbufline(bnum, 1, '$')) |
3319 CheckDefAndScriptFailure(['setbufline([1], 1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 3325 v9.CheckDefAndScriptFailure(['setbufline([1], 1, "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
3320 CheckDefAndScriptFailure(['setbufline(1, [1], "x")'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2']) | 3326 v9.CheckDefAndScriptFailure(['setbufline(1, [1], "x")'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2']) |
3321 CheckDefExecAndScriptFailure(['setbufline(' .. bnum .. ', -1, "x")'], 'E966: Invalid line number: -1') | 3327 v9.CheckDefExecAndScriptFailure(['setbufline(' .. bnum .. ', -1, "x")'], 'E966: Invalid line number: -1') |
3322 CheckDefAndScriptFailure(['setbufline(1, 1, {"a": 10})'], ['E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3']) | 3328 v9.CheckDefAndScriptFailure(['setbufline(1, 1, {"a": 10})'], ['E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3']) |
3323 bnum->bufwinid()->win_gotoid() | 3329 bnum->bufwinid()->win_gotoid() |
3324 setbufline('', 1, 'nombres') | 3330 setbufline('', 1, 'nombres') |
3325 getline(1)->assert_equal('nombres') | 3331 getline(1)->assert_equal('nombres') |
3326 bw! | 3332 bw! |
3327 enddef | 3333 enddef |
3328 | 3334 |
3329 def Test_setcellwidths() | 3335 def Test_setcellwidths() |
3330 CheckDefAndScriptFailure(['setcellwidths(1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1']) | 3336 v9.CheckDefAndScriptFailure(['setcellwidths(1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1']) |
3331 CheckDefAndScriptFailure(['setcellwidths({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) | 3337 v9.CheckDefAndScriptFailure(['setcellwidths({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) |
3332 enddef | 3338 enddef |
3333 | 3339 |
3334 def Test_setcharpos() | 3340 def Test_setcharpos() |
3335 CheckDefAndScriptFailure(['setcharpos(1, [])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3341 v9.CheckDefAndScriptFailure(['setcharpos(1, [])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3336 CheckDefFailure(['setcharpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') | 3342 v9.CheckDefFailure(['setcharpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
3337 CheckDefAndScriptFailure(['setcharpos(".", 1)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) | 3343 v9.CheckDefAndScriptFailure(['setcharpos(".", 1)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) |
3338 CheckDefExecAndScriptFailure(['setcharpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') | 3344 v9.CheckDefExecAndScriptFailure(['setcharpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') |
3339 enddef | 3345 enddef |
3340 | 3346 |
3341 def Test_setcharsearch() | 3347 def Test_setcharsearch() |
3342 CheckDefAndScriptFailure(['setcharsearch("x")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 1']) | 3348 v9.CheckDefAndScriptFailure(['setcharsearch("x")'], ['E1013: Argument 1: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 1']) |
3343 CheckDefAndScriptFailure(['setcharsearch([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 3349 v9.CheckDefAndScriptFailure(['setcharsearch([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
3344 var d: dict<any> = {char: 'x', forward: 1, until: 1} | 3350 var d: dict<any> = {char: 'x', forward: 1, until: 1} |
3345 setcharsearch(d) | 3351 setcharsearch(d) |
3346 assert_equal(d, getcharsearch()) | 3352 assert_equal(d, getcharsearch()) |
3347 enddef | 3353 enddef |
3348 | 3354 |
3349 def Test_setcmdpos() | 3355 def Test_setcmdpos() |
3350 CheckDefAndScriptFailure(['setcmdpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3356 v9.CheckDefAndScriptFailure(['setcmdpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3351 enddef | 3357 enddef |
3352 | 3358 |
3353 def Test_setcursorcharpos() | 3359 def Test_setcursorcharpos() |
3354 CheckDefAndScriptFailure(['setcursorcharpos(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1']) | 3360 v9.CheckDefAndScriptFailure(['setcursorcharpos(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1']) |
3355 CheckDefAndScriptFailure(['setcursorcharpos(1, "2")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3361 v9.CheckDefAndScriptFailure(['setcursorcharpos(1, "2")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3356 CheckDefAndScriptFailure(['setcursorcharpos(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3362 v9.CheckDefAndScriptFailure(['setcursorcharpos(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3357 CheckDefExecAndScriptFailure(['setcursorcharpos("", 10)'], 'E1209: Invalid value for a line number') | 3363 v9.CheckDefExecAndScriptFailure(['setcursorcharpos("", 10)'], 'E1209: Invalid value for a line number') |
3358 enddef | 3364 enddef |
3359 | 3365 |
3360 def Test_setenv() | 3366 def Test_setenv() |
3361 CheckDefAndScriptFailure(['setenv(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3367 v9.CheckDefAndScriptFailure(['setenv(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3362 assert_equal(0, setenv('', '')) | 3368 assert_equal(0, setenv('', '')) |
3363 assert_equal(0, setenv('', v:null)) | 3369 assert_equal(0, setenv('', v:null)) |
3364 enddef | 3370 enddef |
3365 | 3371 |
3366 def Test_setfperm() | 3372 def Test_setfperm() |
3367 CheckDefAndScriptFailure(['setfperm(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3373 v9.CheckDefAndScriptFailure(['setfperm(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3368 CheckDefAndScriptFailure(['setfperm("a", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) | 3374 v9.CheckDefAndScriptFailure(['setfperm("a", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) |
3369 CheckDefExecAndScriptFailure(['setfperm("Xfile", "")'], 'E475: Invalid argument') | 3375 v9.CheckDefExecAndScriptFailure(['setfperm("Xfile", "")'], 'E475: Invalid argument') |
3370 CheckDefExecAndScriptFailure(['setfperm("", "")'], 'E475: Invalid argument') | 3376 v9.CheckDefExecAndScriptFailure(['setfperm("", "")'], 'E475: Invalid argument') |
3371 assert_equal(0, setfperm('', 'rw-r--r--')) | 3377 assert_equal(0, setfperm('', 'rw-r--r--')) |
3372 enddef | 3378 enddef |
3373 | 3379 |
3374 def Test_setline() | 3380 def Test_setline() |
3375 new | 3381 new |
3379 assert_equal(['a', 'b', 'c', 'd'], getline(1, '$')) | 3385 assert_equal(['a', 'b', 'c', 'd'], getline(1, '$')) |
3380 setline(1, 'one') | 3386 setline(1, 'one') |
3381 assert_equal(['one', 'b', 'c', 'd'], getline(1, '$')) | 3387 assert_equal(['one', 'b', 'c', 'd'], getline(1, '$')) |
3382 setline(1, 10) | 3388 setline(1, 10) |
3383 assert_equal(['10', 'b', 'c', 'd'], getline(1, '$')) | 3389 assert_equal(['10', 'b', 'c', 'd'], getline(1, '$')) |
3384 CheckDefAndScriptFailure(['setline([1], "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 3390 v9.CheckDefAndScriptFailure(['setline([1], "x")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
3385 CheckDefExecAndScriptFailure(['setline("", "x")'], 'E1209: Invalid value for a line number') | 3391 v9.CheckDefExecAndScriptFailure(['setline("", "x")'], 'E1209: Invalid value for a line number') |
3386 CheckDefExecAndScriptFailure(['setline(-1, "x")'], 'E966: Invalid line number: -1') | 3392 v9.CheckDefExecAndScriptFailure(['setline(-1, "x")'], 'E966: Invalid line number: -1') |
3387 assert_fails('setline(".a", "x")', ['E1209:', 'E1209:']) | 3393 assert_fails('setline(".a", "x")', ['E1209:', 'E1209:']) |
3388 bw! | 3394 bw! |
3389 enddef | 3395 enddef |
3390 | 3396 |
3391 def Test_setloclist() | 3397 def Test_setloclist() |
3392 var items = [{filename: '/tmp/file', lnum: 1, valid: true}] | 3398 var items = [{filename: '/tmp/file', lnum: 1, valid: true}] |
3393 var what = {items: items} | 3399 var what = {items: items} |
3394 setqflist([], ' ', what) | 3400 setqflist([], ' ', what) |
3395 setloclist(0, [], ' ', what) | 3401 setloclist(0, [], ' ', what) |
3396 CheckDefAndScriptFailure(['setloclist("1", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3402 v9.CheckDefAndScriptFailure(['setloclist("1", [])'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3397 CheckDefAndScriptFailure(['setloclist(1, 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) | 3403 v9.CheckDefAndScriptFailure(['setloclist(1, 2)'], ['E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2']) |
3398 CheckDefAndScriptFailure(['setloclist(1, [], 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3404 v9.CheckDefAndScriptFailure(['setloclist(1, [], 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3399 CheckDefAndScriptFailure(['setloclist(1, [], "a", [])'], ['E1013: Argument 4: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 4']) | 3405 v9.CheckDefAndScriptFailure(['setloclist(1, [], "a", [])'], ['E1013: Argument 4: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 4']) |
3400 enddef | 3406 enddef |
3401 | 3407 |
3402 def Test_setmatches() | 3408 def Test_setmatches() |
3403 CheckDefAndScriptFailure(['setmatches({})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) | 3409 v9.CheckDefAndScriptFailure(['setmatches({})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1']) |
3404 CheckDefAndScriptFailure(['setmatches([], "1")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3410 v9.CheckDefAndScriptFailure(['setmatches([], "1")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3405 enddef | 3411 enddef |
3406 | 3412 |
3407 def Test_setpos() | 3413 def Test_setpos() |
3408 CheckDefAndScriptFailure(['setpos(1, [])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3414 v9.CheckDefAndScriptFailure(['setpos(1, [])'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3409 CheckDefFailure(['setpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') | 3415 v9.CheckDefFailure(['setpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
3410 CheckDefAndScriptFailure(['setpos(".", 1)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) | 3416 v9.CheckDefAndScriptFailure(['setpos(".", 1)'], ['E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2']) |
3411 CheckDefExecAndScriptFailure(['setpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') | 3417 v9.CheckDefExecAndScriptFailure(['setpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') |
3412 enddef | 3418 enddef |
3413 | 3419 |
3414 def Test_setqflist() | 3420 def Test_setqflist() |
3415 CheckDefAndScriptFailure(['setqflist(1, "")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1']) | 3421 v9.CheckDefAndScriptFailure(['setqflist(1, "")'], ['E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1']) |
3416 CheckDefAndScriptFailure(['setqflist([], 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3422 v9.CheckDefAndScriptFailure(['setqflist([], 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3417 CheckDefAndScriptFailure(['setqflist([], "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 3423 v9.CheckDefAndScriptFailure(['setqflist([], "", [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
3418 enddef | 3424 enddef |
3419 | 3425 |
3420 def Test_setreg() | 3426 def Test_setreg() |
3421 setreg('a', ['aaa', 'bbb', 'ccc']) | 3427 setreg('a', ['aaa', 'bbb', 'ccc']) |
3422 var reginfo = getreginfo('a') | 3428 var reginfo = getreginfo('a') |
3423 setreg('a', reginfo) | 3429 setreg('a', reginfo) |
3424 getreginfo('a')->assert_equal(reginfo) | 3430 getreginfo('a')->assert_equal(reginfo) |
3425 assert_fails('setreg("ab", 0)', 'E1162:') | 3431 assert_fails('setreg("ab", 0)', 'E1162:') |
3426 CheckDefAndScriptFailure(['setreg(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3432 v9.CheckDefAndScriptFailure(['setreg(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3427 CheckDefAndScriptFailure(['setreg("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3433 v9.CheckDefAndScriptFailure(['setreg("a", "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3428 setreg('', '1a2b3c') | 3434 setreg('', '1a2b3c') |
3429 assert_equal('1a2b3c', @") | 3435 assert_equal('1a2b3c', @") |
3430 enddef | 3436 enddef |
3431 | 3437 |
3432 def Test_settabvar() | 3438 def Test_settabvar() |
3433 CheckDefAndScriptFailure(['settabvar("a", "b", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3439 v9.CheckDefAndScriptFailure(['settabvar("a", "b", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3434 CheckDefAndScriptFailure(['settabvar(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3440 v9.CheckDefAndScriptFailure(['settabvar(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3435 assert_fails('settabvar(1, "", 10)', 'E461: Illegal variable name') | 3441 assert_fails('settabvar(1, "", 10)', 'E461: Illegal variable name') |
3436 enddef | 3442 enddef |
3437 | 3443 |
3438 def Test_settabwinvar() | 3444 def Test_settabwinvar() |
3439 CheckDefAndScriptFailure(['settabwinvar("a", 2, "c", true)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3445 v9.CheckDefAndScriptFailure(['settabwinvar("a", 2, "c", true)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3440 CheckDefAndScriptFailure(['settabwinvar(1, "b", "c", [])'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3446 v9.CheckDefAndScriptFailure(['settabwinvar(1, "b", "c", [])'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3441 CheckDefAndScriptFailure(['settabwinvar(1, 1, 3, {})'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3447 v9.CheckDefAndScriptFailure(['settabwinvar(1, 1, 3, {})'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3442 assert_fails('settabwinvar(1, 1, "", 10)', 'E461: Illegal variable name') | 3448 assert_fails('settabwinvar(1, 1, "", 10)', 'E461: Illegal variable name') |
3443 enddef | 3449 enddef |
3444 | 3450 |
3445 def Test_settagstack() | 3451 def Test_settagstack() |
3446 CheckDefAndScriptFailure(['settagstack(true, {})'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) | 3452 v9.CheckDefAndScriptFailure(['settagstack(true, {})'], ['E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1']) |
3447 CheckDefAndScriptFailure(['settagstack(1, [1])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) | 3453 v9.CheckDefAndScriptFailure(['settagstack(1, [1])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2']) |
3448 CheckDefAndScriptFailure(['settagstack(1, {}, 2)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3454 v9.CheckDefAndScriptFailure(['settagstack(1, {}, 2)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3449 assert_fails('settagstack(1, {}, "")', 'E962: Invalid action') | 3455 assert_fails('settagstack(1, {}, "")', 'E962: Invalid action') |
3450 enddef | 3456 enddef |
3451 | 3457 |
3452 def Test_setwinvar() | 3458 def Test_setwinvar() |
3453 CheckDefAndScriptFailure(['setwinvar("a", "b", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3459 v9.CheckDefAndScriptFailure(['setwinvar("a", "b", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3454 CheckDefAndScriptFailure(['setwinvar(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3460 v9.CheckDefAndScriptFailure(['setwinvar(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3455 assert_fails('setwinvar(1, "", 10)', 'E461: Illegal variable name') | 3461 assert_fails('setwinvar(1, "", 10)', 'E461: Illegal variable name') |
3456 enddef | 3462 enddef |
3457 | 3463 |
3458 def Test_sha256() | 3464 def Test_sha256() |
3459 CheckDefAndScriptFailure(['sha256(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3465 v9.CheckDefAndScriptFailure(['sha256(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3460 CheckDefAndScriptFailure(['sha256(0zABCD)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) | 3466 v9.CheckDefAndScriptFailure(['sha256(0zABCD)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1']) |
3461 assert_equal('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', sha256('abc')) | 3467 assert_equal('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', sha256('abc')) |
3462 assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256('')) | 3468 assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256('')) |
3463 enddef | 3469 enddef |
3464 | 3470 |
3465 def Test_shiftwidth() | 3471 def Test_shiftwidth() |
3466 CheckDefAndScriptFailure(['shiftwidth("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3472 v9.CheckDefAndScriptFailure(['shiftwidth("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3467 enddef | 3473 enddef |
3468 | 3474 |
3469 def Test_sign_define() | 3475 def Test_sign_define() |
3470 CheckDefAndScriptFailure(['sign_define({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) | 3476 v9.CheckDefAndScriptFailure(['sign_define({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) |
3471 CheckDefAndScriptFailure(['sign_define({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) | 3477 v9.CheckDefAndScriptFailure(['sign_define({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1']) |
3472 CheckDefAndScriptFailure(['sign_define("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) | 3478 v9.CheckDefAndScriptFailure(['sign_define("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) |
3473 enddef | 3479 enddef |
3474 | 3480 |
3475 def Test_sign_getdefined() | 3481 def Test_sign_getdefined() |
3476 CheckDefAndScriptFailure(['sign_getdefined(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 3482 v9.CheckDefAndScriptFailure(['sign_getdefined(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
3477 CheckDefAndScriptFailure(['sign_getdefined(2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3483 v9.CheckDefAndScriptFailure(['sign_getdefined(2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3478 sign_getdefined('')->assert_equal([]) | 3484 sign_getdefined('')->assert_equal([]) |
3479 enddef | 3485 enddef |
3480 | 3486 |
3481 def Test_sign_getplaced() | 3487 def Test_sign_getplaced() |
3482 CheckDefAndScriptFailure(['sign_getplaced(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1']) | 3488 v9.CheckDefAndScriptFailure(['sign_getplaced(["x"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1']) |
3483 CheckDefAndScriptFailure(['sign_getplaced(1, ["a"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) | 3489 v9.CheckDefAndScriptFailure(['sign_getplaced(1, ["a"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) |
3484 CheckDefAndScriptFailure(['sign_getplaced("a", 1.1)'], ['E1013: Argument 2: type mismatch, expected dict<any> but got float', 'E1206: Dictionary required for argument 2']) | 3490 v9.CheckDefAndScriptFailure(['sign_getplaced("a", 1.1)'], ['E1013: Argument 2: type mismatch, expected dict<any> but got float', 'E1206: Dictionary required for argument 2']) |
3485 CheckDefExecAndScriptFailure(['sign_getplaced(bufnr(), {lnum: ""})'], 'E1030: Using a String as a Number:') | 3491 v9.CheckDefExecAndScriptFailure(['sign_getplaced(bufnr(), {lnum: ""})'], 'E1030: Using a String as a Number:') |
3486 sign_getplaced('')->assert_equal([{signs: [], bufnr: bufnr()}]) | 3492 sign_getplaced('')->assert_equal([{signs: [], bufnr: bufnr()}]) |
3487 enddef | 3493 enddef |
3488 | 3494 |
3489 def Test_sign_jump() | 3495 def Test_sign_jump() |
3490 CheckDefAndScriptFailure(['sign_jump("a", "b", "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3496 v9.CheckDefAndScriptFailure(['sign_jump("a", "b", "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3491 CheckDefAndScriptFailure(['sign_jump(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3497 v9.CheckDefAndScriptFailure(['sign_jump(1, 2, 3)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3492 CheckDefAndScriptFailure(['sign_jump(1, "b", true)'], ['E1013: Argument 3: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 3']) | 3498 v9.CheckDefAndScriptFailure(['sign_jump(1, "b", true)'], ['E1013: Argument 3: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 3']) |
3493 enddef | 3499 enddef |
3494 | 3500 |
3495 def Test_sign_place() | 3501 def Test_sign_place() |
3496 CheckDefAndScriptFailure(['sign_place("a", "b", "c", "d")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3502 v9.CheckDefAndScriptFailure(['sign_place("a", "b", "c", "d")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3497 CheckDefAndScriptFailure(['sign_place(1, 2, "c", "d")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3503 v9.CheckDefAndScriptFailure(['sign_place(1, 2, "c", "d")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3498 CheckDefAndScriptFailure(['sign_place(1, "b", 3, "d")'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3504 v9.CheckDefAndScriptFailure(['sign_place(1, "b", 3, "d")'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3499 CheckDefAndScriptFailure(['sign_place(1, "b", "c", 1.1)'], ['E1013: Argument 4: type mismatch, expected string but got float', 'E1220: String or Number required for argument 4']) | 3505 v9.CheckDefAndScriptFailure(['sign_place(1, "b", "c", 1.1)'], ['E1013: Argument 4: type mismatch, expected string but got float', 'E1220: String or Number required for argument 4']) |
3500 CheckDefAndScriptFailure(['sign_place(1, "b", "c", "d", [1])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 5']) | 3506 v9.CheckDefAndScriptFailure(['sign_place(1, "b", "c", "d", [1])'], ['E1013: Argument 5: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 5']) |
3501 CheckDefExecAndScriptFailure(['sign_place(0, "", "MySign", bufnr(), {lnum: ""})'], 'E1209: Invalid value for a line number: ""') | 3507 v9.CheckDefExecAndScriptFailure(['sign_place(0, "", "MySign", bufnr(), {lnum: ""})'], 'E1209: Invalid value for a line number: ""') |
3502 assert_fails("sign_place(0, '', '', '')", 'E155:') | 3508 assert_fails("sign_place(0, '', '', '')", 'E155:') |
3503 enddef | 3509 enddef |
3504 | 3510 |
3505 def Test_sign_placelist() | 3511 def Test_sign_placelist() |
3506 CheckDefAndScriptFailure(['sign_placelist("x")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 3512 v9.CheckDefAndScriptFailure(['sign_placelist("x")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
3507 CheckDefAndScriptFailure(['sign_placelist({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) | 3513 v9.CheckDefAndScriptFailure(['sign_placelist({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) |
3508 CheckDefExecAndScriptFailure(['sign_placelist([{"name": "MySign", "buffer": bufnr(), "lnum": ""}])'], 'E1209: Invalid value for a line number: ""') | 3514 v9.CheckDefExecAndScriptFailure(['sign_placelist([{"name": "MySign", "buffer": bufnr(), "lnum": ""}])'], 'E1209: Invalid value for a line number: ""') |
3509 assert_fails('sign_placelist([{name: "MySign", buffer: "", lnum: 1}])', 'E155:') | 3515 assert_fails('sign_placelist([{name: "MySign", buffer: "", lnum: 1}])', 'E155:') |
3510 enddef | 3516 enddef |
3511 | 3517 |
3512 def Test_sign_undefine() | 3518 def Test_sign_undefine() |
3513 CheckDefAndScriptFailure(['sign_undefine({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1']) | 3519 v9.CheckDefAndScriptFailure(['sign_undefine({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1']) |
3514 CheckDefAndScriptFailure(['sign_undefine([1])'], ['E1013: Argument 1: type mismatch, expected list<string> but got list<number>', 'E155: Unknown sign:']) | 3520 v9.CheckDefAndScriptFailure(['sign_undefine([1])'], ['E1013: Argument 1: type mismatch, expected list<string> but got list<number>', 'E155: Unknown sign:']) |
3515 enddef | 3521 enddef |
3516 | 3522 |
3517 def Test_sign_unplace() | 3523 def Test_sign_unplace() |
3518 CheckDefAndScriptFailure(['sign_unplace({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 3524 v9.CheckDefAndScriptFailure(['sign_unplace({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
3519 CheckDefAndScriptFailure(['sign_unplace({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 3525 v9.CheckDefAndScriptFailure(['sign_unplace({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
3520 CheckDefAndScriptFailure(['sign_unplace("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) | 3526 v9.CheckDefAndScriptFailure(['sign_unplace("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) |
3521 enddef | 3527 enddef |
3522 | 3528 |
3523 def Test_sign_unplacelist() | 3529 def Test_sign_unplacelist() |
3524 CheckDefAndScriptFailure(['sign_unplacelist("x")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 3530 v9.CheckDefAndScriptFailure(['sign_unplacelist("x")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
3525 CheckDefAndScriptFailure(['sign_unplacelist({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) | 3531 v9.CheckDefAndScriptFailure(['sign_unplacelist({"a": 10})'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) |
3526 enddef | 3532 enddef |
3527 | 3533 |
3528 def Test_simplify() | 3534 def Test_simplify() |
3529 CheckDefAndScriptFailure(['simplify(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3535 v9.CheckDefAndScriptFailure(['simplify(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3530 call assert_equal('NonExistingFile', simplify('NonExistingFile')) | 3536 call assert_equal('NonExistingFile', simplify('NonExistingFile')) |
3531 simplify('')->assert_equal('') | 3537 simplify('')->assert_equal('') |
3532 enddef | 3538 enddef |
3533 | 3539 |
3534 def Test_slice() | 3540 def Test_slice() |
3550 assert_equal(0z112233, slice(0z001122334455, 1, 4)) | 3556 assert_equal(0z112233, slice(0z001122334455, 1, 4)) |
3551 assert_equal(0z11223344, slice(0z001122334455, 1, -1)) | 3557 assert_equal(0z11223344, slice(0z001122334455, 1, -1)) |
3552 assert_equal(0z11, slice(0z001122334455, 1, -4)) | 3558 assert_equal(0z11, slice(0z001122334455, 1, -4)) |
3553 assert_equal(0z, slice(0z001122334455, 1, -5)) | 3559 assert_equal(0z, slice(0z001122334455, 1, -5)) |
3554 assert_equal(0z, slice(0z001122334455, 1, -6)) | 3560 assert_equal(0z, slice(0z001122334455, 1, -6)) |
3555 CheckDefAndScriptFailure(['slice({"a": 10}, 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) | 3561 v9.CheckDefAndScriptFailure(['slice({"a": 10}, 1)'], ['E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1']) |
3556 CheckDefAndScriptFailure(['slice([1, 2, 3], "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3562 v9.CheckDefAndScriptFailure(['slice([1, 2, 3], "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3557 CheckDefAndScriptFailure(['slice("abc", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3563 v9.CheckDefAndScriptFailure(['slice("abc", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3558 enddef | 3564 enddef |
3559 | 3565 |
3560 def Test_spellsuggest() | 3566 def Test_spellsuggest() |
3561 if !has('spell') | 3567 if !has('spell') |
3562 CheckFeature spell | 3568 CheckFeature spell |
3563 else | 3569 else |
3564 spellsuggest('marrch', 1, true)->assert_equal(['March']) | 3570 spellsuggest('marrch', 1, true)->assert_equal(['March']) |
3565 endif | 3571 endif |
3566 CheckDefAndScriptFailure(['spellsuggest(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3572 v9.CheckDefAndScriptFailure(['spellsuggest(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3567 CheckDefAndScriptFailure(['spellsuggest("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3573 v9.CheckDefAndScriptFailure(['spellsuggest("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3568 CheckDefAndScriptFailure(['spellsuggest("a", 1, 0z01)'], ['E1013: Argument 3: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 3']) | 3574 v9.CheckDefAndScriptFailure(['spellsuggest("a", 1, 0z01)'], ['E1013: Argument 3: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 3']) |
3569 spellsuggest('')->assert_equal([]) | 3575 spellsuggest('')->assert_equal([]) |
3570 enddef | 3576 enddef |
3571 | 3577 |
3572 def Test_sound_playevent() | 3578 def Test_sound_playevent() |
3573 CheckFeature sound | 3579 CheckFeature sound |
3574 CheckDefAndScriptFailure(['sound_playevent(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3580 v9.CheckDefAndScriptFailure(['sound_playevent(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3575 enddef | 3581 enddef |
3576 | 3582 |
3577 def Test_sound_playfile() | 3583 def Test_sound_playfile() |
3578 CheckFeature sound | 3584 CheckFeature sound |
3579 CheckDefAndScriptFailure(['sound_playfile(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3585 v9.CheckDefAndScriptFailure(['sound_playfile(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3580 enddef | 3586 enddef |
3581 | 3587 |
3582 def Test_sound_stop() | 3588 def Test_sound_stop() |
3583 CheckFeature sound | 3589 CheckFeature sound |
3584 CheckDefAndScriptFailure(['sound_stop("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3590 v9.CheckDefAndScriptFailure(['sound_stop("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3585 enddef | 3591 enddef |
3586 | 3592 |
3587 def Test_soundfold() | 3593 def Test_soundfold() |
3588 CheckDefAndScriptFailure(['soundfold(20)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3594 v9.CheckDefAndScriptFailure(['soundfold(20)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3589 assert_equal('abc', soundfold('abc')) | 3595 assert_equal('abc', soundfold('abc')) |
3590 assert_equal('', soundfold('')) | 3596 assert_equal('', soundfold('')) |
3591 enddef | 3597 enddef |
3592 | 3598 |
3593 def Test_sort_return_type() | 3599 def Test_sort_return_type() |
3605 enddef | 3611 enddef |
3606 var l = [3, 6, 7, 1, 8, 2, 4, 5] | 3612 var l = [3, 6, 7, 1, 8, 2, 4, 5] |
3607 sort(l, Compare) | 3613 sort(l, Compare) |
3608 assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l) | 3614 assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l) |
3609 END | 3615 END |
3610 CheckDefAndScriptSuccess(lines) | 3616 v9.CheckDefAndScriptSuccess(lines) |
3611 CheckDefAndScriptFailure(['sort("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 3617 v9.CheckDefAndScriptFailure(['sort("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
3612 CheckDefAndScriptFailure(['sort([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 3618 v9.CheckDefAndScriptFailure(['sort([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
3613 enddef | 3619 enddef |
3614 | 3620 |
3615 def Test_sort_compare_func_fails() | 3621 def Test_sort_compare_func_fails() |
3616 var lines =<< trim END | 3622 var lines =<< trim END |
3617 vim9script | 3623 vim9script |
3622 | 3628 |
3623 delete('Xbadsort') | 3629 delete('Xbadsort') |
3624 enddef | 3630 enddef |
3625 | 3631 |
3626 def Test_spellbadword() | 3632 def Test_spellbadword() |
3627 CheckDefAndScriptFailure(['spellbadword(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3633 v9.CheckDefAndScriptFailure(['spellbadword(100)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3628 spellbadword('good')->assert_equal(['', '']) | 3634 spellbadword('good')->assert_equal(['', '']) |
3629 spellbadword('')->assert_equal(['', '']) | 3635 spellbadword('')->assert_equal(['', '']) |
3630 enddef | 3636 enddef |
3631 | 3637 |
3632 def Test_split() | 3638 def Test_split() |
3633 split(' aa bb ', '\W\+', true)->assert_equal(['', 'aa', 'bb', '']) | 3639 split(' aa bb ', '\W\+', true)->assert_equal(['', 'aa', 'bb', '']) |
3634 CheckDefAndScriptFailure(['split(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3640 v9.CheckDefAndScriptFailure(['split(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3635 CheckDefAndScriptFailure(['split("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3641 v9.CheckDefAndScriptFailure(['split("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3636 CheckDefAndScriptFailure(['split("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 3642 v9.CheckDefAndScriptFailure(['split("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
3637 split('')->assert_equal([]) | 3643 split('')->assert_equal([]) |
3638 split('', '')->assert_equal([]) | 3644 split('', '')->assert_equal([]) |
3639 enddef | 3645 enddef |
3640 | 3646 |
3641 def Test_srand() | 3647 def Test_srand() |
3642 CheckDefAndScriptFailure(['srand("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3648 v9.CheckDefAndScriptFailure(['srand("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3643 type(srand(100))->assert_equal(v:t_list) | 3649 type(srand(100))->assert_equal(v:t_list) |
3644 enddef | 3650 enddef |
3645 | 3651 |
3646 def Test_state() | 3652 def Test_state() |
3647 CheckDefAndScriptFailure(['state({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) | 3653 v9.CheckDefAndScriptFailure(['state({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) |
3648 assert_equal('', state('a')) | 3654 assert_equal('', state('a')) |
3649 enddef | 3655 enddef |
3650 | 3656 |
3651 def Test_str2float() | 3657 def Test_str2float() |
3652 if !has('float') | 3658 if !has('float') |
3654 else | 3660 else |
3655 str2float("1.00")->assert_equal(1.00) | 3661 str2float("1.00")->assert_equal(1.00) |
3656 str2float("2e-2")->assert_equal(0.02) | 3662 str2float("2e-2")->assert_equal(0.02) |
3657 str2float('')->assert_equal(0.0) | 3663 str2float('')->assert_equal(0.0) |
3658 | 3664 |
3659 CheckDefAndScriptFailure(['str2float(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3665 v9.CheckDefAndScriptFailure(['str2float(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3660 endif | 3666 endif |
3661 enddef | 3667 enddef |
3662 | 3668 |
3663 def Test_str2list() | 3669 def Test_str2list() |
3664 CheckDefAndScriptFailure(['str2list(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3670 v9.CheckDefAndScriptFailure(['str2list(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3665 CheckDefAndScriptFailure(['str2list("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 3671 v9.CheckDefAndScriptFailure(['str2list("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
3666 assert_equal([97], str2list('a')) | 3672 assert_equal([97], str2list('a')) |
3667 assert_equal([97], str2list('a', 1)) | 3673 assert_equal([97], str2list('a', 1)) |
3668 assert_equal([97], str2list('a', true)) | 3674 assert_equal([97], str2list('a', true)) |
3669 str2list('')->assert_equal([]) | 3675 str2list('')->assert_equal([]) |
3670 enddef | 3676 enddef |
3671 | 3677 |
3672 def Test_str2nr() | 3678 def Test_str2nr() |
3673 str2nr("1'000'000", 10, true)->assert_equal(1000000) | 3679 str2nr("1'000'000", 10, true)->assert_equal(1000000) |
3674 str2nr('')->assert_equal(0) | 3680 str2nr('')->assert_equal(0) |
3675 | 3681 |
3676 CheckDefAndScriptFailure(['str2nr(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3682 v9.CheckDefAndScriptFailure(['str2nr(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3677 CheckDefAndScriptFailure(['str2nr("123", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3683 v9.CheckDefAndScriptFailure(['str2nr("123", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3678 CheckDefAndScriptFailure(['str2nr("123", 10, "x")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) | 3684 v9.CheckDefAndScriptFailure(['str2nr("123", 10, "x")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) |
3679 enddef | 3685 enddef |
3680 | 3686 |
3681 def Test_strcharlen() | 3687 def Test_strcharlen() |
3682 CheckDefAndScriptFailure(['strcharlen([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 3688 v9.CheckDefAndScriptFailure(['strcharlen([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
3683 "abc"->strcharlen()->assert_equal(3) | 3689 "abc"->strcharlen()->assert_equal(3) |
3684 strcharlen(99)->assert_equal(2) | 3690 strcharlen(99)->assert_equal(2) |
3685 enddef | 3691 enddef |
3686 | 3692 |
3687 def Test_strcharpart() | 3693 def Test_strcharpart() |
3688 CheckDefAndScriptFailure(['strcharpart(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3694 v9.CheckDefAndScriptFailure(['strcharpart(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3689 CheckDefAndScriptFailure(['strcharpart("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3695 v9.CheckDefAndScriptFailure(['strcharpart("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3690 CheckDefAndScriptFailure(['strcharpart("a", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3696 v9.CheckDefAndScriptFailure(['strcharpart("a", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3691 CheckDefAndScriptFailure(['strcharpart("a", 1, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 3697 v9.CheckDefAndScriptFailure(['strcharpart("a", 1, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
3692 strcharpart('', 0)->assert_equal('') | 3698 strcharpart('', 0)->assert_equal('') |
3693 enddef | 3699 enddef |
3694 | 3700 |
3695 def Test_strchars() | 3701 def Test_strchars() |
3696 strchars("A\u20dd", true)->assert_equal(1) | 3702 strchars("A\u20dd", true)->assert_equal(1) |
3697 CheckDefAndScriptFailure(['strchars(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3703 v9.CheckDefAndScriptFailure(['strchars(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3698 CheckDefAndScriptFailure(['strchars("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 3704 v9.CheckDefAndScriptFailure(['strchars("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
3699 assert_equal(3, strchars('abc')) | 3705 assert_equal(3, strchars('abc')) |
3700 assert_equal(3, strchars('abc', 1)) | 3706 assert_equal(3, strchars('abc', 1)) |
3701 assert_equal(3, strchars('abc', true)) | 3707 assert_equal(3, strchars('abc', true)) |
3702 strchars('')->assert_equal(0) | 3708 strchars('')->assert_equal(0) |
3703 enddef | 3709 enddef |
3704 | 3710 |
3705 def Test_strdisplaywidth() | 3711 def Test_strdisplaywidth() |
3706 CheckDefAndScriptFailure(['strdisplaywidth(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3712 v9.CheckDefAndScriptFailure(['strdisplaywidth(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3707 CheckDefAndScriptFailure(['strdisplaywidth("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3713 v9.CheckDefAndScriptFailure(['strdisplaywidth("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3708 strdisplaywidth('')->assert_equal(0) | 3714 strdisplaywidth('')->assert_equal(0) |
3709 enddef | 3715 enddef |
3710 | 3716 |
3711 def Test_strftime() | 3717 def Test_strftime() |
3712 if exists('*strftime') | 3718 if exists('*strftime') |
3713 CheckDefAndScriptFailure(['strftime(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3719 v9.CheckDefAndScriptFailure(['strftime(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3714 CheckDefAndScriptFailure(['strftime("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3720 v9.CheckDefAndScriptFailure(['strftime("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3715 strftime('')->assert_equal('') | 3721 strftime('')->assert_equal('') |
3716 endif | 3722 endif |
3717 enddef | 3723 enddef |
3718 | 3724 |
3719 def Test_strgetchar() | 3725 def Test_strgetchar() |
3720 CheckDefAndScriptFailure(['strgetchar(1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3726 v9.CheckDefAndScriptFailure(['strgetchar(1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3721 CheckDefAndScriptFailure(['strgetchar("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3727 v9.CheckDefAndScriptFailure(['strgetchar("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3722 strgetchar('', 0)->assert_equal(-1) | 3728 strgetchar('', 0)->assert_equal(-1) |
3723 strgetchar('', 1)->assert_equal(-1) | 3729 strgetchar('', 1)->assert_equal(-1) |
3724 enddef | 3730 enddef |
3725 | 3731 |
3726 def Test_stridx() | 3732 def Test_stridx() |
3727 CheckDefAndScriptFailure(['stridx([1], "b")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 3733 v9.CheckDefAndScriptFailure(['stridx([1], "b")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
3728 CheckDefAndScriptFailure(['stridx("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) | 3734 v9.CheckDefAndScriptFailure(['stridx("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) |
3729 CheckDefAndScriptFailure(['stridx("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3735 v9.CheckDefAndScriptFailure(['stridx("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3730 stridx('', '')->assert_equal(0) | 3736 stridx('', '')->assert_equal(0) |
3731 stridx('', 'a')->assert_equal(-1) | 3737 stridx('', 'a')->assert_equal(-1) |
3732 stridx('a', '')->assert_equal(0) | 3738 stridx('a', '')->assert_equal(0) |
3733 enddef | 3739 enddef |
3734 | 3740 |
3735 def Test_strlen() | 3741 def Test_strlen() |
3736 CheckDefAndScriptFailure(['strlen([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 3742 v9.CheckDefAndScriptFailure(['strlen([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
3737 "abc"->strlen()->assert_equal(3) | 3743 "abc"->strlen()->assert_equal(3) |
3738 strlen(99)->assert_equal(2) | 3744 strlen(99)->assert_equal(2) |
3739 enddef | 3745 enddef |
3740 | 3746 |
3741 def Test_strpart() | 3747 def Test_strpart() |
3742 CheckDefAndScriptFailure(['strpart(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3748 v9.CheckDefAndScriptFailure(['strpart(1, 2)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3743 CheckDefAndScriptFailure(['strpart("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3749 v9.CheckDefAndScriptFailure(['strpart("a", "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3744 CheckDefAndScriptFailure(['strpart("a", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3750 v9.CheckDefAndScriptFailure(['strpart("a", 1, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3745 CheckDefAndScriptFailure(['strpart("a", 1, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) | 3751 v9.CheckDefAndScriptFailure(['strpart("a", 1, 1, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4']) |
3746 strpart('', 0)->assert_equal('') | 3752 strpart('', 0)->assert_equal('') |
3747 enddef | 3753 enddef |
3748 | 3754 |
3749 def Test_strptime() | 3755 def Test_strptime() |
3750 CheckFunction strptime | 3756 CheckFunction strptime |
3751 if exists_compiled('*strptime') | 3757 if exists_compiled('*strptime') |
3752 CheckDefAndScriptFailure(['strptime(10, "2021")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3758 v9.CheckDefAndScriptFailure(['strptime(10, "2021")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3753 CheckDefAndScriptFailure(['strptime("%Y", 2021)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3759 v9.CheckDefAndScriptFailure(['strptime("%Y", 2021)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3754 assert_true(strptime('%Y', '2021') != 0) | 3760 assert_true(strptime('%Y', '2021') != 0) |
3755 assert_true(strptime('%Y', '') == 0) | 3761 assert_true(strptime('%Y', '') == 0) |
3756 endif | 3762 endif |
3757 enddef | 3763 enddef |
3758 | 3764 |
3759 def Test_strridx() | 3765 def Test_strridx() |
3760 CheckDefAndScriptFailure(['strridx([1], "b")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 3766 v9.CheckDefAndScriptFailure(['strridx([1], "b")'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
3761 CheckDefAndScriptFailure(['strridx("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) | 3767 v9.CheckDefAndScriptFailure(['strridx("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2']) |
3762 CheckDefAndScriptFailure(['strridx("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 3768 v9.CheckDefAndScriptFailure(['strridx("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
3763 strridx('', '')->assert_equal(0) | 3769 strridx('', '')->assert_equal(0) |
3764 strridx('', 'a')->assert_equal(-1) | 3770 strridx('', 'a')->assert_equal(-1) |
3765 strridx('a', '')->assert_equal(1) | 3771 strridx('a', '')->assert_equal(1) |
3766 enddef | 3772 enddef |
3767 | 3773 |
3768 def Test_strtrans() | 3774 def Test_strtrans() |
3769 CheckDefAndScriptFailure(['strtrans(20)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3775 v9.CheckDefAndScriptFailure(['strtrans(20)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3770 assert_equal('abc', strtrans('abc')) | 3776 assert_equal('abc', strtrans('abc')) |
3771 strtrans('')->assert_equal('') | 3777 strtrans('')->assert_equal('') |
3772 enddef | 3778 enddef |
3773 | 3779 |
3774 def Test_strwidth() | 3780 def Test_strwidth() |
3775 CheckDefAndScriptFailure(['strwidth(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3781 v9.CheckDefAndScriptFailure(['strwidth(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3776 assert_equal(4, strwidth('abcd')) | 3782 assert_equal(4, strwidth('abcd')) |
3777 strwidth('')->assert_equal(0) | 3783 strwidth('')->assert_equal(0) |
3778 enddef | 3784 enddef |
3779 | 3785 |
3780 def Test_submatch() | 3786 def Test_submatch() |
3781 var pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)' | 3787 var pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)' |
3782 var Rep = () => range(10)->mapnew((_, v) => submatch(v, true))->string() | 3788 var Rep = () => range(10)->mapnew((_, v) => submatch(v, true))->string() |
3783 var actual = substitute('A123456789', pat, Rep, '') | 3789 var actual = substitute('A123456789', pat, Rep, '') |
3784 var expected = "[['A123456789'], ['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9']]" | 3790 var expected = "[['A123456789'], ['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9']]" |
3785 actual->assert_equal(expected) | 3791 actual->assert_equal(expected) |
3786 CheckDefAndScriptFailure(['submatch("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3792 v9.CheckDefAndScriptFailure(['submatch("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3787 CheckDefAndScriptFailure(['submatch(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) | 3793 v9.CheckDefAndScriptFailure(['submatch(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) |
3788 enddef | 3794 enddef |
3789 | 3795 |
3790 def Test_substitute() | 3796 def Test_substitute() |
3791 var res = substitute('A1234', '\d', 'X', '') | 3797 var res = substitute('A1234', '\d', 'X', '') |
3792 assert_equal('AX234', res) | 3798 assert_equal('AX234', res) |
3793 | 3799 |
3794 if has('job') | 3800 if has('job') |
3795 assert_fails('"text"->substitute(".*", () => test_null_job(), "")', 'E908: using an invalid value as a String: job') | 3801 assert_fails('"text"->substitute(".*", () => test_null_job(), "")', 'E908: using an invalid value as a String: job') |
3796 assert_fails('"text"->substitute(".*", () => test_null_channel(), "")', 'E908: using an invalid value as a String: channel') | 3802 assert_fails('"text"->substitute(".*", () => test_null_channel(), "")', 'E908: using an invalid value as a String: channel') |
3797 endif | 3803 endif |
3798 CheckDefAndScriptFailure(['substitute(1, "b", "1", "d")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3804 v9.CheckDefAndScriptFailure(['substitute(1, "b", "1", "d")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3799 CheckDefAndScriptFailure(['substitute("a", 2, "1", "d")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3805 v9.CheckDefAndScriptFailure(['substitute("a", 2, "1", "d")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3800 CheckDefAndScriptFailure(['substitute("a", "b", "1", 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) | 3806 v9.CheckDefAndScriptFailure(['substitute("a", "b", "1", 4)'], ['E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4']) |
3801 substitute('', '', '', '')->assert_equal('') | 3807 substitute('', '', '', '')->assert_equal('') |
3802 enddef | 3808 enddef |
3803 | 3809 |
3804 def Test_swapinfo() | 3810 def Test_swapinfo() |
3805 CheckDefAndScriptFailure(['swapinfo({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) | 3811 v9.CheckDefAndScriptFailure(['swapinfo({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1']) |
3806 call swapinfo('x')->assert_equal({error: 'Cannot open file'}) | 3812 call swapinfo('x')->assert_equal({error: 'Cannot open file'}) |
3807 call swapinfo('')->assert_equal({error: 'Cannot open file'}) | 3813 call swapinfo('')->assert_equal({error: 'Cannot open file'}) |
3808 enddef | 3814 enddef |
3809 | 3815 |
3810 def Test_swapname() | 3816 def Test_swapname() |
3811 CheckDefAndScriptFailure(['swapname([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 3817 v9.CheckDefAndScriptFailure(['swapname([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
3812 assert_fails('swapname("NonExistingBuf")', 'E94:') | 3818 assert_fails('swapname("NonExistingBuf")', 'E94:') |
3813 enddef | 3819 enddef |
3814 | 3820 |
3815 def Test_synID() | 3821 def Test_synID() |
3816 new | 3822 new |
3817 setline(1, "text") | 3823 setline(1, "text") |
3818 synID(1, 1, true)->assert_equal(0) | 3824 synID(1, 1, true)->assert_equal(0) |
3819 bwipe! | 3825 bwipe! |
3820 CheckDefAndScriptFailure(['synID(0z10, 1, true)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 3826 v9.CheckDefAndScriptFailure(['synID(0z10, 1, true)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
3821 CheckDefAndScriptFailure(['synID("a", true, false)'], ['E1013: Argument 2: type mismatch, expected number but got bool', 'E1210: Number required for argument 2']) | 3827 v9.CheckDefAndScriptFailure(['synID("a", true, false)'], ['E1013: Argument 2: type mismatch, expected number but got bool', 'E1210: Number required for argument 2']) |
3822 CheckDefAndScriptFailure(['synID(1, 1, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) | 3828 v9.CheckDefAndScriptFailure(['synID(1, 1, 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3']) |
3823 CheckDefExecAndScriptFailure(['synID("", 10, true)'], 'E1209: Invalid value for a line number') | 3829 v9.CheckDefExecAndScriptFailure(['synID("", 10, true)'], 'E1209: Invalid value for a line number') |
3824 enddef | 3830 enddef |
3825 | 3831 |
3826 def Test_synIDattr() | 3832 def Test_synIDattr() |
3827 CheckDefAndScriptFailure(['synIDattr("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3833 v9.CheckDefAndScriptFailure(['synIDattr("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3828 CheckDefAndScriptFailure(['synIDattr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3834 v9.CheckDefAndScriptFailure(['synIDattr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3829 CheckDefAndScriptFailure(['synIDattr(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 3835 v9.CheckDefAndScriptFailure(['synIDattr(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
3830 synIDattr(1, '', '')->assert_equal('') | 3836 synIDattr(1, '', '')->assert_equal('') |
3831 enddef | 3837 enddef |
3832 | 3838 |
3833 def Test_synIDtrans() | 3839 def Test_synIDtrans() |
3834 CheckDefAndScriptFailure(['synIDtrans("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3840 v9.CheckDefAndScriptFailure(['synIDtrans("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3835 enddef | 3841 enddef |
3836 | 3842 |
3837 def Test_synconcealed() | 3843 def Test_synconcealed() |
3838 CheckDefAndScriptFailure(['synconcealed(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 3844 v9.CheckDefAndScriptFailure(['synconcealed(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
3839 CheckDefAndScriptFailure(['synconcealed(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3845 v9.CheckDefAndScriptFailure(['synconcealed(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3840 if has('conceal') | 3846 if has('conceal') |
3841 CheckDefExecAndScriptFailure(['synconcealed("", 4)'], 'E1209: Invalid value for a line number') | 3847 v9.CheckDefExecAndScriptFailure(['synconcealed("", 4)'], 'E1209: Invalid value for a line number') |
3842 endif | 3848 endif |
3843 enddef | 3849 enddef |
3844 | 3850 |
3845 def Test_synstack() | 3851 def Test_synstack() |
3846 CheckDefAndScriptFailure(['synstack(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 3852 v9.CheckDefAndScriptFailure(['synstack(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
3847 CheckDefAndScriptFailure(['synstack(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 3853 v9.CheckDefAndScriptFailure(['synstack(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
3848 CheckDefExecAndScriptFailure(['synstack("", 4)'], 'E1209: Invalid value for a line number') | 3854 v9.CheckDefExecAndScriptFailure(['synstack("", 4)'], 'E1209: Invalid value for a line number') |
3849 enddef | 3855 enddef |
3850 | 3856 |
3851 def Test_system() | 3857 def Test_system() |
3852 CheckDefAndScriptFailure(['system(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3858 v9.CheckDefAndScriptFailure(['system(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3853 CheckDefAndScriptFailure(['system("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2']) | 3859 v9.CheckDefAndScriptFailure(['system("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2']) |
3854 assert_equal("123\n", system('echo 123')) | 3860 assert_equal("123\n", system('echo 123')) |
3855 enddef | 3861 enddef |
3856 | 3862 |
3857 def Test_systemlist() | 3863 def Test_systemlist() |
3858 CheckDefAndScriptFailure(['systemlist(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3864 v9.CheckDefAndScriptFailure(['systemlist(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3859 CheckDefAndScriptFailure(['systemlist("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2']) | 3865 v9.CheckDefAndScriptFailure(['systemlist("a", {})'], ['E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2']) |
3860 if has('win32') | 3866 if has('win32') |
3861 call assert_equal(["123\r"], systemlist('echo 123')) | 3867 call assert_equal(["123\r"], systemlist('echo 123')) |
3862 else | 3868 else |
3863 call assert_equal(['123'], systemlist('echo 123')) | 3869 call assert_equal(['123'], systemlist('echo 123')) |
3864 endif | 3870 endif |
3865 enddef | 3871 enddef |
3866 | 3872 |
3867 def Test_tabpagebuflist() | 3873 def Test_tabpagebuflist() |
3868 CheckDefAndScriptFailure(['tabpagebuflist("t")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3874 v9.CheckDefAndScriptFailure(['tabpagebuflist("t")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3869 assert_equal([bufnr('')], tabpagebuflist()) | 3875 assert_equal([bufnr('')], tabpagebuflist()) |
3870 assert_equal([bufnr('')], tabpagebuflist(1)) | 3876 assert_equal([bufnr('')], tabpagebuflist(1)) |
3871 enddef | 3877 enddef |
3872 | 3878 |
3873 def Test_tabpagenr() | 3879 def Test_tabpagenr() |
3874 CheckDefAndScriptFailure(['tabpagenr(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3880 v9.CheckDefAndScriptFailure(['tabpagenr(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3875 CheckDefExecAndScriptFailure(['tabpagenr("")'], 'E15: Invalid expression') | 3881 v9.CheckDefExecAndScriptFailure(['tabpagenr("")'], 'E15: Invalid expression') |
3876 assert_equal(1, tabpagenr('$')) | 3882 assert_equal(1, tabpagenr('$')) |
3877 assert_equal(1, tabpagenr()) | 3883 assert_equal(1, tabpagenr()) |
3878 enddef | 3884 enddef |
3879 | 3885 |
3880 def Test_tabpagewinnr() | 3886 def Test_tabpagewinnr() |
3881 CheckDefAndScriptFailure(['tabpagewinnr("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3887 v9.CheckDefAndScriptFailure(['tabpagewinnr("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3882 CheckDefAndScriptFailure(['tabpagewinnr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3888 v9.CheckDefAndScriptFailure(['tabpagewinnr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3883 CheckDefExecAndScriptFailure(['tabpagewinnr(1, "")'], 'E15: Invalid expression') | 3889 v9.CheckDefExecAndScriptFailure(['tabpagewinnr(1, "")'], 'E15: Invalid expression') |
3884 enddef | 3890 enddef |
3885 | 3891 |
3886 def Test_taglist() | 3892 def Test_taglist() |
3887 CheckDefAndScriptFailure(['taglist([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) | 3893 v9.CheckDefAndScriptFailure(['taglist([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1']) |
3888 CheckDefAndScriptFailure(['taglist("a", [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) | 3894 v9.CheckDefAndScriptFailure(['taglist("a", [2])'], ['E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2']) |
3889 taglist('')->assert_equal(0) | 3895 taglist('')->assert_equal(0) |
3890 taglist('', '')->assert_equal(0) | 3896 taglist('', '')->assert_equal(0) |
3891 enddef | 3897 enddef |
3892 | 3898 |
3893 def Test_term_dumpload() | 3899 def Test_term_dumpload() |
3894 CheckRunVimInTerminal | 3900 CheckRunVimInTerminal |
3895 CheckDefAndScriptFailure(['term_dumpload({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 3901 v9.CheckDefAndScriptFailure(['term_dumpload({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
3896 CheckDefAndScriptFailure(['term_dumpload({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) | 3902 v9.CheckDefAndScriptFailure(['term_dumpload({"a": 10}, "b")'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1']) |
3897 CheckDefAndScriptFailure(['term_dumpload("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) | 3903 v9.CheckDefAndScriptFailure(['term_dumpload("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2']) |
3898 CheckDefExecAndScriptFailure(['term_dumpload("")'], 'E485: Can''t read file') | 3904 v9.CheckDefExecAndScriptFailure(['term_dumpload("")'], 'E485: Can''t read file') |
3899 enddef | 3905 enddef |
3900 | 3906 |
3901 def Test_term_dumpdiff() | 3907 def Test_term_dumpdiff() |
3902 CheckRunVimInTerminal | 3908 CheckRunVimInTerminal |
3903 CheckDefAndScriptFailure(['term_dumpdiff(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 3909 v9.CheckDefAndScriptFailure(['term_dumpdiff(1, "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
3904 CheckDefAndScriptFailure(['term_dumpdiff("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3910 v9.CheckDefAndScriptFailure(['term_dumpdiff("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3905 CheckDefAndScriptFailure(['term_dumpdiff("a", "b", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 3911 v9.CheckDefAndScriptFailure(['term_dumpdiff("a", "b", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
3906 CheckDefExecAndScriptFailure(['term_dumpdiff("", "")'], 'E485: Can''t read file') | 3912 v9.CheckDefExecAndScriptFailure(['term_dumpdiff("", "")'], 'E485: Can''t read file') |
3907 enddef | 3913 enddef |
3908 | 3914 |
3909 def Test_term_dumpwrite() | 3915 def Test_term_dumpwrite() |
3910 CheckRunVimInTerminal | 3916 CheckRunVimInTerminal |
3911 CheckDefAndScriptFailure(['term_dumpwrite(true, "b")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 3917 v9.CheckDefAndScriptFailure(['term_dumpwrite(true, "b")'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
3912 CheckDefAndScriptFailure(['term_dumpwrite(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3918 v9.CheckDefAndScriptFailure(['term_dumpwrite(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3913 CheckDefAndScriptFailure(['term_dumpwrite("a", "b", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 3919 v9.CheckDefAndScriptFailure(['term_dumpwrite("a", "b", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
3914 enddef | 3920 enddef |
3915 | 3921 |
3916 def Test_term_getaltscreen() | 3922 def Test_term_getaltscreen() |
3917 CheckRunVimInTerminal | 3923 CheckRunVimInTerminal |
3918 CheckDefAndScriptFailure(['term_getaltscreen(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) | 3924 v9.CheckDefAndScriptFailure(['term_getaltscreen(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1']) |
3919 enddef | 3925 enddef |
3920 | 3926 |
3921 def Test_term_getansicolors() | 3927 def Test_term_getansicolors() |
3922 CheckRunVimInTerminal | 3928 CheckRunVimInTerminal |
3923 CheckFeature termguicolors | 3929 CheckFeature termguicolors |
3924 CheckDefAndScriptFailure(['term_getansicolors(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1']) | 3930 v9.CheckDefAndScriptFailure(['term_getansicolors(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1']) |
3925 enddef | 3931 enddef |
3926 | 3932 |
3927 def Test_term_getattr() | 3933 def Test_term_getattr() |
3928 CheckRunVimInTerminal | 3934 CheckRunVimInTerminal |
3929 CheckDefAndScriptFailure(['term_getattr("x", "a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 3935 v9.CheckDefAndScriptFailure(['term_getattr("x", "a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
3930 CheckDefAndScriptFailure(['term_getattr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 3936 v9.CheckDefAndScriptFailure(['term_getattr(1, 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
3931 enddef | 3937 enddef |
3932 | 3938 |
3933 def Test_term_getcursor() | 3939 def Test_term_getcursor() |
3934 CheckRunVimInTerminal | 3940 CheckRunVimInTerminal |
3935 CheckDefAndScriptFailure(['term_getcursor({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1220: String or Number required for argument 1']) | 3941 v9.CheckDefAndScriptFailure(['term_getcursor({"a": 10})'], ['E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1220: String or Number required for argument 1']) |
3936 enddef | 3942 enddef |
3937 | 3943 |
3938 def Test_term_getjob() | 3944 def Test_term_getjob() |
3939 CheckRunVimInTerminal | 3945 CheckRunVimInTerminal |
3940 CheckDefAndScriptFailure(['term_getjob(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 3946 v9.CheckDefAndScriptFailure(['term_getjob(0z10)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
3941 enddef | 3947 enddef |
3942 | 3948 |
3943 def Test_term_getline() | 3949 def Test_term_getline() |
3944 CheckRunVimInTerminal | 3950 CheckRunVimInTerminal |
3945 CheckDefAndScriptFailure(['term_getline(1.1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3951 v9.CheckDefAndScriptFailure(['term_getline(1.1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3946 CheckDefAndScriptFailure(['term_getline(1, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) | 3952 v9.CheckDefAndScriptFailure(['term_getline(1, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) |
3947 enddef | 3953 enddef |
3948 | 3954 |
3949 def Test_term_getscrolled() | 3955 def Test_term_getscrolled() |
3950 CheckRunVimInTerminal | 3956 CheckRunVimInTerminal |
3951 CheckDefAndScriptFailure(['term_getscrolled(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3957 v9.CheckDefAndScriptFailure(['term_getscrolled(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3952 enddef | 3958 enddef |
3953 | 3959 |
3954 def Test_term_getsize() | 3960 def Test_term_getsize() |
3955 CheckRunVimInTerminal | 3961 CheckRunVimInTerminal |
3956 CheckDefAndScriptFailure(['term_getsize(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3962 v9.CheckDefAndScriptFailure(['term_getsize(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3957 enddef | 3963 enddef |
3958 | 3964 |
3959 def Test_term_getstatus() | 3965 def Test_term_getstatus() |
3960 CheckRunVimInTerminal | 3966 CheckRunVimInTerminal |
3961 CheckDefAndScriptFailure(['term_getstatus(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3967 v9.CheckDefAndScriptFailure(['term_getstatus(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3962 enddef | 3968 enddef |
3963 | 3969 |
3964 def Test_term_gettitle() | 3970 def Test_term_gettitle() |
3965 CheckRunVimInTerminal | 3971 CheckRunVimInTerminal |
3966 CheckDefAndScriptFailure(['term_gettitle(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3972 v9.CheckDefAndScriptFailure(['term_gettitle(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3967 enddef | 3973 enddef |
3968 | 3974 |
3969 def Test_term_gettty() | 3975 def Test_term_gettty() |
3970 if !has('terminal') | 3976 if !has('terminal') |
3971 CheckFeature terminal | 3977 CheckFeature terminal |
3972 else | 3978 else |
3973 var buf = Run_shell_in_terminal({}) | 3979 var buf = g:Run_shell_in_terminal({}) |
3974 term_gettty(buf, true)->assert_notequal('') | 3980 term_gettty(buf, true)->assert_notequal('') |
3975 StopShellInTerminal(buf) | 3981 g:StopShellInTerminal(buf) |
3976 endif | 3982 endif |
3977 CheckDefAndScriptFailure(['term_gettty([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) | 3983 v9.CheckDefAndScriptFailure(['term_gettty([1])'], ['E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1']) |
3978 CheckDefAndScriptFailure(['term_gettty(1, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) | 3984 v9.CheckDefAndScriptFailure(['term_gettty(1, 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) |
3979 enddef | 3985 enddef |
3980 | 3986 |
3981 def Test_term_scrape() | 3987 def Test_term_scrape() |
3982 CheckRunVimInTerminal | 3988 CheckRunVimInTerminal |
3983 CheckDefAndScriptFailure(['term_scrape(1.1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 3989 v9.CheckDefAndScriptFailure(['term_scrape(1.1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
3984 CheckDefAndScriptFailure(['term_scrape(1, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) | 3990 v9.CheckDefAndScriptFailure(['term_scrape(1, 1.1)'], ['E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2']) |
3985 enddef | 3991 enddef |
3986 | 3992 |
3987 def Test_term_sendkeys() | 3993 def Test_term_sendkeys() |
3988 CheckRunVimInTerminal | 3994 CheckRunVimInTerminal |
3989 CheckDefAndScriptFailure(['term_sendkeys([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 3995 v9.CheckDefAndScriptFailure(['term_sendkeys([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
3990 CheckDefAndScriptFailure(['term_sendkeys(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 3996 v9.CheckDefAndScriptFailure(['term_sendkeys(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
3991 enddef | 3997 enddef |
3992 | 3998 |
3993 def Test_term_setansicolors() | 3999 def Test_term_setansicolors() |
3994 CheckRunVimInTerminal | 4000 CheckRunVimInTerminal |
3995 | 4001 |
3996 if has('termguicolors') || has('gui') | 4002 if has('termguicolors') || has('gui') |
3997 CheckDefAndScriptFailure(['term_setansicolors([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 4003 v9.CheckDefAndScriptFailure(['term_setansicolors([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
3998 CheckDefAndScriptFailure(['term_setansicolors(10, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) | 4004 v9.CheckDefAndScriptFailure(['term_setansicolors(10, {})'], ['E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2']) |
3999 else | 4005 else |
4000 throw 'Skipped: Only works with termguicolors or gui feature' | 4006 throw 'Skipped: Only works with termguicolors or gui feature' |
4001 endif | 4007 endif |
4002 enddef | 4008 enddef |
4003 | 4009 |
4004 def Test_term_setapi() | 4010 def Test_term_setapi() |
4005 CheckRunVimInTerminal | 4011 CheckRunVimInTerminal |
4006 CheckDefAndScriptFailure(['term_setapi([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 4012 v9.CheckDefAndScriptFailure(['term_setapi([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
4007 CheckDefAndScriptFailure(['term_setapi(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 4013 v9.CheckDefAndScriptFailure(['term_setapi(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
4008 enddef | 4014 enddef |
4009 | 4015 |
4010 def Test_term_setkill() | 4016 def Test_term_setkill() |
4011 CheckRunVimInTerminal | 4017 CheckRunVimInTerminal |
4012 CheckDefAndScriptFailure(['term_setkill([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 4018 v9.CheckDefAndScriptFailure(['term_setkill([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
4013 CheckDefAndScriptFailure(['term_setkill(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 4019 v9.CheckDefAndScriptFailure(['term_setkill(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
4014 enddef | 4020 enddef |
4015 | 4021 |
4016 def Test_term_setrestore() | 4022 def Test_term_setrestore() |
4017 CheckRunVimInTerminal | 4023 CheckRunVimInTerminal |
4018 CheckDefAndScriptFailure(['term_setrestore([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) | 4024 v9.CheckDefAndScriptFailure(['term_setrestore([], "p")'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) |
4019 CheckDefAndScriptFailure(['term_setrestore(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) | 4025 v9.CheckDefAndScriptFailure(['term_setrestore(1, [])'], ['E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2']) |
4020 enddef | 4026 enddef |
4021 | 4027 |
4022 def Test_term_setsize() | 4028 def Test_term_setsize() |
4023 CheckRunVimInTerminal | 4029 CheckRunVimInTerminal |
4024 CheckDefAndScriptFailure(['term_setsize(1.1, 2, 3)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) | 4030 v9.CheckDefAndScriptFailure(['term_setsize(1.1, 2, 3)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1']) |
4025 CheckDefAndScriptFailure(['term_setsize(1, "2", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4031 v9.CheckDefAndScriptFailure(['term_setsize(1, "2", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4026 CheckDefAndScriptFailure(['term_setsize(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4032 v9.CheckDefAndScriptFailure(['term_setsize(1, 2, "3")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4027 enddef | 4033 enddef |
4028 | 4034 |
4029 def Test_term_start() | 4035 def Test_term_start() |
4030 if !has('terminal') | 4036 if !has('terminal') |
4031 CheckFeature terminal | 4037 CheckFeature terminal |
4034 var winnr = winnr() | 4040 var winnr = winnr() |
4035 term_start(&shell, {curwin: true}) | 4041 term_start(&shell, {curwin: true}) |
4036 winnr()->assert_equal(winnr) | 4042 winnr()->assert_equal(winnr) |
4037 bwipe! | 4043 bwipe! |
4038 endif | 4044 endif |
4039 CheckDefAndScriptFailure(['term_start({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1']) | 4045 v9.CheckDefAndScriptFailure(['term_start({})'], ['E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1']) |
4040 CheckDefAndScriptFailure(['term_start([], [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) | 4046 v9.CheckDefAndScriptFailure(['term_start([], [])'], ['E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2']) |
4041 CheckDefAndScriptFailure(['term_start("", "")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) | 4047 v9.CheckDefAndScriptFailure(['term_start("", "")'], ['E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2']) |
4042 CheckDefExecAndScriptFailure(['term_start("")'], 'E474: Invalid argument') | 4048 v9.CheckDefExecAndScriptFailure(['term_start("")'], 'E474: Invalid argument') |
4043 enddef | 4049 enddef |
4044 | 4050 |
4045 def Test_term_wait() | 4051 def Test_term_wait() |
4046 CheckRunVimInTerminal | 4052 CheckRunVimInTerminal |
4047 CheckDefAndScriptFailure(['term_wait(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) | 4053 v9.CheckDefAndScriptFailure(['term_wait(0z10, 1)'], ['E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1']) |
4048 CheckDefAndScriptFailure(['term_wait(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4054 v9.CheckDefAndScriptFailure(['term_wait(1, "a")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4049 enddef | 4055 enddef |
4050 | 4056 |
4051 def Test_test_alloc_fail() | 4057 def Test_test_alloc_fail() |
4052 CheckDefAndScriptFailure(['test_alloc_fail("a", 10, 20)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4058 v9.CheckDefAndScriptFailure(['test_alloc_fail("a", 10, 20)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4053 CheckDefAndScriptFailure(['test_alloc_fail(10, "b", 20)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4059 v9.CheckDefAndScriptFailure(['test_alloc_fail(10, "b", 20)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4054 CheckDefAndScriptFailure(['test_alloc_fail(10, 20, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4060 v9.CheckDefAndScriptFailure(['test_alloc_fail(10, 20, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4055 enddef | 4061 enddef |
4056 | 4062 |
4057 def Test_test_feedinput() | 4063 def Test_test_feedinput() |
4058 CheckDefAndScriptFailure(['test_feedinput(test_void())'], ['E1013: Argument 1: type mismatch, expected string but got void', 'E1174: String required for argument 1']) | 4064 v9.CheckDefAndScriptFailure(['test_feedinput(test_void())'], ['E1013: Argument 1: type mismatch, expected string but got void', 'E1174: String required for argument 1']) |
4059 CheckDefAndScriptFailure(['test_feedinput(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 4065 v9.CheckDefAndScriptFailure(['test_feedinput(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
4060 enddef | 4066 enddef |
4061 | 4067 |
4062 def Test_test_getvalue() | 4068 def Test_test_getvalue() |
4063 CheckDefAndScriptFailure(['test_getvalue(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1']) | 4069 v9.CheckDefAndScriptFailure(['test_getvalue(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1']) |
4064 enddef | 4070 enddef |
4065 | 4071 |
4066 def Test_test_gui_drop_files() | 4072 def Test_test_gui_drop_files() |
4067 CheckGui | 4073 CheckGui |
4068 CheckDefAndScriptFailure(['test_gui_drop_files("a", 1, 1, 0)'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) | 4074 v9.CheckDefAndScriptFailure(['test_gui_drop_files("a", 1, 1, 0)'], ['E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1']) |
4069 CheckDefAndScriptFailure(['test_gui_drop_files(["x"], "", 1, 0)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4075 v9.CheckDefAndScriptFailure(['test_gui_drop_files(["x"], "", 1, 0)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4070 CheckDefAndScriptFailure(['test_gui_drop_files(["x"], 1, "", 0)'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4076 v9.CheckDefAndScriptFailure(['test_gui_drop_files(["x"], 1, "", 0)'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4071 CheckDefAndScriptFailure(['test_gui_drop_files(["x"], 1, 1, "")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 4077 v9.CheckDefAndScriptFailure(['test_gui_drop_files(["x"], 1, 1, "")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
4072 enddef | 4078 enddef |
4073 | 4079 |
4074 def Test_test_gui_mouse_event() | 4080 def Test_test_gui_mouse_event() |
4075 CheckGui | 4081 CheckGui |
4076 CheckDefAndScriptFailure(['test_gui_mouse_event(1.1, 1, 1, 1, 1)'], ['E1013: Argument 1: type mismatch, expected number but got float', 'E1210: Number required for argument 1']) | 4082 v9.CheckDefAndScriptFailure(['test_gui_mouse_event(1.1, 1, 1, 1, 1)'], ['E1013: Argument 1: type mismatch, expected number but got float', 'E1210: Number required for argument 1']) |
4077 CheckDefAndScriptFailure(['test_gui_mouse_event(1, "1", 1, 1, 1)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4083 v9.CheckDefAndScriptFailure(['test_gui_mouse_event(1, "1", 1, 1, 1)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4078 CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, "1", 1, 1)'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4084 v9.CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, "1", 1, 1)'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4079 CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, 1, "1", 1)'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) | 4085 v9.CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, 1, "1", 1)'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) |
4080 CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, 1, 1, "1")'], ['E1013: Argument 5: type mismatch, expected number but got string', 'E1210: Number required for argument 5']) | 4086 v9.CheckDefAndScriptFailure(['test_gui_mouse_event(1, 1, 1, 1, "1")'], ['E1013: Argument 5: type mismatch, expected number but got string', 'E1210: Number required for argument 5']) |
4081 enddef | 4087 enddef |
4082 | 4088 |
4083 def Test_test_ignore_error() | 4089 def Test_test_ignore_error() |
4084 CheckDefAndScriptFailure(['test_ignore_error([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 4090 v9.CheckDefAndScriptFailure(['test_ignore_error([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
4085 test_ignore_error('RESET') | 4091 test_ignore_error('RESET') |
4086 enddef | 4092 enddef |
4087 | 4093 |
4088 def Test_test_option_not_set() | 4094 def Test_test_option_not_set() |
4089 CheckDefAndScriptFailure(['test_option_not_set([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 4095 v9.CheckDefAndScriptFailure(['test_option_not_set([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
4090 enddef | 4096 enddef |
4091 | 4097 |
4092 def Test_test_override() | 4098 def Test_test_override() |
4093 CheckDefAndScriptFailure(['test_override(1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4099 v9.CheckDefAndScriptFailure(['test_override(1, 1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4094 CheckDefAndScriptFailure(['test_override("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4100 v9.CheckDefAndScriptFailure(['test_override("a", "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4095 enddef | 4101 enddef |
4096 | 4102 |
4097 def Test_test_scrollbar() | 4103 def Test_test_scrollbar() |
4098 CheckGui | 4104 CheckGui |
4099 CheckDefAndScriptFailure(['test_scrollbar(1, 2, 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4105 v9.CheckDefAndScriptFailure(['test_scrollbar(1, 2, 3)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4100 CheckDefAndScriptFailure(['test_scrollbar("a", "b", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4106 v9.CheckDefAndScriptFailure(['test_scrollbar("a", "b", 3)'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4101 CheckDefAndScriptFailure(['test_scrollbar("a", 2, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4107 v9.CheckDefAndScriptFailure(['test_scrollbar("a", 2, "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4102 enddef | 4108 enddef |
4103 | 4109 |
4104 def Test_test_setmouse() | 4110 def Test_test_setmouse() |
4105 CheckDefAndScriptFailure(['test_setmouse("a", 10)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4111 v9.CheckDefAndScriptFailure(['test_setmouse("a", 10)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4106 CheckDefAndScriptFailure(['test_setmouse(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4112 v9.CheckDefAndScriptFailure(['test_setmouse(10, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4107 enddef | 4113 enddef |
4108 | 4114 |
4109 def Test_test_settime() | 4115 def Test_test_settime() |
4110 CheckDefAndScriptFailure(['test_settime([1])'], ['E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1']) | 4116 v9.CheckDefAndScriptFailure(['test_settime([1])'], ['E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1']) |
4111 enddef | 4117 enddef |
4112 | 4118 |
4113 def Test_test_srand_seed() | 4119 def Test_test_srand_seed() |
4114 CheckDefAndScriptFailure(['test_srand_seed([1])'], ['E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1']) | 4120 v9.CheckDefAndScriptFailure(['test_srand_seed([1])'], ['E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1']) |
4115 CheckDefAndScriptFailure(['test_srand_seed("10")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4121 v9.CheckDefAndScriptFailure(['test_srand_seed("10")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4116 enddef | 4122 enddef |
4117 | 4123 |
4118 def Test_timer_info() | 4124 def Test_timer_info() |
4119 CheckDefAndScriptFailure(['timer_info("id")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4125 v9.CheckDefAndScriptFailure(['timer_info("id")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4120 assert_equal([], timer_info(100)) | 4126 assert_equal([], timer_info(100)) |
4121 assert_equal([], timer_info()) | 4127 assert_equal([], timer_info()) |
4122 enddef | 4128 enddef |
4123 | 4129 |
4124 def Test_timer_pause() | 4130 def Test_timer_pause() |
4125 CheckDefAndScriptFailure(['timer_pause("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4131 v9.CheckDefAndScriptFailure(['timer_pause("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4126 CheckDefAndScriptFailure(['timer_pause(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) | 4132 v9.CheckDefAndScriptFailure(['timer_pause(1, "a")'], ['E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2']) |
4127 enddef | 4133 enddef |
4128 | 4134 |
4129 def Test_timer_paused() | 4135 def Test_timer_paused() |
4130 var id = timer_start(50, () => 0) | 4136 var id = timer_start(50, () => 0) |
4131 timer_pause(id, true) | 4137 timer_pause(id, true) |
4133 info[0]['paused']->assert_equal(1) | 4139 info[0]['paused']->assert_equal(1) |
4134 timer_stop(id) | 4140 timer_stop(id) |
4135 enddef | 4141 enddef |
4136 | 4142 |
4137 def Test_timer_start() | 4143 def Test_timer_start() |
4138 CheckDefAndScriptFailure(['timer_start("a", "1")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4144 v9.CheckDefAndScriptFailure(['timer_start("a", "1")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4139 CheckDefAndScriptFailure(['timer_start(1, "1", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 4145 v9.CheckDefAndScriptFailure(['timer_start(1, "1", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
4140 CheckDefExecAndScriptFailure(['timer_start(100, 0)'], 'E921:') | 4146 v9.CheckDefExecAndScriptFailure(['timer_start(100, 0)'], 'E921:') |
4141 CheckDefExecAndScriptFailure(['timer_start(100, "")'], 'E921:') | 4147 v9.CheckDefExecAndScriptFailure(['timer_start(100, "")'], 'E921:') |
4142 enddef | 4148 enddef |
4143 | 4149 |
4144 def Test_timer_stop() | 4150 def Test_timer_stop() |
4145 CheckDefAndScriptFailure(['timer_stop("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4151 v9.CheckDefAndScriptFailure(['timer_stop("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4146 assert_equal(0, timer_stop(100)) | 4152 assert_equal(0, timer_stop(100)) |
4147 enddef | 4153 enddef |
4148 | 4154 |
4149 def Test_tolower() | 4155 def Test_tolower() |
4150 CheckDefAndScriptFailure(['tolower(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4156 v9.CheckDefAndScriptFailure(['tolower(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4151 tolower('')->assert_equal('') | 4157 tolower('')->assert_equal('') |
4152 enddef | 4158 enddef |
4153 | 4159 |
4154 def Test_toupper() | 4160 def Test_toupper() |
4155 CheckDefAndScriptFailure(['toupper(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4161 v9.CheckDefAndScriptFailure(['toupper(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4156 toupper('')->assert_equal('') | 4162 toupper('')->assert_equal('') |
4157 enddef | 4163 enddef |
4158 | 4164 |
4159 def Test_tr() | 4165 def Test_tr() |
4160 CheckDefAndScriptFailure(['tr(1, "a", "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4166 v9.CheckDefAndScriptFailure(['tr(1, "a", "b")'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4161 CheckDefAndScriptFailure(['tr("a", 1, "b")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) | 4167 v9.CheckDefAndScriptFailure(['tr("a", 1, "b")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) |
4162 CheckDefAndScriptFailure(['tr("a", "a", 1)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 4168 v9.CheckDefAndScriptFailure(['tr("a", "a", 1)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
4163 tr('', '', '')->assert_equal('') | 4169 tr('', '', '')->assert_equal('') |
4164 tr('ab', '', '')->assert_equal('ab') | 4170 tr('ab', '', '')->assert_equal('ab') |
4165 assert_fails("tr('ab', 'ab', '')", 'E475:') | 4171 assert_fails("tr('ab', 'ab', '')", 'E475:') |
4166 assert_fails("tr('ab', '', 'AB')", 'E475:') | 4172 assert_fails("tr('ab', '', 'AB')", 'E475:') |
4167 enddef | 4173 enddef |
4168 | 4174 |
4169 def Test_trim() | 4175 def Test_trim() |
4170 CheckDefAndScriptFailure(['trim(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) | 4176 v9.CheckDefAndScriptFailure(['trim(["a"])'], ['E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1']) |
4171 CheckDefAndScriptFailure(['trim("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2']) | 4177 v9.CheckDefAndScriptFailure(['trim("a", ["b"])'], ['E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2']) |
4172 CheckDefAndScriptFailure(['trim("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) | 4178 v9.CheckDefAndScriptFailure(['trim("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) |
4173 trim('')->assert_equal('') | 4179 trim('')->assert_equal('') |
4174 trim('', '')->assert_equal('') | 4180 trim('', '')->assert_equal('') |
4175 enddef | 4181 enddef |
4176 | 4182 |
4177 def Test_typename() | 4183 def Test_typename() |
4188 assert_equal('channel', test_null_channel()->typename()) | 4194 assert_equal('channel', test_null_channel()->typename()) |
4189 endif | 4195 endif |
4190 enddef | 4196 enddef |
4191 | 4197 |
4192 def Test_undofile() | 4198 def Test_undofile() |
4193 CheckDefAndScriptFailure(['undofile(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) | 4199 v9.CheckDefAndScriptFailure(['undofile(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) |
4194 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) | 4200 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) |
4195 undofile('')->assert_equal('') | 4201 undofile('')->assert_equal('') |
4196 enddef | 4202 enddef |
4197 | 4203 |
4198 def Test_uniq() | 4204 def Test_uniq() |
4199 CheckDefAndScriptFailure(['uniq("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) | 4205 v9.CheckDefAndScriptFailure(['uniq("a")'], ['E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1']) |
4200 CheckDefAndScriptFailure(['uniq([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) | 4206 v9.CheckDefAndScriptFailure(['uniq([1], "", [1])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3']) |
4201 | 4207 |
4202 CheckDefFailure(['var l: list<number> = uniq(["a", "b"])'], 'E1012: Type mismatch; expected list<number> but got list<string>') | 4208 v9.CheckDefFailure(['var l: list<number> = uniq(["a", "b"])'], 'E1012: Type mismatch; expected list<number> but got list<string>') |
4203 enddef | 4209 enddef |
4204 | 4210 |
4205 def Test_values() | 4211 def Test_values() |
4206 CheckDefAndScriptFailure(['values([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 4212 v9.CheckDefAndScriptFailure(['values([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
4207 assert_equal([], {}->values()) | 4213 assert_equal([], {}->values()) |
4208 assert_equal(['sun'], {star: 'sun'}->values()) | 4214 assert_equal(['sun'], {star: 'sun'}->values()) |
4209 enddef | 4215 enddef |
4210 | 4216 |
4211 def Test_virtcol() | 4217 def Test_virtcol() |
4212 CheckDefAndScriptFailure(['virtcol(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1']) | 4218 v9.CheckDefAndScriptFailure(['virtcol(1.1)'], ['E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1']) |
4213 CheckDefExecAndScriptFailure(['virtcol("")'], 'E1209: Invalid value for a line number') | 4219 v9.CheckDefExecAndScriptFailure(['virtcol("")'], 'E1209: Invalid value for a line number') |
4214 new | 4220 new |
4215 setline(1, ['abcdefgh']) | 4221 setline(1, ['abcdefgh']) |
4216 cursor(1, 4) | 4222 cursor(1, 4) |
4217 assert_equal(4, virtcol('.')) | 4223 assert_equal(4, virtcol('.')) |
4218 assert_equal(4, virtcol([1, 4])) | 4224 assert_equal(4, virtcol([1, 4])) |
4220 assert_equal(0, virtcol([10, '$'])) | 4226 assert_equal(0, virtcol([10, '$'])) |
4221 bw! | 4227 bw! |
4222 enddef | 4228 enddef |
4223 | 4229 |
4224 def Test_visualmode() | 4230 def Test_visualmode() |
4225 CheckDefAndScriptFailure(['visualmode("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) | 4231 v9.CheckDefAndScriptFailure(['visualmode("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) |
4226 CheckDefAndScriptFailure(['visualmode(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) | 4232 v9.CheckDefAndScriptFailure(['visualmode(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) |
4227 enddef | 4233 enddef |
4228 | 4234 |
4229 def Test_win_execute() | 4235 def Test_win_execute() |
4230 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()')) | 4236 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()')) |
4231 assert_equal("\n" .. winnr(), 'echo winnr()'->win_execute(win_getid())) | 4237 assert_equal("\n" .. winnr(), 'echo winnr()'->win_execute(win_getid())) |
4232 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()', 'silent')) | 4238 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()', 'silent')) |
4233 assert_equal('', win_execute(342343, 'echo winnr()')) | 4239 assert_equal('', win_execute(342343, 'echo winnr()')) |
4234 CheckDefAndScriptFailure(['win_execute("a", "b", "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4240 v9.CheckDefAndScriptFailure(['win_execute("a", "b", "c")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4235 CheckDefAndScriptFailure(['win_execute(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2']) | 4241 v9.CheckDefAndScriptFailure(['win_execute(1, 2, "c")'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2']) |
4236 CheckDefAndScriptFailure(['win_execute(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) | 4242 v9.CheckDefAndScriptFailure(['win_execute(1, "b", 3)'], ['E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3']) |
4237 enddef | 4243 enddef |
4238 | 4244 |
4239 def Test_win_findbuf() | 4245 def Test_win_findbuf() |
4240 CheckDefAndScriptFailure(['win_findbuf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4246 v9.CheckDefAndScriptFailure(['win_findbuf("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4241 assert_equal([], win_findbuf(1000)) | 4247 assert_equal([], win_findbuf(1000)) |
4242 assert_equal([win_getid()], win_findbuf(bufnr(''))) | 4248 assert_equal([win_getid()], win_findbuf(bufnr(''))) |
4243 enddef | 4249 enddef |
4244 | 4250 |
4245 def Test_win_getid() | 4251 def Test_win_getid() |
4246 CheckDefAndScriptFailure(['win_getid(".")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4252 v9.CheckDefAndScriptFailure(['win_getid(".")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4247 CheckDefAndScriptFailure(['win_getid(1, ".")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4253 v9.CheckDefAndScriptFailure(['win_getid(1, ".")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4248 assert_equal(win_getid(), win_getid(1, 1)) | 4254 assert_equal(win_getid(), win_getid(1, 1)) |
4249 enddef | 4255 enddef |
4250 | 4256 |
4251 def Test_win_gettype() | 4257 def Test_win_gettype() |
4252 CheckDefAndScriptFailure(['win_gettype("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4258 v9.CheckDefAndScriptFailure(['win_gettype("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4253 enddef | 4259 enddef |
4254 | 4260 |
4255 def Test_win_gotoid() | 4261 def Test_win_gotoid() |
4256 CheckDefAndScriptFailure(['win_gotoid("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4262 v9.CheckDefAndScriptFailure(['win_gotoid("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4257 enddef | 4263 enddef |
4258 | 4264 |
4259 def Test_win_id2tabwin() | 4265 def Test_win_id2tabwin() |
4260 CheckDefAndScriptFailure(['win_id2tabwin("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4266 v9.CheckDefAndScriptFailure(['win_id2tabwin("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4261 enddef | 4267 enddef |
4262 | 4268 |
4263 def Test_win_id2win() | 4269 def Test_win_id2win() |
4264 CheckDefAndScriptFailure(['win_id2win("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4270 v9.CheckDefAndScriptFailure(['win_id2win("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4265 enddef | 4271 enddef |
4266 | 4272 |
4267 def Test_win_screenpos() | 4273 def Test_win_screenpos() |
4268 CheckDefAndScriptFailure(['win_screenpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4274 v9.CheckDefAndScriptFailure(['win_screenpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4269 enddef | 4275 enddef |
4270 | 4276 |
4271 def Test_win_splitmove() | 4277 def Test_win_splitmove() |
4272 split | 4278 split |
4273 win_splitmove(1, 2, {vertical: true, rightbelow: true}) | 4279 win_splitmove(1, 2, {vertical: true, rightbelow: true}) |
4274 close | 4280 close |
4275 CheckDefAndScriptFailure(['win_splitmove("a", 2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4281 v9.CheckDefAndScriptFailure(['win_splitmove("a", 2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4276 CheckDefAndScriptFailure(['win_splitmove(1, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4282 v9.CheckDefAndScriptFailure(['win_splitmove(1, "b")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4277 CheckDefAndScriptFailure(['win_splitmove(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) | 4283 v9.CheckDefAndScriptFailure(['win_splitmove(1, 2, [])'], ['E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3']) |
4278 enddef | 4284 enddef |
4279 | 4285 |
4280 def Test_winbufnr() | 4286 def Test_winbufnr() |
4281 CheckDefAndScriptFailure(['winbufnr("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4287 v9.CheckDefAndScriptFailure(['winbufnr("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4282 enddef | 4288 enddef |
4283 | 4289 |
4284 def Test_winheight() | 4290 def Test_winheight() |
4285 CheckDefAndScriptFailure(['winheight("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4291 v9.CheckDefAndScriptFailure(['winheight("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4286 enddef | 4292 enddef |
4287 | 4293 |
4288 def Test_winlayout() | 4294 def Test_winlayout() |
4289 CheckDefAndScriptFailure(['winlayout("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4295 v9.CheckDefAndScriptFailure(['winlayout("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4290 enddef | 4296 enddef |
4291 | 4297 |
4292 def Test_winnr() | 4298 def Test_winnr() |
4293 CheckDefAndScriptFailure(['winnr([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) | 4299 v9.CheckDefAndScriptFailure(['winnr([])'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1']) |
4294 CheckDefExecAndScriptFailure(['winnr("")'], 'E15: Invalid expression') | 4300 v9.CheckDefExecAndScriptFailure(['winnr("")'], 'E15: Invalid expression') |
4295 assert_equal(1, winnr()) | 4301 assert_equal(1, winnr()) |
4296 assert_equal(1, winnr('$')) | 4302 assert_equal(1, winnr('$')) |
4297 enddef | 4303 enddef |
4298 | 4304 |
4299 def Test_winrestcmd() | 4305 def Test_winrestcmd() |
4304 assert_equal(cmd, winrestcmd()) | 4310 assert_equal(cmd, winrestcmd()) |
4305 close | 4311 close |
4306 enddef | 4312 enddef |
4307 | 4313 |
4308 def Test_winrestview() | 4314 def Test_winrestview() |
4309 CheckDefAndScriptFailure(['winrestview([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) | 4315 v9.CheckDefAndScriptFailure(['winrestview([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) |
4310 :%d _ | 4316 :%d _ |
4311 setline(1, 'Hello World') | 4317 setline(1, 'Hello World') |
4312 winrestview({lnum: 1, col: 6}) | 4318 winrestview({lnum: 1, col: 6}) |
4313 assert_equal([1, 7], [line('.'), col('.')]) | 4319 assert_equal([1, 7], [line('.'), col('.')]) |
4314 enddef | 4320 enddef |
4317 var view: dict<number> = winsaveview() | 4323 var view: dict<number> = winsaveview() |
4318 | 4324 |
4319 var lines =<< trim END | 4325 var lines =<< trim END |
4320 var view: list<number> = winsaveview() | 4326 var view: list<number> = winsaveview() |
4321 END | 4327 END |
4322 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1) | 4328 v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1) |
4323 enddef | 4329 enddef |
4324 | 4330 |
4325 def Test_winwidth() | 4331 def Test_winwidth() |
4326 CheckDefAndScriptFailure(['winwidth("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4332 v9.CheckDefAndScriptFailure(['winwidth("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4327 enddef | 4333 enddef |
4328 | 4334 |
4329 def Test_xor() | 4335 def Test_xor() |
4330 CheckDefAndScriptFailure(['xor("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) | 4336 v9.CheckDefAndScriptFailure(['xor("x", 0x2)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) |
4331 CheckDefAndScriptFailure(['xor(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) | 4337 v9.CheckDefAndScriptFailure(['xor(0x1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) |
4332 enddef | 4338 enddef |
4333 | 4339 |
4334 def Test_writefile() | 4340 def Test_writefile() |
4335 CheckDefExecAndScriptFailure(['writefile(["a"], "")'], 'E482: Can''t create file <empty>') | 4341 v9.CheckDefExecAndScriptFailure(['writefile(["a"], "")'], 'E482: Can''t create file <empty>') |
4336 enddef | 4342 enddef |
4337 | 4343 |
4338 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker | 4344 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |