Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 25272:712e867f9721 v8.2.3173
patch 8.2.3173: Vim9: argument types are not checked at compile time
Commit: https://github.com/vim/vim/commit/a9a7c0c602b231dc37c4b0f62ade0421c84fca03
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Sat Jul 17 19:11:07 2021 +0200
patch 8.2.3173: Vim9: argument types are not checked at compile time
Problem: Vim9: argument types are not checked at compile time.
Solution: Add more type checks. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8581)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 17 Jul 2021 19:15:05 +0200 |
parents | a3c07227ffde |
children | ddc38de331ff |
comparison
equal
deleted
inserted
replaced
25271:51a7e859b0de | 25272:712e867f9721 |
---|---|
471 | 471 |
472 def Test_char2nr() | 472 def Test_char2nr() |
473 char2nr('あ', true)->assert_equal(12354) | 473 char2nr('あ', true)->assert_equal(12354) |
474 | 474 |
475 assert_fails('char2nr(true)', 'E1174:') | 475 assert_fails('char2nr(true)', 'E1174:') |
476 CheckDefAndScriptFailure2(['char2nr(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
477 CheckDefAndScriptFailure2(['char2nr("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1211: Bool required for argument 2') | |
478 assert_equal(97, char2nr('a', 1)) | |
479 assert_equal(97, char2nr('a', 0)) | |
480 assert_equal(97, char2nr('a', true)) | |
481 assert_equal(97, char2nr('a', false)) | |
476 enddef | 482 enddef |
477 | 483 |
478 def Test_charclass() | 484 def Test_charclass() |
479 assert_fails('charclass(true)', 'E1174:') | 485 assert_fails('charclass(true)', 'E1174:') |
480 enddef | 486 enddef |
598 def Test_diff_filler() | 604 def Test_diff_filler() |
599 CheckDefFailure(['diff_filler([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') | 605 CheckDefFailure(['diff_filler([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') |
600 CheckDefFailure(['diff_filler(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool') | 606 CheckDefFailure(['diff_filler(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool') |
601 assert_equal(0, diff_filler(1)) | 607 assert_equal(0, diff_filler(1)) |
602 assert_equal(0, diff_filler('.')) | 608 assert_equal(0, diff_filler('.')) |
609 enddef | |
610 | |
611 def Test_diff_hlID() | |
612 CheckDefAndScriptFailure2(['diff_hlID(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
613 CheckDefAndScriptFailure2(['diff_hlID(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | |
603 enddef | 614 enddef |
604 | 615 |
605 def Test_echoraw() | 616 def Test_echoraw() |
606 CheckDefAndScriptFailure2(['echoraw(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 617 CheckDefAndScriptFailure2(['echoraw(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
607 CheckDefAndScriptFailure2(['echoraw(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') | 618 CheckDefAndScriptFailure2(['echoraw(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
1597 CheckScriptFailure(lines, 'E1013:') | 1608 CheckScriptFailure(lines, 'E1013:') |
1598 au! BufReadPost | 1609 au! BufReadPost |
1599 delete('Xtmpfile') | 1610 delete('Xtmpfile') |
1600 enddef | 1611 enddef |
1601 | 1612 |
1613 def Test_match() | |
1614 CheckDefAndScriptFailure2(['match(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
1615 CheckDefAndScriptFailure2(['match(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | |
1616 CheckDefAndScriptFailure2(['match("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1617 CheckDefAndScriptFailure2(['match("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1618 assert_equal(2, match('ab12cd', '12')) | |
1619 assert_equal(-1, match('ab12cd', '34')) | |
1620 assert_equal(6, match('ab12cd12ef', '12', 4)) | |
1621 assert_equal(2, match('abcd', '..', 0, 3)) | |
1622 assert_equal(1, match(['a', 'b', 'c'], 'b')) | |
1623 assert_equal(-1, match(['a', 'b', 'c'], 'd')) | |
1624 assert_equal(3, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | |
1625 assert_equal(5, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | |
1626 enddef | |
1627 | |
1602 def Test_matcharg() | 1628 def Test_matcharg() |
1603 CheckDefFailure(['matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 1629 CheckDefFailure(['matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
1604 enddef | 1630 enddef |
1605 | 1631 |
1606 def Test_matchdelete() | 1632 def Test_matchdelete() |
1607 CheckDefFailure(['matchdelete("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 1633 CheckDefFailure(['matchdelete("x")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
1608 CheckDefFailure(['matchdelete("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string') | 1634 CheckDefFailure(['matchdelete("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string') |
1609 CheckDefFailure(['matchdelete(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string') | 1635 CheckDefFailure(['matchdelete(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string') |
1636 enddef | |
1637 | |
1638 def Test_matchend() | |
1639 CheckDefAndScriptFailure2(['matchend(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
1640 CheckDefAndScriptFailure2(['matchend(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | |
1641 CheckDefAndScriptFailure2(['matchend("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1642 CheckDefAndScriptFailure2(['matchend("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1643 assert_equal(4, matchend('ab12cd', '12')) | |
1644 assert_equal(-1, matchend('ab12cd', '34')) | |
1645 assert_equal(8, matchend('ab12cd12ef', '12', 4)) | |
1646 assert_equal(4, matchend('abcd', '..', 0, 3)) | |
1647 assert_equal(1, matchend(['a', 'b', 'c'], 'b')) | |
1648 assert_equal(-1, matchend(['a', 'b', 'c'], 'd')) | |
1649 assert_equal(3, matchend(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | |
1650 assert_equal(5, matchend(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | |
1651 enddef | |
1652 | |
1653 def Test_matchlist() | |
1654 CheckDefAndScriptFailure2(['matchlist(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
1655 CheckDefAndScriptFailure2(['matchlist(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | |
1656 CheckDefAndScriptFailure2(['matchlist("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1657 CheckDefAndScriptFailure2(['matchlist("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1658 var l: list<string> = ['12', '', '', '', '', '', '', '', '', ''] | |
1659 assert_equal(l, matchlist('ab12cd', '12')) | |
1660 assert_equal([], matchlist('ab12cd', '34')) | |
1661 assert_equal(l, matchlist('ab12cd12ef', '12', 4)) | |
1662 l[0] = 'cd' | |
1663 assert_equal(l, matchlist('abcd', '..', 0, 3)) | |
1664 l[0] = 'b' | |
1665 assert_equal(l, matchlist(['a', 'b', 'c'], 'b')) | |
1666 assert_equal([], matchlist(['a', 'b', 'c'], 'd')) | |
1667 assert_equal(l, matchlist(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | |
1668 assert_equal(l, matchlist(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | |
1669 enddef | |
1670 | |
1671 def Test_matchstr() | |
1672 CheckDefAndScriptFailure2(['matchstr(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
1673 CheckDefAndScriptFailure2(['matchstr(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | |
1674 CheckDefAndScriptFailure2(['matchstr("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1675 CheckDefAndScriptFailure2(['matchstr("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1676 assert_equal('12', matchstr('ab12cd', '12')) | |
1677 assert_equal('', matchstr('ab12cd', '34')) | |
1678 assert_equal('12', matchstr('ab12cd12ef', '12', 4)) | |
1679 assert_equal('cd', matchstr('abcd', '..', 0, 3)) | |
1680 assert_equal('b', matchstr(['a', 'b', 'c'], 'b')) | |
1681 assert_equal('', matchstr(['a', 'b', 'c'], 'd')) | |
1682 assert_equal('b', matchstr(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | |
1683 assert_equal('b', matchstr(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | |
1684 enddef | |
1685 | |
1686 def Test_matchstrpos() | |
1687 CheckDefAndScriptFailure2(['matchstrpos(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
1688 CheckDefAndScriptFailure2(['matchstrpos(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | |
1689 CheckDefAndScriptFailure2(['matchstrpos("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | |
1690 CheckDefAndScriptFailure2(['matchstrpos("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') | |
1691 assert_equal(['12', 2, 4], matchstrpos('ab12cd', '12')) | |
1692 assert_equal(['', -1, -1], matchstrpos('ab12cd', '34')) | |
1693 assert_equal(['12', 6, 8], matchstrpos('ab12cd12ef', '12', 4)) | |
1694 assert_equal(['cd', 2, 4], matchstrpos('abcd', '..', 0, 3)) | |
1695 assert_equal(['b', 1, 0, 1], matchstrpos(['a', 'b', 'c'], 'b')) | |
1696 assert_equal(['', -1, -1, -1], matchstrpos(['a', 'b', 'c'], 'd')) | |
1697 assert_equal(['b', 3, 0, 1], | |
1698 matchstrpos(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) | |
1699 assert_equal(['b', 5, 0, 1], | |
1700 matchstrpos(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) | |
1610 enddef | 1701 enddef |
1611 | 1702 |
1612 def Test_max() | 1703 def Test_max() |
1613 g:flag = true | 1704 g:flag = true |
1614 var l1: list<number> = g:flag | 1705 var l1: list<number> = g:flag |
1788 def Test_prompt_getprompt() | 1879 def Test_prompt_getprompt() |
1789 if has('channel') | 1880 if has('channel') |
1790 CheckDefFailure(['prompt_getprompt([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') | 1881 CheckDefFailure(['prompt_getprompt([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>') |
1791 assert_equal('', prompt_getprompt('NonExistingBuf')) | 1882 assert_equal('', prompt_getprompt('NonExistingBuf')) |
1792 endif | 1883 endif |
1884 enddef | |
1885 | |
1886 def Test_prompt_setprompt() | |
1887 if !has('channel') | |
1888 CheckFeature channel | |
1889 endif | |
1890 CheckDefAndScriptFailure2(['prompt_setprompt([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') | |
1891 CheckDefAndScriptFailure2(['prompt_setprompt(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') | |
1793 enddef | 1892 enddef |
1794 | 1893 |
1795 def Test_prop_find() | 1894 def Test_prop_find() |
1796 CheckDefAndScriptFailure2(['prop_find([1, 2])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required') | 1895 CheckDefAndScriptFailure2(['prop_find([1, 2])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required') |
1797 CheckDefAndScriptFailure2(['prop_find([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required') | 1896 CheckDefAndScriptFailure2(['prop_find([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E715: Dictionary required') |
2405 CheckDefFailure(['str2float(123)'], 'E1013:') | 2504 CheckDefFailure(['str2float(123)'], 'E1013:') |
2406 CheckScriptFailure(['vim9script', 'echo str2float(123)'], 'E1024:') | 2505 CheckScriptFailure(['vim9script', 'echo str2float(123)'], 'E1024:') |
2407 endif | 2506 endif |
2408 enddef | 2507 enddef |
2409 | 2508 |
2509 def Test_str2list() | |
2510 CheckDefAndScriptFailure2(['str2list(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
2511 CheckDefAndScriptFailure2(['str2list("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1211: Bool required for argument 2') | |
2512 assert_equal([97], str2list('a')) | |
2513 assert_equal([97], str2list('a', 1)) | |
2514 assert_equal([97], str2list('a', true)) | |
2515 enddef | |
2516 | |
2410 def Test_str2nr() | 2517 def Test_str2nr() |
2411 str2nr("1'000'000", 10, true)->assert_equal(1000000) | 2518 str2nr("1'000'000", 10, true)->assert_equal(1000000) |
2412 | 2519 |
2413 CheckDefFailure(['str2nr(123)'], 'E1013:') | 2520 CheckDefFailure(['str2nr(123)'], 'E1013:') |
2414 CheckScriptFailure(['vim9script', 'echo str2nr(123)'], 'E1024:') | 2521 CheckScriptFailure(['vim9script', 'echo str2nr(123)'], 'E1024:') |
2424 strcharlen(99)->assert_equal(2) | 2531 strcharlen(99)->assert_equal(2) |
2425 enddef | 2532 enddef |
2426 | 2533 |
2427 def Test_strchars() | 2534 def Test_strchars() |
2428 strchars("A\u20dd", true)->assert_equal(1) | 2535 strchars("A\u20dd", true)->assert_equal(1) |
2536 CheckDefAndScriptFailure2(['strchars(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | |
2537 CheckDefAndScriptFailure2(['strchars("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1211: Bool required for argument 2') | |
2538 assert_equal(3, strchars('abc')) | |
2539 assert_equal(3, strchars('abc', 1)) | |
2540 assert_equal(3, strchars('abc', true)) | |
2429 enddef | 2541 enddef |
2430 | 2542 |
2431 def Test_strdisplaywidth() | 2543 def Test_strdisplaywidth() |
2432 CheckDefAndScriptFailure2(['strdisplaywidth(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 2544 CheckDefAndScriptFailure2(['strdisplaywidth(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
2433 CheckDefAndScriptFailure2(['strdisplaywidth("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 2545 CheckDefAndScriptFailure2(['strdisplaywidth("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
2519 | 2631 |
2520 def Test_synIDtrans() | 2632 def Test_synIDtrans() |
2521 CheckDefFailure(['synIDtrans("a")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 2633 CheckDefFailure(['synIDtrans("a")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
2522 enddef | 2634 enddef |
2523 | 2635 |
2636 def Test_synconcealed() | |
2637 CheckDefAndScriptFailure2(['synconcealed(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
2638 CheckDefAndScriptFailure2(['synconcealed(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | |
2639 enddef | |
2640 | |
2641 def Test_synstack() | |
2642 CheckDefAndScriptFailure2(['synstack(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
2643 CheckDefAndScriptFailure2(['synstack(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | |
2644 enddef | |
2645 | |
2524 def Test_tabpagebuflist() | 2646 def Test_tabpagebuflist() |
2525 CheckDefFailure(['tabpagebuflist("t")'], 'E1013: Argument 1: type mismatch, expected number but got string') | 2647 CheckDefFailure(['tabpagebuflist("t")'], 'E1013: Argument 1: type mismatch, expected number but got string') |
2526 assert_equal([bufnr('')], tabpagebuflist()) | 2648 assert_equal([bufnr('')], tabpagebuflist()) |
2527 assert_equal([bufnr('')], tabpagebuflist(1)) | 2649 assert_equal([bufnr('')], tabpagebuflist(1)) |
2528 enddef | 2650 enddef |
2605 term_gettty(buf, true)->assert_notequal('') | 2727 term_gettty(buf, true)->assert_notequal('') |
2606 StopShellInTerminal(buf) | 2728 StopShellInTerminal(buf) |
2607 endif | 2729 endif |
2608 enddef | 2730 enddef |
2609 | 2731 |
2732 def Test_term_sendkeys() | |
2733 CheckRunVimInTerminal | |
2734 CheckDefAndScriptFailure2(['term_sendkeys([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') | |
2735 CheckDefAndScriptFailure2(['term_sendkeys(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') | |
2736 enddef | |
2737 | |
2738 def Test_term_setapi() | |
2739 CheckRunVimInTerminal | |
2740 CheckDefAndScriptFailure2(['term_setapi([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') | |
2741 CheckDefAndScriptFailure2(['term_setapi(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') | |
2742 enddef | |
2743 | |
2744 def Test_term_setkill() | |
2745 CheckRunVimInTerminal | |
2746 CheckDefAndScriptFailure2(['term_setkill([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') | |
2747 CheckDefAndScriptFailure2(['term_setkill(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') | |
2748 enddef | |
2749 | |
2750 def Test_term_setrestore() | |
2751 CheckRunVimInTerminal | |
2752 CheckDefAndScriptFailure2(['term_setrestore([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') | |
2753 CheckDefAndScriptFailure2(['term_setrestore(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') | |
2754 enddef | |
2610 def Test_term_start() | 2755 def Test_term_start() |
2611 if !has('terminal') | 2756 if !has('terminal') |
2612 MissingFeature 'terminal' | 2757 MissingFeature 'terminal' |
2613 else | 2758 else |
2614 botright new | 2759 botright new |
2615 var winnr = winnr() | 2760 var winnr = winnr() |
2616 term_start(&shell, {curwin: true}) | 2761 term_start(&shell, {curwin: true}) |
2617 winnr()->assert_equal(winnr) | 2762 winnr()->assert_equal(winnr) |
2618 bwipe! | 2763 bwipe! |
2619 endif | 2764 endif |
2765 enddef | |
2766 | |
2767 def Test_term_wait() | |
2768 CheckRunVimInTerminal | |
2769 CheckDefAndScriptFailure2(['term_wait(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | |
2770 CheckDefAndScriptFailure2(['term_wait(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | |
2620 enddef | 2771 enddef |
2621 | 2772 |
2622 def Test_test_alloc_fail() | 2773 def Test_test_alloc_fail() |
2623 CheckDefAndScriptFailure2(['test_alloc_fail("a", 10, 20)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E474: Invalid argument') | 2774 CheckDefAndScriptFailure2(['test_alloc_fail("a", 10, 20)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E474: Invalid argument') |
2624 CheckDefAndScriptFailure2(['test_alloc_fail(10, "b", 20)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E474: Invalid argument') | 2775 CheckDefAndScriptFailure2(['test_alloc_fail(10, "b", 20)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E474: Invalid argument') |