Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 25338:e2be9f3c5907 v8.2.3206
patch 8.2.3206: Vim9: argument types are not checked at compile time
Commit: https://github.com/vim/vim/commit/0ad871dc4dfe1026e14931a55c225616b63f4c5b
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Fri Jul 23 20:37:56 2021 +0200
patch 8.2.3206: Vim9: argument types are not checked at compile time
Problem: Vim9: argument types are not checked at compile time.
Solution: Add several more type checks. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8611)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 23 Jul 2021 20:45:05 +0200 |
parents | cfbf40f749b0 |
children | 37001467805f |
comparison
equal
deleted
inserted
replaced
25337:0e5cb14de298 | 25338:e2be9f3c5907 |
---|---|
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 | |
77 | |
78 def Test_add() | |
79 CheckDefAndScriptFailure2(['add({}, 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') | |
80 CheckDefFailure(['add([1], "a")'], 'E1012: Type mismatch; expected number but got string') | |
76 enddef | 81 enddef |
77 | 82 |
78 def Test_add_blob() | 83 def Test_add_blob() |
79 var b1: blob = 0z12 | 84 var b1: blob = 0z12 |
80 add(b1, 0x34) | 85 add(b1, 0x34) |
396 | 401 |
397 def Test_ch_evalexpr() | 402 def Test_ch_evalexpr() |
398 if !has('channel') | 403 if !has('channel') |
399 CheckFeature channel | 404 CheckFeature channel |
400 else | 405 else |
401 CheckDefAndScriptFailure2(['ch_evalexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1218: Channel or Job required for argument 1') | 406 CheckDefAndScriptFailure2(['ch_evalexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
402 CheckDefAndScriptFailure2(['ch_evalexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 407 CheckDefAndScriptFailure2(['ch_evalexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
403 endif | 408 endif |
404 enddef | 409 enddef |
405 | 410 |
406 def Test_ch_evalraw() | 411 def Test_ch_evalraw() |
407 if !has('channel') | 412 if !has('channel') |
408 CheckFeature channel | 413 CheckFeature channel |
409 else | 414 else |
410 CheckDefAndScriptFailure2(['ch_evalraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1218: Channel or Job required for argument 1') | 415 CheckDefAndScriptFailure2(['ch_evalraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
411 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 416 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
412 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 417 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
413 endif | 418 endif |
414 enddef | 419 enddef |
415 | 420 |
416 def Test_ch_getbufnr() | 421 def Test_ch_getbufnr() |
417 if !has('channel') | 422 if !has('channel') |
418 CheckFeature channel | 423 CheckFeature channel |
419 else | 424 else |
420 CheckDefAndScriptFailure2(['ch_getbufnr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1218: Channel or Job required for argument 1') | 425 CheckDefAndScriptFailure2(['ch_getbufnr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
421 CheckDefAndScriptFailure2(['ch_getbufnr(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 426 CheckDefAndScriptFailure2(['ch_getbufnr(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
422 endif | 427 endif |
423 enddef | 428 enddef |
424 | 429 |
425 def Test_ch_getjob() | 430 def Test_ch_getjob() |
490 | 495 |
491 def Test_ch_sendexpr() | 496 def Test_ch_sendexpr() |
492 if !has('channel') | 497 if !has('channel') |
493 CheckFeature channel | 498 CheckFeature channel |
494 else | 499 else |
495 CheckDefAndScriptFailure2(['ch_sendexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1218: Channel or Job required for argument 1') | 500 CheckDefAndScriptFailure2(['ch_sendexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
496 CheckDefAndScriptFailure2(['ch_sendexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 501 CheckDefAndScriptFailure2(['ch_sendexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
497 endif | 502 endif |
498 enddef | 503 enddef |
499 | 504 |
500 def Test_ch_sendraw() | 505 def Test_ch_sendraw() |
501 if !has('channel') | 506 if !has('channel') |
502 CheckFeature channel | 507 CheckFeature channel |
503 else | 508 else |
504 CheckDefAndScriptFailure2(['ch_sendraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1218: Channel or Job required for argument 1') | 509 CheckDefAndScriptFailure2(['ch_sendraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
505 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 510 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
506 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 511 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
507 endif | 512 endif |
508 enddef | 513 enddef |
509 | 514 |
612 endif | 617 endif |
613 | 618 |
614 assert_fails('confirm(true)', 'E1174:') | 619 assert_fails('confirm(true)', 'E1174:') |
615 assert_fails('confirm("yes", true)', 'E1174:') | 620 assert_fails('confirm("yes", true)', 'E1174:') |
616 assert_fails('confirm("yes", "maybe", 2, true)', 'E1174:') | 621 assert_fails('confirm("yes", "maybe", 2, true)', 'E1174:') |
622 CheckDefAndScriptFailure2(['confirm(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
623 CheckDefAndScriptFailure2(['confirm("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
624 CheckDefAndScriptFailure2(['confirm("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
625 CheckDefAndScriptFailure2(['confirm("a", "b", 3, 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') | |
617 enddef | 626 enddef |
618 | 627 |
619 def Test_copy_return_type() | 628 def Test_copy_return_type() |
620 var l = copy([1, 2, 3]) | 629 var l = copy([1, 2, 3]) |
621 var res = 0 | 630 var res = 0 |
1025 | 1034 |
1026 def Wrong_dict_key_type(items: list<number>): list<number> | 1035 def Wrong_dict_key_type(items: list<number>): list<number> |
1027 return filter(items, (_, val) => get({[val]: 1}, 'x')) | 1036 return filter(items, (_, val) => get({[val]: 1}, 'x')) |
1028 enddef | 1037 enddef |
1029 | 1038 |
1039 def Test_filter() | |
1040 CheckDefAndScriptFailure2(['filter(1.1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got float', 'E1211: List required for argument 1') | |
1041 assert_equal([], filter([1, 2, 3], '0')) | |
1042 assert_equal([1, 2, 3], filter([1, 2, 3], '1')) | |
1043 assert_equal({b: 20}, filter({a: 10, b: 20}, 'v:val == 20')) | |
1044 enddef | |
1045 | |
1030 def Test_filter_wrong_dict_key_type() | 1046 def Test_filter_wrong_dict_key_type() |
1031 assert_fails('Wrong_dict_key_type([1, v:null, 3])', 'E1013:') | 1047 assert_fails('Wrong_dict_key_type([1, v:null, 3])', 'E1013:') |
1032 enddef | 1048 enddef |
1033 | 1049 |
1034 def Test_filter_return_type() | 1050 def Test_filter_return_type() |
1424 CheckDefFailure(['histadd(":", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number') | 1440 CheckDefFailure(['histadd(":", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number') |
1425 histadd("search", 'skyblue') | 1441 histadd("search", 'skyblue') |
1426 assert_equal('skyblue', histget('/', -1)) | 1442 assert_equal('skyblue', histget('/', -1)) |
1427 enddef | 1443 enddef |
1428 | 1444 |
1445 def Test_histdel() | |
1446 CheckDefAndScriptFailure2(['histdel(1, "x")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
1447 CheckDefAndScriptFailure2(['histdel(":", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2') | |
1448 enddef | |
1449 | |
1429 def Test_histget() | 1450 def Test_histget() |
1430 CheckDefAndScriptFailure2(['histget(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 1451 CheckDefAndScriptFailure2(['histget(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1431 CheckDefAndScriptFailure2(['histget("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 1452 CheckDefAndScriptFailure2(['histget("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
1432 enddef | 1453 enddef |
1433 | 1454 |
1460 enddef | 1481 enddef |
1461 | 1482 |
1462 def Test_index() | 1483 def Test_index() |
1463 index(['a', 'b', 'a', 'B'], 'b', 2, true)->assert_equal(3) | 1484 index(['a', 'b', 'a', 'B'], 'b', 2, true)->assert_equal(3) |
1464 CheckDefAndScriptFailure2(['index("a", "a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | 1485 CheckDefAndScriptFailure2(['index("a", "a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
1465 CheckDefAndScriptFailure2(['index([1], 1.1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 1486 CheckDefFailure(['index(["1"], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number') |
1466 CheckDefAndScriptFailure2(['index(0z1020, [1], 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') | 1487 CheckDefAndScriptFailure2(['index(0z10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
1488 CheckDefAndScriptFailure2(['index([1], 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1489 CheckDefAndScriptFailure2(['index(0z1020, 10, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') | |
1467 enddef | 1490 enddef |
1468 | 1491 |
1469 def Test_input() | 1492 def Test_input() |
1470 CheckDefFailure(['input(5)'], 'E1013: Argument 1: type mismatch, expected string but got number') | 1493 CheckDefFailure(['input(5)'], 'E1013: Argument 1: type mismatch, expected string but got number') |
1471 CheckDefAndScriptFailure2(['input(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E730: Using a List as a String') | 1494 CheckDefAndScriptFailure2(['input(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E730: Using a List as a String') |
1594 | 1617 |
1595 def Test_job_setoptions() | 1618 def Test_job_setoptions() |
1596 if !has('job') | 1619 if !has('job') |
1597 CheckFeature job | 1620 CheckFeature job |
1598 else | 1621 else |
1599 CheckDefAndScriptFailure2(['job_setoptions(test_null_channel(), {})'], 'E1013: Argument 1: type mismatch, expected job but got channel', 'E1219: Job required for argument 1') | 1622 CheckDefAndScriptFailure2(['job_setoptions(test_null_channel(), {})'], 'E1013: Argument 1: type mismatch, expected job but got channel', 'E1218: Job required for argument 1') |
1600 CheckDefAndScriptFailure2(['job_setoptions(test_null_job(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') | 1623 CheckDefAndScriptFailure2(['job_setoptions(test_null_job(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
1601 assert_equal('fail', job_status(test_null_job())) | 1624 assert_equal('fail', job_status(test_null_job())) |
1602 endif | 1625 endif |
1603 enddef | 1626 enddef |
1604 | 1627 |
1613 | 1636 |
1614 def Test_job_stop() | 1637 def Test_job_stop() |
1615 if !has('job') | 1638 if !has('job') |
1616 CheckFeature job | 1639 CheckFeature job |
1617 else | 1640 else |
1618 CheckDefAndScriptFailure2(['job_stop("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1219: Job required for argument 1') | 1641 CheckDefAndScriptFailure2(['job_stop("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1') |
1619 CheckDefAndScriptFailure2(['job_stop(test_null_job(), true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2') | 1642 CheckDefAndScriptFailure2(['job_stop(test_null_job(), true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2') |
1620 endif | 1643 endif |
1621 enddef | 1644 enddef |
1622 | 1645 |
1623 def Test_join() | 1646 def Test_join() |
1685 CheckDefAndScriptFailure2(['listener_flush([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E730: Using a List as a String') | 1708 CheckDefAndScriptFailure2(['listener_flush([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E730: Using a List as a String') |
1686 enddef | 1709 enddef |
1687 | 1710 |
1688 def Test_listener_remove() | 1711 def Test_listener_remove() |
1689 CheckDefAndScriptFailure2(['listener_remove("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1030: Using a String as a Number') | 1712 CheckDefAndScriptFailure2(['listener_remove("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1030: Using a String as a Number') |
1713 enddef | |
1714 | |
1715 def Test_map() | |
1716 CheckDefAndScriptFailure2(['map("x", "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | |
1717 CheckDefAndScriptFailure2(['map(1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1') | |
1690 enddef | 1718 enddef |
1691 | 1719 |
1692 def Test_map_failure() | 1720 def Test_map_failure() |
1693 CheckFeature job | 1721 CheckFeature job |
1694 | 1722 |
1796 CheckDefAndScriptFailure2(['mapcheck(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 1824 CheckDefAndScriptFailure2(['mapcheck(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1797 CheckDefAndScriptFailure2(['mapcheck("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 1825 CheckDefAndScriptFailure2(['mapcheck("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
1798 CheckDefAndScriptFailure2(['mapcheck("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') | 1826 CheckDefAndScriptFailure2(['mapcheck("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
1799 enddef | 1827 enddef |
1800 | 1828 |
1829 def Test_mapnew() | |
1830 CheckDefAndScriptFailure2(['mapnew("x", "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | |
1831 CheckDefAndScriptFailure2(['mapnew(1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1') | |
1832 enddef | |
1833 | |
1801 def Test_mapset() | 1834 def Test_mapset() |
1802 CheckDefAndScriptFailure2(['mapset(1, true, {})'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 1835 CheckDefAndScriptFailure2(['mapset(1, true, {})'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1803 CheckDefAndScriptFailure2(['mapset("a", 2, {})'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') | 1836 CheckDefAndScriptFailure2(['mapset("a", 2, {})'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
1804 CheckDefAndScriptFailure2(['mapset("a", false, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 1837 CheckDefAndScriptFailure2(['mapset("a", false, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
1805 enddef | 1838 enddef |
1815 assert_equal(2, match('abcd', '..', 0, 3)) | 1848 assert_equal(2, match('abcd', '..', 0, 3)) |
1816 assert_equal(1, match(['a', 'b', 'c'], 'b')) | 1849 assert_equal(1, match(['a', 'b', 'c'], 'b')) |
1817 assert_equal(-1, match(['a', 'b', 'c'], 'd')) | 1850 assert_equal(-1, match(['a', 'b', 'c'], 'd')) |
1818 assert_equal(3, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | 1851 assert_equal(3, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
1819 assert_equal(5, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | 1852 assert_equal(5, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
1853 enddef | |
1854 | |
1855 def Test_matchadd() | |
1856 CheckDefAndScriptFailure2(['matchadd(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
1857 CheckDefAndScriptFailure2(['matchadd("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
1858 CheckDefAndScriptFailure2(['matchadd("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1859 CheckDefAndScriptFailure2(['matchadd("a", "b", 1, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1860 CheckDefAndScriptFailure2(['matchadd("a", "b", 1, 1, [])'], 'E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5') | |
1861 enddef | |
1862 | |
1863 def Test_matchaddpos() | |
1864 CheckDefAndScriptFailure2(['matchaddpos(1, [1])'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
1865 CheckDefAndScriptFailure2(['matchaddpos("a", "b")'], 'E1013: Argument 2: type mismatch, expected list<number> but got string', 'E1211: List required for argument 2') | |
1866 CheckDefFailure(['matchaddpos("a", ["2"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') | |
1867 CheckDefAndScriptFailure2(['matchaddpos("a", [1], "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1868 CheckDefAndScriptFailure2(['matchaddpos("a", [1], 1, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1869 CheckDefAndScriptFailure2(['matchaddpos("a", [1], 1, 1, [])'], 'E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5') | |
1820 enddef | 1870 enddef |
1821 | 1871 |
1822 def Test_matcharg() | 1872 def Test_matcharg() |
1823 CheckDefFailure(['matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 1873 CheckDefFailure(['matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
1824 enddef | 1874 enddef |
2072 def Test_popup_setoptions() | 2122 def Test_popup_setoptions() |
2073 CheckDefAndScriptFailure2(['popup_setoptions("x", {})'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 2123 CheckDefAndScriptFailure2(['popup_setoptions("x", {})'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
2074 CheckDefAndScriptFailure2(['popup_setoptions(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') | 2124 CheckDefAndScriptFailure2(['popup_setoptions(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
2075 enddef | 2125 enddef |
2076 | 2126 |
2127 def Test_popup_settext() | |
2128 CheckDefAndScriptFailure2(['popup_settext("x", [])'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | |
2129 CheckDefAndScriptFailure2(['popup_settext(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
2130 enddef | |
2131 | |
2077 def Test_popup_show() | 2132 def Test_popup_show() |
2078 CheckDefAndScriptFailure2(['popup_show("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1030: Using a String as a Number') | 2133 CheckDefAndScriptFailure2(['popup_show("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1030: Using a String as a Number') |
2079 CheckDefAndScriptFailure2(['popup_show(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1138: Using a Bool as a Number') | 2134 CheckDefAndScriptFailure2(['popup_show(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1138: Using a Bool as a Number') |
2080 enddef | 2135 enddef |
2081 | 2136 |
2222 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) | 2277 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) |
2223 delete('Xreadfile') | 2278 delete('Xreadfile') |
2224 | 2279 |
2225 CheckDefAndScriptFailure2(['readfile("a", 0z10)'], 'E1013: Argument 2: type mismatch, expected string but got blob', 'E976: Using a Blob as a String') | 2280 CheckDefAndScriptFailure2(['readfile("a", 0z10)'], 'E1013: Argument 2: type mismatch, expected string but got blob', 'E976: Using a Blob as a String') |
2226 CheckDefAndScriptFailure2(['readfile("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1030: Using a String as a Number') | 2281 CheckDefAndScriptFailure2(['readfile("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1030: Using a String as a Number') |
2282 enddef | |
2283 | |
2284 def Test_reduce() | |
2285 CheckDefAndScriptFailure2(['reduce({a: 10}, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E897: List or Blob required') | |
2286 assert_equal(6, [1, 2, 3]->reduce((r, c) => r + c, 0)) | |
2287 assert_equal(11, 0z0506->reduce((r, c) => r + c, 0)) | |
2227 enddef | 2288 enddef |
2228 | 2289 |
2229 def Test_reltime() | 2290 def Test_reltime() |
2230 CheckFeature reltime | 2291 CheckFeature reltime |
2231 | 2292 |
2314 assert_equal([1, 2], remove(l, 0, 1)) | 2375 assert_equal([1, 2], remove(l, 0, 1)) |
2315 assert_equal([3, 4], l) | 2376 assert_equal([3, 4], l) |
2316 enddef | 2377 enddef |
2317 | 2378 |
2318 def Test_remove() | 2379 def Test_remove() |
2319 CheckDefAndScriptFailure2(['remove("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E896: Argument of remove() must be a List, Dictionary or Blob') | 2380 CheckDefAndScriptFailure2(['remove("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
2320 CheckDefAndScriptFailure2(['remove([], "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 2381 CheckDefAndScriptFailure2(['remove([], "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
2321 CheckDefAndScriptFailure2(['remove([], 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 2382 CheckDefAndScriptFailure2(['remove([], 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
2322 CheckDefAndScriptFailure2(['remove({}, 1.1)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E1174: String required for argument 2') | 2383 CheckDefAndScriptFailure2(['remove({}, 1.1)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E1174: String required for argument 2') |
2323 CheckDefAndScriptFailure2(['remove(0z10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 2384 CheckDefAndScriptFailure2(['remove(0z10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
2324 CheckDefAndScriptFailure2(['remove(0z20, 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 2385 CheckDefAndScriptFailure2(['remove(0z20, 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
2352 def Test_rename() | 2413 def Test_rename() |
2353 CheckDefFailure(['rename(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number') | 2414 CheckDefFailure(['rename(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number') |
2354 CheckDefFailure(['rename("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number') | 2415 CheckDefFailure(['rename("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number') |
2355 enddef | 2416 enddef |
2356 | 2417 |
2418 def Test_repeat() | |
2419 CheckDefAndScriptFailure2(['repeat(1.1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1') | |
2420 CheckDefAndScriptFailure2(['repeat({a: 10}, 2)'], 'E1013: Argument 1: type mismatch, expected string but got dict<', 'E1174: String required for argument 1') | |
2421 assert_equal('aaa', repeat('a', 3)) | |
2422 assert_equal('111', repeat(1, 3)) | |
2423 assert_equal([1, 1, 1], repeat([1], 3)) | |
2424 enddef | |
2425 | |
2357 def Test_resolve() | 2426 def Test_resolve() |
2358 CheckDefFailure(['resolve([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') | 2427 CheckDefFailure(['resolve([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') |
2359 assert_equal('SomeFile', resolve('SomeFile')) | 2428 assert_equal('SomeFile', resolve('SomeFile')) |
2360 enddef | 2429 enddef |
2361 | 2430 |
2362 def Test_reverse() | 2431 def Test_reverse() |
2363 CheckDefAndScriptFailure2(['reverse(10)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E899: Argument of reverse() must be a List or Blob') | 2432 CheckDefAndScriptFailure2(['reverse(10)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1') |
2364 CheckDefAndScriptFailure2(['reverse("abc")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E899: Argument of reverse() must be a List or Blob') | 2433 CheckDefAndScriptFailure2(['reverse("abc")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
2365 enddef | 2434 enddef |
2366 | 2435 |
2367 def Test_reverse_return_type() | 2436 def Test_reverse_return_type() |
2368 var l = reverse([1, 2, 3]) | 2437 var l = reverse([1, 2, 3]) |
2369 var res = 0 | 2438 var res = 0 |
2434 normal 0 | 2503 normal 0 |
2435 assert_equal(0, search('this', '', 0, 0, 'col(".") > col')) | 2504 assert_equal(0, search('this', '', 0, 0, 'col(".") > col')) |
2436 normal 0 | 2505 normal 0 |
2437 assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col')) | 2506 assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col')) |
2438 bwipe! | 2507 bwipe! |
2508 CheckDefAndScriptFailure2(['search(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
2509 CheckDefAndScriptFailure2(['search("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
2510 CheckDefAndScriptFailure2(['search("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
2511 CheckDefAndScriptFailure2(['search("a", "b", 3, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
2439 enddef | 2512 enddef |
2440 | 2513 |
2441 def Test_searchcount() | 2514 def Test_searchcount() |
2442 new | 2515 new |
2443 setline(1, "foo bar") | 2516 setline(1, "foo bar") |
2494 CheckScriptSuccess(lines) | 2567 CheckScriptSuccess(lines) |
2495 assert_equal('yes', g:caught) | 2568 assert_equal('yes', g:caught) |
2496 | 2569 |
2497 unlet g:caught | 2570 unlet g:caught |
2498 bwipe! | 2571 bwipe! |
2572 enddef | |
2573 | |
2574 def Test_searchpos() | |
2575 CheckDefAndScriptFailure2(['searchpos(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
2576 CheckDefAndScriptFailure2(['searchpos("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
2577 CheckDefAndScriptFailure2(['searchpos("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
2578 CheckDefAndScriptFailure2(['searchpos("a", "b", 3, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
2499 enddef | 2579 enddef |
2500 | 2580 |
2501 def Test_server2client() | 2581 def Test_server2client() |
2502 CheckFeature clientserver | 2582 CheckFeature clientserver |
2503 CheckEnv DISPLAY | 2583 CheckEnv DISPLAY |
2716 def Test_shiftwidth() | 2796 def Test_shiftwidth() |
2717 CheckDefFailure(['shiftwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 2797 CheckDefFailure(['shiftwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
2718 enddef | 2798 enddef |
2719 | 2799 |
2720 def Test_sign_define() | 2800 def Test_sign_define() |
2721 CheckDefAndScriptFailure2(['sign_define({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E731: Using a Dictionary as a String') | 2801 CheckDefAndScriptFailure2(['sign_define({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2722 CheckDefAndScriptFailure2(['sign_define({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E731: Using a Dictionary as a String') | 2802 CheckDefAndScriptFailure2(['sign_define({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2723 CheckDefAndScriptFailure2(['sign_define("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E715: Dictionary required') | 2803 CheckDefAndScriptFailure2(['sign_define("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
2724 enddef | 2804 enddef |
2725 | 2805 |
2726 def Test_sign_getdefined() | 2806 def Test_sign_getdefined() |
2727 CheckDefAndScriptFailure2(['sign_getdefined(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') | 2807 CheckDefAndScriptFailure2(['sign_getdefined(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
2728 CheckDefAndScriptFailure2(['sign_getdefined(2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 2808 CheckDefAndScriptFailure2(['sign_getdefined(2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
2730 | 2810 |
2731 def Test_sign_getplaced() | 2811 def Test_sign_getplaced() |
2732 CheckDefAndScriptFailure2(['sign_getplaced(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') | 2812 CheckDefAndScriptFailure2(['sign_getplaced(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
2733 CheckDefAndScriptFailure2(['sign_getplaced(1, ["a"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') | 2813 CheckDefAndScriptFailure2(['sign_getplaced(1, ["a"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
2734 CheckDefAndScriptFailure2(['sign_getplaced("a", 1.1)'], 'E1013: Argument 2: type mismatch, expected dict<any> but got float', 'E1206: Dictionary required for argument 2') | 2814 CheckDefAndScriptFailure2(['sign_getplaced("a", 1.1)'], 'E1013: Argument 2: type mismatch, expected dict<any> but got float', 'E1206: Dictionary required for argument 2') |
2815 enddef | |
2816 | |
2817 def Test_sign_jump() | |
2818 CheckDefAndScriptFailure2(['sign_jump("a", "b", "c")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | |
2819 CheckDefAndScriptFailure2(['sign_jump(1, 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
2820 CheckDefAndScriptFailure2(['sign_jump(1, "b", true)'], 'E1013: Argument 3: type mismatch, expected string but got bool', 'E1174: String required for argument 3') | |
2821 enddef | |
2822 | |
2823 def Test_sign_place() | |
2824 CheckDefAndScriptFailure2(['sign_place("a", "b", "c", "d")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | |
2825 CheckDefAndScriptFailure2(['sign_place(1, 2, "c", "d")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
2826 CheckDefAndScriptFailure2(['sign_place(1, "b", 3, "d")'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') | |
2827 CheckDefAndScriptFailure2(['sign_place(1, "b", "c", 1.1)'], 'E1013: Argument 4: type mismatch, expected string but got float', 'E1174: String required for argument 4') | |
2828 CheckDefAndScriptFailure2(['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') | |
2735 enddef | 2829 enddef |
2736 | 2830 |
2737 def Test_sign_placelist() | 2831 def Test_sign_placelist() |
2738 CheckDefAndScriptFailure2(['sign_placelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E714: List required') | 2832 CheckDefAndScriptFailure2(['sign_placelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E714: List required') |
2739 CheckDefAndScriptFailure2(['sign_placelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E714: List required') | 2833 CheckDefAndScriptFailure2(['sign_placelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E714: List required') |
2823 var l = [3, 6, 7, 1, 8, 2, 4, 5] | 2917 var l = [3, 6, 7, 1, 8, 2, 4, 5] |
2824 sort(l, Compare) | 2918 sort(l, Compare) |
2825 assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l) | 2919 assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l) |
2826 END | 2920 END |
2827 CheckDefAndScriptSuccess(lines) | 2921 CheckDefAndScriptSuccess(lines) |
2922 CheckDefAndScriptFailure2(['sort("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | |
2923 CheckDefAndScriptFailure2(['sort([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | |
2828 enddef | 2924 enddef |
2829 | 2925 |
2830 def Test_spellbadword() | 2926 def Test_spellbadword() |
2831 CheckDefFailure(['spellbadword(100)'], 'E1013: Argument 1: type mismatch, expected string but got number') | 2927 CheckDefFailure(['spellbadword(100)'], 'E1013: Argument 1: type mismatch, expected string but got number') |
2832 spellbadword('good')->assert_equal(['', '']) | 2928 spellbadword('good')->assert_equal(['', '']) |
3015 def Test_synstack() | 3111 def Test_synstack() |
3016 CheckDefAndScriptFailure2(['synstack(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | 3112 CheckDefAndScriptFailure2(['synstack(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') |
3017 CheckDefAndScriptFailure2(['synstack(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3113 CheckDefAndScriptFailure2(['synstack(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3018 enddef | 3114 enddef |
3019 | 3115 |
3116 def Test_system() | |
3117 CheckDefAndScriptFailure2(['system(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
3118 CheckDefAndScriptFailure2(['system("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') | |
3119 enddef | |
3120 | |
3121 def Test_systemlist() | |
3122 CheckDefAndScriptFailure2(['systemlist(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
3123 CheckDefAndScriptFailure2(['systemlist("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') | |
3124 enddef | |
3125 | |
3020 def Test_tabpagebuflist() | 3126 def Test_tabpagebuflist() |
3021 CheckDefFailure(['tabpagebuflist("t")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 3127 CheckDefFailure(['tabpagebuflist("t")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
3022 assert_equal([bufnr('')], tabpagebuflist()) | 3128 assert_equal([bufnr('')], tabpagebuflist()) |
3023 assert_equal([bufnr('')], tabpagebuflist(1)) | 3129 assert_equal([bufnr('')], tabpagebuflist(1)) |
3024 enddef | 3130 enddef |
3042 def Test_term_dumpload() | 3148 def Test_term_dumpload() |
3043 CheckRunVimInTerminal | 3149 CheckRunVimInTerminal |
3044 CheckDefAndScriptFailure2(['term_dumpload({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 3150 CheckDefAndScriptFailure2(['term_dumpload({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
3045 CheckDefAndScriptFailure2(['term_dumpload({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 3151 CheckDefAndScriptFailure2(['term_dumpload({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
3046 CheckDefAndScriptFailure2(['term_dumpload("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') | 3152 CheckDefAndScriptFailure2(['term_dumpload("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
3153 enddef | |
3154 | |
3155 def Test_term_dumpdiff() | |
3156 CheckRunVimInTerminal | |
3157 CheckDefAndScriptFailure2(['term_dumpdiff(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
3158 CheckDefAndScriptFailure2(['term_dumpdiff("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
3159 CheckDefAndScriptFailure2(['term_dumpdiff("a", "b", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | |
3160 enddef | |
3161 | |
3162 def Test_term_dumpwrite() | |
3163 CheckRunVimInTerminal | |
3164 CheckDefAndScriptFailure2(['term_dumpwrite(true, "b")'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') | |
3165 CheckDefAndScriptFailure2(['term_dumpwrite(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | |
3166 CheckDefAndScriptFailure2(['term_dumpwrite("a", "b", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | |
3047 enddef | 3167 enddef |
3048 | 3168 |
3049 def Test_term_getaltscreen() | 3169 def Test_term_getaltscreen() |
3050 CheckRunVimInTerminal | 3170 CheckRunVimInTerminal |
3051 CheckDefAndScriptFailure2(['term_getaltscreen(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1138: Using a Bool as a Number') | 3171 CheckDefAndScriptFailure2(['term_getaltscreen(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1138: Using a Bool as a Number') |
3278 enddef | 3398 enddef |
3279 | 3399 |
3280 def Test_undofile() | 3400 def Test_undofile() |
3281 CheckDefFailure(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number') | 3401 CheckDefFailure(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number') |
3282 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) | 3402 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) |
3403 enddef | |
3404 | |
3405 def Test_uniq() | |
3406 CheckDefAndScriptFailure2(['uniq("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | |
3407 CheckDefAndScriptFailure2(['uniq([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | |
3283 enddef | 3408 enddef |
3284 | 3409 |
3285 def Test_values() | 3410 def Test_values() |
3286 CheckDefFailure(['values([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') | 3411 CheckDefFailure(['values([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') |
3287 assert_equal([], {}->values()) | 3412 assert_equal([], {}->values()) |