comparison src/testdir/test_vim9_builtin.vim @ 27551:845e518cda11 v8.2.4302

patch 8.2.4302: Vim9: return type of getline() is too strict Commit: https://github.com/vim/vim/commit/82e46e5d31ba1ca8d4e322acdacdd90ab80705d9 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 5 18:12:34 2022 +0000 patch 8.2.4302: Vim9: return type of getline() is too strict Problem: Vim9: return type of getline() is too strict. Solution: Make the declared type list<any>. Also do this for other functions returning a list of a specific type.
author Bram Moolenaar <Bram@vim.org>
date Sat, 05 Feb 2022 19:15:03 +0100
parents 2397b18d6f94
children 829aec0d0387
comparison
equal deleted inserted replaced
27550:eabeeeee4902 27551:845e518cda11
311 assert_fails('balloon_split([])', 'E1174:') 311 assert_fails('balloon_split([])', 'E1174:')
312 assert_fails('balloon_split(true)', 'E1174:') 312 assert_fails('balloon_split(true)', 'E1174:')
313 enddef 313 enddef
314 314
315 def Test_blob2list() 315 def Test_blob2list()
316 assert_equal(['x', 'x'], blob2list(0z1234)->map((_, _) => 'x'))
316 v9.CheckDefAndScriptFailure(['blob2list(10)'], ['E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1']) 317 v9.CheckDefAndScriptFailure(['blob2list(10)'], ['E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1'])
317 enddef 318 enddef
318 319
319 def Test_browse() 320 def Test_browse()
320 CheckFeature browse 321 CheckFeature browse
1527 setbufline(buf, 1, lines) 1528 setbufline(buf, 1, lines)
1528 getbufline('#', 1, '$')->assert_equal(lines) 1529 getbufline('#', 1, '$')->assert_equal(lines)
1529 getbufline(-1, '$', '$')->assert_equal([]) 1530 getbufline(-1, '$', '$')->assert_equal([])
1530 getbufline(-1, 1, '$')->assert_equal([]) 1531 getbufline(-1, 1, '$')->assert_equal([])
1531 1532
1533 assert_equal([7, 7, 7], getbufline('#', 1, '$')->map((_, _) => 7))
1534
1532 assert_fails('getbufline("", "$a", "$b")', ['E1030: Using a String as a Number: "$a"', 'E1030: Using a String as a Number: "$a"']) 1535 assert_fails('getbufline("", "$a", "$b")', ['E1030: Using a String as a Number: "$a"', 'E1030: Using a String as a Number: "$a"'])
1533 assert_fails('getbufline("", "$", "$b")', ['E1030: Using a String as a Number: "$b"', 'E1030: Using a String as a Number: "$b"']) 1536 assert_fails('getbufline("", "$", "$b")', ['E1030: Using a String as a Number: "$b"', 'E1030: Using a String as a Number: "$b"'])
1534 bwipe! 1537 bwipe!
1535 1538
1536 v9.CheckDefAndScriptFailure(['getbufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1']) 1539 v9.CheckDefAndScriptFailure(['getbufline([], 2)'], ['E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1'])
1559 v9.CheckDefAndScriptFailure(['getchar(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1']) 1562 v9.CheckDefAndScriptFailure(['getchar(2)'], ['E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1'])
1560 v9.CheckDefAndScriptFailure(['getchar("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1']) 1563 v9.CheckDefAndScriptFailure(['getchar("1")'], ['E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1'])
1561 enddef 1564 enddef
1562 1565
1563 def Test_getcharpos() 1566 def Test_getcharpos()
1567 assert_equal(['x', 'x', 'x', 'x'], getcharpos('.')->map((_, _) => 'x'))
1568
1564 v9.CheckDefAndScriptFailure(['getcharpos(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1']) 1569 v9.CheckDefAndScriptFailure(['getcharpos(true)'], ['E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1'])
1565 v9.CheckDefAndScriptFailure(['getcharpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 1570 v9.CheckDefAndScriptFailure(['getcharpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
1566 v9.CheckDefExecAndScriptFailure(['getcharpos("")'], 'E1209: Invalid value for a line number') 1571 v9.CheckDefExecAndScriptFailure(['getcharpos("")'], 'E1209: Invalid value for a line number')
1567 enddef 1572 enddef
1568 1573
1582 v9.CheckDefExecAndScriptFailure(['getcompletion("a", "")'], 'E475: Invalid argument') 1587 v9.CheckDefExecAndScriptFailure(['getcompletion("a", "")'], 'E475: Invalid argument')
1583 getcompletion('', 'messages')->assert_equal(['clear']) 1588 getcompletion('', 'messages')->assert_equal(['clear'])
1584 enddef 1589 enddef
1585 1590
1586 def Test_getcurpos() 1591 def Test_getcurpos()
1592 assert_equal(['x', 'x', 'x', 'x', 'x'], getcurpos()->map((_, _) => 'x'))
1593
1587 v9.CheckDefAndScriptFailure(['getcurpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1594 v9.CheckDefAndScriptFailure(['getcurpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1588 enddef 1595 enddef
1589 1596
1590 def Test_getcursorcharpos() 1597 def Test_getcursorcharpos()
1598 assert_equal(['x', 'x', 'x', 'x', 'x'], getcursorcharpos()->map((_, _) => 'x'))
1599
1591 v9.CheckDefAndScriptFailure(['getcursorcharpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1600 v9.CheckDefAndScriptFailure(['getcursorcharpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1592 enddef 1601 enddef
1593 1602
1594 def Test_getcwd() 1603 def Test_getcwd()
1595 v9.CheckDefAndScriptFailure(['getcwd("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1604 v9.CheckDefAndScriptFailure(['getcwd("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1662 assert_equal('hello', getline('.')) 1671 assert_equal('hello', getline('.'))
1663 1672
1664 normal 2Gvjv 1673 normal 2Gvjv
1665 assert_equal('there', getline("'<")) 1674 assert_equal('there', getline("'<"))
1666 assert_equal('again', getline("'>")) 1675 assert_equal('again', getline("'>"))
1676
1677 assert_equal([3, 3, 3], getline(1, 3)->map((_, _) => 3))
1667 END 1678 END
1668 v9.CheckDefAndScriptSuccess(lines) 1679 v9.CheckDefAndScriptSuccess(lines)
1669 1680
1670 lines =<< trim END 1681 lines =<< trim END
1671 echo getline('1') 1682 echo getline('1')
1698 def Test_getmatches() 1709 def Test_getmatches()
1699 v9.CheckDefAndScriptFailure(['getmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1710 v9.CheckDefAndScriptFailure(['getmatches("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1700 enddef 1711 enddef
1701 1712
1702 def Test_getpos() 1713 def Test_getpos()
1714 assert_equal(['x', 'x', 'x', 'x'], getpos('.')->map((_, _) => 'x'))
1715
1703 v9.CheckDefAndScriptFailure(['getpos(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 1716 v9.CheckDefAndScriptFailure(['getpos(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
1704 assert_equal([0, 1, 1, 0], getpos('.')) 1717 assert_equal([0, 1, 1, 0], getpos('.'))
1705 v9.CheckDefExecFailure(['getpos("a")'], 'E1209:') 1718 v9.CheckDefExecFailure(['getpos("a")'], 'E1209:')
1706 v9.CheckDefExecAndScriptFailure(['getpos("")'], 'E1209: Invalid value for a line number') 1719 v9.CheckDefExecAndScriptFailure(['getpos("")'], 'E1209: Invalid value for a line number')
1707 enddef 1720 enddef
1721 1734
1722 def Test_getreg() 1735 def Test_getreg()
1723 var lines = ['aaa', 'bbb', 'ccc'] 1736 var lines = ['aaa', 'bbb', 'ccc']
1724 setreg('a', lines) 1737 setreg('a', lines)
1725 getreg('a', true, true)->assert_equal(lines) 1738 getreg('a', true, true)->assert_equal(lines)
1739 assert_equal([7, 7, 7], getreg('a', true, true)->map((_, _) => 7))
1740
1726 assert_fails('getreg("ab")', 'E1162:') 1741 assert_fails('getreg("ab")', 'E1162:')
1727 v9.CheckDefAndScriptFailure(['getreg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 1742 v9.CheckDefAndScriptFailure(['getreg(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
1728 v9.CheckDefAndScriptFailure(['getreg(".", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) 1743 v9.CheckDefAndScriptFailure(['getreg(".", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2'])
1729 v9.CheckDefAndScriptFailure(['getreg(".", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3']) 1744 v9.CheckDefAndScriptFailure(['getreg(".", 1, "b")'], ['E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3'])
1730 @" = 'A1B2C3' 1745 @" = 'A1B2C3'
1784 def Test_getwininfo() 1799 def Test_getwininfo()
1785 v9.CheckDefAndScriptFailure(['getwininfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1800 v9.CheckDefAndScriptFailure(['getwininfo("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1786 enddef 1801 enddef
1787 1802
1788 def Test_getwinpos() 1803 def Test_getwinpos()
1804 assert_equal(['x', 'x'], getwinpos()->map((_, _) => 'x'))
1805
1789 v9.CheckDefAndScriptFailure(['getwinpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1806 v9.CheckDefAndScriptFailure(['getwinpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
1790 enddef 1807 enddef
1791 1808
1792 def Test_getwinvar() 1809 def Test_getwinvar()
1793 v9.CheckDefAndScriptFailure(['getwinvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 1810 v9.CheckDefAndScriptFailure(['getwinvar("a", "b")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
2018 2035
2019 def Test_items() 2036 def Test_items()
2020 v9.CheckDefFailure(['[]->items()'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') 2037 v9.CheckDefFailure(['[]->items()'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>')
2021 assert_equal([['a', 10], ['b', 20]], {'a': 10, 'b': 20}->items()) 2038 assert_equal([['a', 10], ['b', 20]], {'a': 10, 'b': 20}->items())
2022 assert_equal([], {}->items()) 2039 assert_equal([], {}->items())
2040 assert_equal(['x', 'x'], {'a': 10, 'b': 20}->items()->map((_, _) => 'x'))
2023 enddef 2041 enddef
2024 2042
2025 def Test_job_getchannel() 2043 def Test_job_getchannel()
2026 if !has('job') 2044 if !has('job')
2027 CheckFeature job 2045 CheckFeature job
2087 assert_equal(1.0, json_decode('1.0')) 2105 assert_equal(1.0, json_decode('1.0'))
2088 json_decode('')->assert_equal(v:none) 2106 json_decode('')->assert_equal(v:none)
2089 enddef 2107 enddef
2090 2108
2091 def Test_keys() 2109 def Test_keys()
2110 assert_equal([7, 7], keys({a: 1, b: 2})->map((_, _) => 7))
2111
2092 v9.CheckDefAndScriptFailure(['keys([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1']) 2112 v9.CheckDefAndScriptFailure(['keys([])'], ['E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1'])
2093 assert_equal(['a'], {a: 'v'}->keys()) 2113 assert_equal(['a'], {a: 'v'}->keys())
2094 assert_equal([], {}->keys()) 2114 assert_equal([], {}->keys())
2095 enddef 2115 enddef
2096 2116
2879 def Test_readfile() 2899 def Test_readfile()
2880 var text = ['aaa', 'bbb', 'ccc'] 2900 var text = ['aaa', 'bbb', 'ccc']
2881 writefile(text, 'Xreadfile') 2901 writefile(text, 'Xreadfile')
2882 var read: list<string> = readfile('Xreadfile') 2902 var read: list<string> = readfile('Xreadfile')
2883 assert_equal(text, read) 2903 assert_equal(text, read)
2904 assert_equal([7, 7, 7], readfile('Xreadfile')->map((_, _) => 7))
2884 2905
2885 var lines =<< trim END 2906 var lines =<< trim END
2886 var read: dict<string> = readfile('Xreadfile') 2907 var read: dict<string> = readfile('Xreadfile')
2887 END 2908 END
2888 v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) 2909 v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1)
3087 v9.CheckDefAndScriptFailure(['screenchar("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 3108 v9.CheckDefAndScriptFailure(['screenchar("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
3088 v9.CheckDefAndScriptFailure(['screenchar(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) 3109 v9.CheckDefAndScriptFailure(['screenchar(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2'])
3089 enddef 3110 enddef
3090 3111
3091 def Test_screenchars() 3112 def Test_screenchars()
3113 assert_equal(['x'], screenchars(1, 1)->map((_, _) => 'x'))
3114
3092 v9.CheckDefAndScriptFailure(['screenchars("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 3115 v9.CheckDefAndScriptFailure(['screenchars("x", 1)'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
3093 v9.CheckDefAndScriptFailure(['screenchars(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2']) 3116 v9.CheckDefAndScriptFailure(['screenchars(1, "x")'], ['E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2'])
3094 enddef 3117 enddef
3095 3118
3096 def Test_screenpos() 3119 def Test_screenpos()
3187 # searchpair with empty strings 3210 # searchpair with empty strings
3188 normal 8| 3211 normal 8|
3189 assert_equal(0, searchpair('', '', '')) 3212 assert_equal(0, searchpair('', '', ''))
3190 assert_equal([0, 0], searchpairpos('', '', '')) 3213 assert_equal([0, 0], searchpairpos('', '', ''))
3191 3214
3215 assert_equal(['x', 'x'], searchpairpos('', '', '')->map((_, _) => 'x'))
3216
3192 var lines =<< trim END 3217 var lines =<< trim END
3193 vim9script 3218 vim9script
3194 setline(1, '()') 3219 setline(1, '()')
3195 normal gg 3220 normal gg
3196 func RetList() 3221 func RetList()
3245 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", 3, "g")'], errors) 3270 v9.CheckDefAndScriptFailure(['searchpair("a", "b", "c", "r", "1", 3, "g")'], errors)
3246 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", 3, "g")'], errors) 3271 v9.CheckDefAndScriptFailure(['searchpairpos("a", "b", "c", "r", "1", 3, "g")'], errors)
3247 enddef 3272 enddef
3248 3273
3249 def Test_searchpos() 3274 def Test_searchpos()
3275 assert_equal(['x', 'x'], searchpos('.')->map((_, _) => 'x'))
3276
3250 v9.CheckDefAndScriptFailure(['searchpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 3277 v9.CheckDefAndScriptFailure(['searchpos(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
3251 v9.CheckDefAndScriptFailure(['searchpos("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2']) 3278 v9.CheckDefAndScriptFailure(['searchpos("a", 2)'], ['E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2'])
3252 v9.CheckDefAndScriptFailure(['searchpos("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) 3279 v9.CheckDefAndScriptFailure(['searchpos("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3'])
3253 v9.CheckDefAndScriptFailure(['searchpos("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4']) 3280 v9.CheckDefAndScriptFailure(['searchpos("a", "b", 3, "d")'], ['E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4'])
3254 new 3281 new
3683 split('')->assert_equal([]) 3710 split('')->assert_equal([])
3684 split('', '')->assert_equal([]) 3711 split('', '')->assert_equal([])
3685 enddef 3712 enddef
3686 3713
3687 def Test_srand() 3714 def Test_srand()
3715 var expected = srand()->len()->range()->map((_, _) => 'x')
3716 assert_equal(expected, srand()->map((_, _) => 'x'))
3717
3688 v9.CheckDefAndScriptFailure(['srand("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 3718 v9.CheckDefAndScriptFailure(['srand("a")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
3689 type(srand(100))->assert_equal(v:t_list) 3719 type(srand(100))->assert_equal(v:t_list)
3690 enddef 3720 enddef
3691 3721
3692 def Test_state() 3722 def Test_state()
3705 v9.CheckDefAndScriptFailure(['str2float(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 3735 v9.CheckDefAndScriptFailure(['str2float(123)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
3706 endif 3736 endif
3707 enddef 3737 enddef
3708 3738
3709 def Test_str2list() 3739 def Test_str2list()
3740 assert_equal(['x', 'x', 'x'], str2list('abc')->map((_, _) => 'x'))
3741
3710 v9.CheckDefAndScriptFailure(['str2list(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 3742 v9.CheckDefAndScriptFailure(['str2list(10)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
3711 v9.CheckDefAndScriptFailure(['str2list("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2']) 3743 v9.CheckDefAndScriptFailure(['str2list("a", 2)'], ['E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2'])
3712 assert_equal([97], str2list('a')) 3744 assert_equal([97], str2list('a'))
3713 assert_equal([97], str2list('a', 1)) 3745 assert_equal([97], str2list('a', 1))
3714 assert_equal([97], str2list('a', true)) 3746 assert_equal([97], str2list('a', true))
3912 3944
3913 def Test_tabpagebuflist() 3945 def Test_tabpagebuflist()
3914 v9.CheckDefAndScriptFailure(['tabpagebuflist("t")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 3946 v9.CheckDefAndScriptFailure(['tabpagebuflist("t")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
3915 assert_equal([bufnr('')], tabpagebuflist()) 3947 assert_equal([bufnr('')], tabpagebuflist())
3916 assert_equal([bufnr('')], tabpagebuflist(1)) 3948 assert_equal([bufnr('')], tabpagebuflist(1))
3949 assert_equal(['x'], tabpagebuflist()->map((_, _) => 'x'))
3917 enddef 3950 enddef
3918 3951
3919 def Test_tabpagenr() 3952 def Test_tabpagenr()
3920 v9.CheckDefAndScriptFailure(['tabpagenr(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1']) 3953 v9.CheckDefAndScriptFailure(['tabpagenr(1)'], ['E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1'])
3921 v9.CheckDefExecAndScriptFailure(['tabpagenr("")'], 'E15: Invalid expression') 3954 v9.CheckDefExecAndScriptFailure(['tabpagenr("")'], 'E15: Invalid expression')
4291 def Test_win_id2win() 4324 def Test_win_id2win()
4292 v9.CheckDefAndScriptFailure(['win_id2win("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 4325 v9.CheckDefAndScriptFailure(['win_id2win("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
4293 enddef 4326 enddef
4294 4327
4295 def Test_win_screenpos() 4328 def Test_win_screenpos()
4329 assert_equal(['x', 'x'], win_screenpos(1)->map((_, _) => 'x'))
4330
4296 v9.CheckDefAndScriptFailure(['win_screenpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1']) 4331 v9.CheckDefAndScriptFailure(['win_screenpos("x")'], ['E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1'])
4297 enddef 4332 enddef
4298 4333
4299 def Test_win_splitmove() 4334 def Test_win_splitmove()
4300 split 4335 split