Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 23072:4b398a229b0b v8.2.2082
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Commit: https://github.com/vim/vim/commit/e0de171ecd2ff7acd56deda2cf81f0d13a69c803
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 2 17:36:54 2020 +0100
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Problem: Vim9: can still use the depricated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes https://github.com/vim/vim/issues/7406, closes https://github.com/vim/vim/issues/7405)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 02 Dec 2020 17:45:05 +0100 |
parents | 00b0275ffe7f |
children | 1013a97d5dc0 |
comparison
equal
deleted
inserted
replaced
23071:20dac5998fa6 | 23072:4b398a229b0b |
---|---|
30 def RetFloat(): float | 30 def RetFloat(): float |
31 return ceil(1.456) | 31 return ceil(1.456) |
32 enddef | 32 enddef |
33 | 33 |
34 def RetListAny(): list<any> | 34 def RetListAny(): list<any> |
35 return items({'k': 'v'}) | 35 return items({k: 'v'}) |
36 enddef | 36 enddef |
37 | 37 |
38 def RetListString(): list<string> | 38 def RetListString(): list<string> |
39 return split('a:b:c', ':') | 39 return split('a:b:c', ':') |
40 enddef | 40 enddef |
195 assert_equal([1, 2, 3], extend([1, 2], [3])) | 195 assert_equal([1, 2, 3], extend([1, 2], [3])) |
196 assert_equal([3, 1, 2], extend([1, 2], [3], 0)) | 196 assert_equal([3, 1, 2], extend([1, 2], [3], 0)) |
197 assert_equal([1, 3, 2], extend([1, 2], [3], 1)) | 197 assert_equal([1, 3, 2], extend([1, 2], [3], 1)) |
198 assert_equal([1, 3, 2], extend([1, 2], [3], s:number_one)) | 198 assert_equal([1, 3, 2], extend([1, 2], [3], s:number_one)) |
199 | 199 |
200 assert_equal(#{a: 1, b: 2, c: 3}, extend(#{a: 1, b: 2}, #{c: 3})) | 200 assert_equal({a: 1, b: 2, c: 3}, extend({a: 1, b: 2}, {c: 3})) |
201 assert_equal(#{a: 1, b: 4}, extend(#{a: 1, b: 2}, #{b: 4})) | 201 assert_equal({a: 1, b: 4}, extend({a: 1, b: 2}, {b: 4})) |
202 assert_equal(#{a: 1, b: 2}, extend(#{a: 1, b: 2}, #{b: 4}, 'keep')) | 202 assert_equal({a: 1, b: 2}, extend({a: 1, b: 2}, {b: 4}, 'keep')) |
203 assert_equal(#{a: 1, b: 2}, extend(#{a: 1, b: 2}, #{b: 4}, s:string_keep)) | 203 assert_equal({a: 1, b: 2}, extend({a: 1, b: 2}, {b: 4}, s:string_keep)) |
204 | 204 |
205 var res: list<dict<any>> | 205 var res: list<dict<any>> |
206 extend(res, map([1, 2], {_, v -> {}})) | 206 extend(res, map([1, 2], {_, v -> {}})) |
207 assert_equal([{}, {}], res) | 207 assert_equal([{}, {}], res) |
208 | 208 |
209 CheckDefFailure(['extend([1, 2], 3)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number') | 209 CheckDefFailure(['extend([1, 2], 3)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number') |
210 CheckDefFailure(['extend([1, 2], ["x"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') | 210 CheckDefFailure(['extend([1, 2], ["x"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
211 CheckDefFailure(['extend([1, 2], [3], "x")'], 'E1013: Argument 3: type mismatch, expected number but got string') | 211 CheckDefFailure(['extend([1, 2], [3], "x")'], 'E1013: Argument 3: type mismatch, expected number but got string') |
212 | 212 |
213 CheckDefFailure(['extend(#{a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<number> but got number') | 213 CheckDefFailure(['extend({a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<number> but got number') |
214 CheckDefFailure(['extend(#{a: 1}, #{b: "x"})'], 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>') | 214 CheckDefFailure(['extend({a: 1}, {b: "x"})'], 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>') |
215 CheckDefFailure(['extend(#{a: 1}, #{b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') | 215 CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') |
216 enddef | 216 enddef |
217 | 217 |
218 def Test_extend_return_type() | 218 def Test_extend_return_type() |
219 var l = extend([1, 2], [3]) | 219 var l = extend([1, 2], [3]) |
220 var res = 0 | 220 var res = 0 |
252 getbufinfo('%')->assert_equal(bufinfo) | 252 getbufinfo('%')->assert_equal(bufinfo) |
253 | 253 |
254 edit Xtestfile1 | 254 edit Xtestfile1 |
255 hide edit Xtestfile2 | 255 hide edit Xtestfile2 |
256 hide enew | 256 hide enew |
257 getbufinfo(#{bufloaded: true, buflisted: true, bufmodified: false}) | 257 getbufinfo({bufloaded: true, buflisted: true, bufmodified: false}) |
258 ->len()->assert_equal(3) | 258 ->len()->assert_equal(3) |
259 bwipe Xtestfile1 Xtestfile2 | 259 bwipe Xtestfile1 Xtestfile2 |
260 enddef | 260 enddef |
261 | 261 |
262 def Test_getbufline() | 262 def Test_getbufline() |
295 | 295 |
296 def Test_getloclist_return_type() | 296 def Test_getloclist_return_type() |
297 var l = getloclist(1) | 297 var l = getloclist(1) |
298 l->assert_equal([]) | 298 l->assert_equal([]) |
299 | 299 |
300 var d = getloclist(1, #{items: 0}) | 300 var d = getloclist(1, {items: 0}) |
301 d->assert_equal(#{items: []}) | 301 d->assert_equal({items: []}) |
302 enddef | 302 enddef |
303 | 303 |
304 def Test_getqflist_return_type() | 304 def Test_getqflist_return_type() |
305 var l = getqflist() | 305 var l = getqflist() |
306 l->assert_equal([]) | 306 l->assert_equal([]) |
307 | 307 |
308 var d = getqflist(#{items: 0}) | 308 var d = getqflist({items: 0}) |
309 d->assert_equal(#{items: []}) | 309 d->assert_equal({items: []}) |
310 enddef | 310 enddef |
311 | 311 |
312 def Test_getreg() | 312 def Test_getreg() |
313 var lines = ['aaa', 'bbb', 'ccc'] | 313 var lines = ['aaa', 'bbb', 'ccc'] |
314 setreg('a', lines) | 314 setreg('a', lines) |
366 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 1) | 366 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 1) |
367 CheckDefFailure(['insert([2, 3], 1, "x")'], 'E1013: Argument 3: type mismatch, expected number but got string', 1) | 367 CheckDefFailure(['insert([2, 3], 1, "x")'], 'E1013: Argument 3: type mismatch, expected number but got string', 1) |
368 enddef | 368 enddef |
369 | 369 |
370 def Test_keys_return_type() | 370 def Test_keys_return_type() |
371 const var: list<string> = #{a: 1, b: 2}->keys() | 371 const var: list<string> = {a: 1, b: 2}->keys() |
372 var->assert_equal(['a', 'b']) | 372 var->assert_equal(['a', 'b']) |
373 enddef | 373 enddef |
374 | 374 |
375 def Test_list2str_str2list_utf8() | 375 def Test_list2str_str2list_utf8() |
376 var s = "\u3042\u3044" | 376 var s = "\u3042\u3044" |
386 enddef | 386 enddef |
387 | 387 |
388 def Test_maparg() | 388 def Test_maparg() |
389 var lnum = str2nr(expand('<sflnum>')) | 389 var lnum = str2nr(expand('<sflnum>')) |
390 map foo bar | 390 map foo bar |
391 maparg('foo', '', false, true)->assert_equal(#{ | 391 maparg('foo', '', false, true)->assert_equal({ |
392 lnum: lnum + 1, | 392 lnum: lnum + 1, |
393 script: 0, | 393 script: 0, |
394 mode: ' ', | 394 mode: ' ', |
395 silent: 0, | 395 silent: 0, |
396 noremap: 0, | 396 noremap: 0, |
426 eval expand('sautest')->readdir({e -> e[0] !=# '.'}) | 426 eval expand('sautest')->readdir({e -> e[0] !=# '.'}) |
427 eval expand('sautest')->readdirex({e -> e.name[0] !=# '.'}) | 427 eval expand('sautest')->readdirex({e -> e.name[0] !=# '.'}) |
428 enddef | 428 enddef |
429 | 429 |
430 def Test_remove_return_type() | 430 def Test_remove_return_type() |
431 var l = remove(#{one: [1, 2], two: [3, 4]}, 'one') | 431 var l = remove({one: [1, 2], two: [3, 4]}, 'one') |
432 var res = 0 | 432 var res = 0 |
433 for n in l | 433 for n in l |
434 res += n | 434 res += n |
435 endfor | 435 endfor |
436 res->assert_equal(3) | 436 res->assert_equal(3) |
464 | 464 |
465 def Test_searchcount() | 465 def Test_searchcount() |
466 new | 466 new |
467 setline(1, "foo bar") | 467 setline(1, "foo bar") |
468 :/foo | 468 :/foo |
469 searchcount(#{recompute: true}) | 469 searchcount({recompute: true}) |
470 ->assert_equal(#{ | 470 ->assert_equal({ |
471 exact_match: 1, | 471 exact_match: 1, |
472 current: 1, | 472 current: 1, |
473 total: 1, | 473 total: 1, |
474 maxcount: 99, | 474 maxcount: 99, |
475 incomplete: 0}) | 475 incomplete: 0}) |
494 setbufvar('%', 'myvar', 123) | 494 setbufvar('%', 'myvar', 123) |
495 getbufvar('%', 'myvar')->assert_equal(123) | 495 getbufvar('%', 'myvar')->assert_equal(123) |
496 enddef | 496 enddef |
497 | 497 |
498 def Test_setloclist() | 498 def Test_setloclist() |
499 var items = [#{filename: '/tmp/file', lnum: 1, valid: true}] | 499 var items = [{filename: '/tmp/file', lnum: 1, valid: true}] |
500 var what = #{items: items} | 500 var what = {items: items} |
501 setqflist([], ' ', what) | 501 setqflist([], ' ', what) |
502 setloclist(0, [], ' ', what) | 502 setloclist(0, [], ' ', what) |
503 enddef | 503 enddef |
504 | 504 |
505 def Test_setreg() | 505 def Test_setreg() |
568 if !has('terminal') | 568 if !has('terminal') |
569 MissingFeature 'terminal' | 569 MissingFeature 'terminal' |
570 else | 570 else |
571 botright new | 571 botright new |
572 var winnr = winnr() | 572 var winnr = winnr() |
573 term_start(&shell, #{curwin: true}) | 573 term_start(&shell, {curwin: true}) |
574 winnr()->assert_equal(winnr) | 574 winnr()->assert_equal(winnr) |
575 bwipe! | 575 bwipe! |
576 endif | 576 endif |
577 enddef | 577 enddef |
578 | 578 |
584 timer_stop(id) | 584 timer_stop(id) |
585 enddef | 585 enddef |
586 | 586 |
587 def Test_win_splitmove() | 587 def Test_win_splitmove() |
588 split | 588 split |
589 win_splitmove(1, 2, #{vertical: true, rightbelow: true}) | 589 win_splitmove(1, 2, {vertical: true, rightbelow: true}) |
590 close | 590 close |
591 enddef | 591 enddef |
592 | 592 |
593 | 593 |
594 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker | 594 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |