comparison src/testdir/test_vim9_builtin.vim @ 24998:3b1770226f85 v8.2.3036

patch 8.2.3036: Vim9: builtin function arguments not checked at compile time Commit: https://github.com/vim/vim/commit/7237cab8f1d1a4391372cafdb57f2d97f3b32d05 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Jun 22 19:52:27 2021 +0200 patch 8.2.3036: Vim9: builtin function arguments not checked at compile time Problem: Vim9: builtin function arguments not checked at compile time. Solution: Add more argument type specs. Check arguments to test_setmouse() and test_gui_mouse_event(). (Yegappan Lakshmanan, closes #8425)
author Bram Moolenaar <Bram@vim.org>
date Tue, 22 Jun 2021 20:00:05 +0200
parents b11f38f77006
children 99494ef94fc2
comparison
equal deleted inserted replaced
24997:6cd844668030 24998:3b1770226f85
139 add(b, 123) 139 add(b, 123)
140 END 140 END
141 CheckScriptSuccess(lines) 141 CheckScriptSuccess(lines)
142 enddef 142 enddef
143 143
144 def Test_and()
145 CheckDefFailure(['echo and("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string')
146 CheckDefFailure(['echo and(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
147 enddef
148
144 def Test_append() 149 def Test_append()
145 new 150 new
146 setline(1, range(3)) 151 setline(1, range(3))
147 var res1: number = append(1, 'one') 152 var res1: number = append(1, 'one')
148 assert_equal(0, res1) 153 assert_equal(0, res1)
153 append(0, 'zero') 158 append(0, 'zero')
154 assert_equal('zero', getline(1)) 159 assert_equal('zero', getline(1))
155 bwipe! 160 bwipe!
156 enddef 161 enddef
157 162
163 def Test_argc()
164 CheckDefFailure(['echo argc("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
165 enddef
166
167 def Test_arglistid()
168 CheckDefFailure(['echo arglistid("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
169 CheckDefFailure(['echo arglistid(1, "y")'], 'E1013: Argument 2: type mismatch, expected number but got string')
170 CheckDefFailure(['echo arglistid("x", "y")'], 'E1013: Argument 1: type mismatch, expected number but got string')
171 enddef
172
173 def Test_argv()
174 CheckDefFailure(['echo argv("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
175 CheckDefFailure(['echo argv(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
176 CheckDefFailure(['echo argv("x", "y")'], 'E1013: Argument 1: type mismatch, expected number but got string')
177 enddef
178
158 def Test_balloon_show() 179 def Test_balloon_show()
159 CheckGui 180 CheckGui
160 CheckFeature balloon_eval 181 CheckFeature balloon_eval
161 182
162 assert_fails('balloon_show(true)', 'E1174:') 183 assert_fails('balloon_show(true)', 'E1174:')
254 275
255 def Test_chdir() 276 def Test_chdir()
256 assert_fails('chdir(true)', 'E1174') 277 assert_fails('chdir(true)', 'E1174')
257 enddef 278 enddef
258 279
280 def Test_clearmatches()
281 CheckDefFailure(['echo clearmatches("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
282 enddef
283
259 def Test_col() 284 def Test_col()
260 new 285 new
261 setline(1, 'asdf') 286 setline(1, 'asdf')
262 col([1, '$'])->assert_equal(5) 287 col([1, '$'])->assert_equal(5)
263 288
307 332
308 var lines =<< trim END 333 var lines =<< trim END
309 cursor('2', 1) 334 cursor('2', 1)
310 END 335 END
311 CheckDefExecAndScriptFailure(lines, 'E475:') 336 CheckDefExecAndScriptFailure(lines, 'E475:')
337 enddef
338
339 def Test_debugbreak()
340 CheckMSWindows
341 CheckDefFailure(['echo debugbreak("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
312 enddef 342 enddef
313 343
314 def Test_delete() 344 def Test_delete()
315 var res: bool = delete('doesnotexist') 345 var res: bool = delete('doesnotexist')
316 assert_equal(true, res) 346 assert_equal(true, res)
528 558
529 lines =<< trim END 559 lines =<< trim END
530 echo flatten([1, 2, 3]) 560 echo flatten([1, 2, 3])
531 END 561 END
532 CheckDefAndScriptFailure(lines, 'E1158:') 562 CheckDefAndScriptFailure(lines, 'E1158:')
563 enddef
564
565 " Test for float functions argument type
566 def Test_float_funcs_args()
567 CheckFeature float
568
569 # acos()
570 CheckDefFailure(['echo acos("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
571 # asin()
572 CheckDefFailure(['echo asin("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
573 # atan()
574 CheckDefFailure(['echo atan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
575 # atan2()
576 CheckDefFailure(['echo atan2("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
577 CheckDefFailure(['echo atan2(1.2, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string')
578 CheckDefFailure(['echo atan2(1.2)'], 'E119:')
579 # ceil()
580 CheckDefFailure(['echo ceil("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
581 # cos()
582 CheckDefFailure(['echo cos("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
583 # cosh()
584 CheckDefFailure(['echo cosh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
585 # exp()
586 CheckDefFailure(['echo exp("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
587 # float2nr()
588 CheckDefFailure(['echo float2nr("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
589 # floor()
590 CheckDefFailure(['echo floor("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
591 # fmod()
592 CheckDefFailure(['echo fmod(1.1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string')
593 CheckDefFailure(['echo fmod("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
594 CheckDefFailure(['echo fmod(1.1)'], 'E119:')
595 # isinf()
596 CheckDefFailure(['echo isinf("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
597 # isnan()
598 CheckDefFailure(['echo isnan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
599 # log()
600 CheckDefFailure(['echo log("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
601 # log10()
602 CheckDefFailure(['echo log10("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
603 # pow()
604 CheckDefFailure(['echo pow("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
605 CheckDefFailure(['echo pow(1.1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string')
606 CheckDefFailure(['echo pow(1.1)'], 'E119:')
607 # round()
608 CheckDefFailure(['echo round("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
609 # sin()
610 CheckDefFailure(['echo sin("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
611 # sinh()
612 CheckDefFailure(['echo sinh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
613 # sqrt()
614 CheckDefFailure(['echo sqrt("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
615 # tan()
616 CheckDefFailure(['echo tan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
617 # tanh()
618 CheckDefFailure(['echo tanh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
619 # trunc()
620 CheckDefFailure(['echo trunc("a")'], 'E1013: Argument 1: type mismatch, expected number but got string')
533 enddef 621 enddef
534 622
535 def Test_fnamemodify() 623 def Test_fnamemodify()
536 CheckDefSuccess(['echo fnamemodify(test_null_string(), ":p")']) 624 CheckDefSuccess(['echo fnamemodify(test_null_string(), ":p")'])
537 CheckDefSuccess(['echo fnamemodify("", ":p")']) 625 CheckDefSuccess(['echo fnamemodify("", ":p")'])
650 var l = getcompletion('run', 'file', true) 738 var l = getcompletion('run', 'file', true)
651 l->assert_equal([]) 739 l->assert_equal([])
652 set wildignore& 740 set wildignore&
653 enddef 741 enddef
654 742
743 def Test_getcurpos()
744 CheckDefFailure(['echo getcursorcharpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
745 enddef
746
747 def Test_getcursorcharpos()
748 CheckDefFailure(['echo getcursorcharpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
749 enddef
750
751 def Test_getcwd()
752 CheckDefFailure(['echo getcwd("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
753 CheckDefFailure(['echo getcwd("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
754 CheckDefFailure(['echo getcwd(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
755 enddef
756
655 def Test_getloclist_return_type() 757 def Test_getloclist_return_type()
656 var l = getloclist(1) 758 var l = getloclist(1)
657 l->assert_equal([]) 759 l->assert_equal([])
658 760
659 var d = getloclist(1, {items: 0}) 761 var d = getloclist(1, {items: 0})
688 assert_equal('', getftype("")) 790 assert_equal('', getftype(""))
689 assert_equal('', getftype(test_null_string())) 791 assert_equal('', getftype(test_null_string()))
690 792
691 CheckDefExecFailure(['echo getftype(true)'], 'E1174:') 793 CheckDefExecFailure(['echo getftype(true)'], 'E1174:')
692 CheckDefExecFailure(['echo getftype(v:null)'], 'E1174:') 794 CheckDefExecFailure(['echo getftype(v:null)'], 'E1174:')
795 enddef
796
797 def Test_getjumplist()
798 CheckDefFailure(['echo getjumplist("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
799 CheckDefFailure(['echo getjumplist("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
800 CheckDefFailure(['echo getjumplist(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
801 enddef
802
803 def Test_getmatches()
804 CheckDefFailure(['echo getmatches("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
693 enddef 805 enddef
694 806
695 def Test_getqflist_return_type() 807 def Test_getqflist_return_type()
696 var l = getqflist() 808 var l = getqflist()
697 l->assert_equal([]) 809 l->assert_equal([])
725 setreg('a', lines) 837 setreg('a', lines)
726 getregtype('a')->assert_equal('V') 838 getregtype('a')->assert_equal('V')
727 assert_fails('getregtype("ab")', 'E1162:') 839 assert_fails('getregtype("ab")', 'E1162:')
728 enddef 840 enddef
729 841
842 def Test_gettabinfo()
843 CheckDefFailure(['echo gettabinfo("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
844 enddef
845
846 def Test_gettagstack()
847 CheckDefFailure(['echo gettagstack("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
848 enddef
849
850 def Test_getwininfo()
851 CheckDefFailure(['echo getwininfo("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
852 enddef
853
854 def Test_getwinpos()
855 CheckDefFailure(['echo getwinpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
856 enddef
857
730 def Test_glob() 858 def Test_glob()
731 glob('runtest.vim', true, true, true)->assert_equal(['runtest.vim']) 859 glob('runtest.vim', true, true, true)->assert_equal(['runtest.vim'])
732 enddef 860 enddef
733 861
734 def Test_globpath() 862 def Test_globpath()
735 globpath('.', 'runtest.vim', true, true, true)->assert_equal(['./runtest.vim']) 863 globpath('.', 'runtest.vim', true, true, true)->assert_equal(['./runtest.vim'])
736 enddef 864 enddef
737 865
738 def Test_has() 866 def Test_has()
739 has('eval', true)->assert_equal(1) 867 has('eval', true)->assert_equal(1)
868 enddef
869
870 def Test_haslocaldir()
871 CheckDefFailure(['echo haslocaldir("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
872 CheckDefFailure(['echo haslocaldir("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
873 CheckDefFailure(['echo haslocaldir(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
740 enddef 874 enddef
741 875
742 def Test_hasmapto() 876 def Test_hasmapto()
743 hasmapto('foobar', 'i', true)->assert_equal(0) 877 hasmapto('foobar', 'i', true)->assert_equal(0)
744 iabbrev foo foobar 878 iabbrev foo foobar
788 CheckDefFailure(['insert("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 1) 922 CheckDefFailure(['insert("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 1)
789 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 1) 923 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 1)
790 CheckDefFailure(['insert([2, 3], 1, "x")'], 'E1013: Argument 3: type mismatch, expected number but got string', 1) 924 CheckDefFailure(['insert([2, 3], 1, "x")'], 'E1013: Argument 3: type mismatch, expected number but got string', 1)
791 enddef 925 enddef
792 926
927 def Test_invert()
928 CheckDefFailure(['echo invert("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
929 enddef
930
793 def Test_keys_return_type() 931 def Test_keys_return_type()
794 const var: list<string> = {a: 1, b: 2}->keys() 932 const var: list<string> = {a: 1, b: 2}->keys()
795 var->assert_equal(['a', 'b']) 933 var->assert_equal(['a', 'b'])
796 enddef 934 enddef
797 935
808 946
809 def SID(): number 947 def SID(): number
810 return expand('<SID>') 948 return expand('<SID>')
811 ->matchstr('<SNR>\zs\d\+\ze_$') 949 ->matchstr('<SNR>\zs\d\+\ze_$')
812 ->str2nr() 950 ->str2nr()
951 enddef
952
953 def Test_listener_remove()
954 CheckDefFailure(['echo listener_remove("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
813 enddef 955 enddef
814 956
815 def Test_map_function_arg() 957 def Test_map_function_arg()
816 var lines =<< trim END 958 var lines =<< trim END
817 def MapOne(i: number, v: string): string 959 def MapOne(i: number, v: string): string
912 CheckScriptFailure(lines, 'E1013:') 1054 CheckScriptFailure(lines, 'E1013:')
913 au! BufReadPost 1055 au! BufReadPost
914 delete('Xtmpfile') 1056 delete('Xtmpfile')
915 enddef 1057 enddef
916 1058
1059 def Test_matcharg()
1060 CheckDefFailure(['echo matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1061 enddef
1062
1063 def Test_matchdelete()
1064 CheckDefFailure(['echo matchdelete("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1065 CheckDefFailure(['echo matchdelete("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1066 CheckDefFailure(['echo matchdelete(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
1067 enddef
1068
917 def Test_max() 1069 def Test_max()
918 g:flag = true 1070 g:flag = true
919 var l1: list<number> = g:flag 1071 var l1: list<number> = g:flag
920 ? [1, max([2, 3])] 1072 ? [1, max([2, 3])]
921 : [4, 5] 1073 : [4, 5]
942 assert_equal([4, 5], l2) 1094 assert_equal([4, 5], l2)
943 enddef 1095 enddef
944 1096
945 def Test_nr2char() 1097 def Test_nr2char()
946 nr2char(97, true)->assert_equal('a') 1098 nr2char(97, true)->assert_equal('a')
1099 enddef
1100
1101 def Test_or()
1102 CheckDefFailure(['echo or("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1103 CheckDefFailure(['echo or(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
947 enddef 1104 enddef
948 1105
949 def Test_readdir() 1106 def Test_readdir()
950 eval expand('sautest')->readdir((e) => e[0] !=# '.') 1107 eval expand('sautest')->readdir((e) => e[0] !=# '.')
951 eval expand('sautest')->readdirex((e) => e.name[0] !=# '.') 1108 eval expand('sautest')->readdirex((e) => e.name[0] !=# '.')
991 var res = 0 1148 var res = 0
992 for n in l 1149 for n in l
993 res += n 1150 res += n
994 endfor 1151 endfor
995 res->assert_equal(6) 1152 res->assert_equal(6)
1153 enddef
1154
1155 def Test_screenattr()
1156 CheckDefFailure(['echo screenattr("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1157 CheckDefFailure(['echo screenattr(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
1158 enddef
1159
1160 def Test_screenchar()
1161 CheckDefFailure(['echo screenchar("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1162 CheckDefFailure(['echo screenchar(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
1163 enddef
1164
1165 def Test_screenchars()
1166 CheckDefFailure(['echo screenchars("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1167 CheckDefFailure(['echo screenchars(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
1168 enddef
1169
1170 def Test_screenstring()
1171 CheckDefFailure(['echo screenstring("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1172 CheckDefFailure(['echo screenstring(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
996 enddef 1173 enddef
997 1174
998 def Test_search() 1175 def Test_search()
999 new 1176 new
1000 setline(1, ['foo', 'bar']) 1177 setline(1, ['foo', 'bar'])
1155 1332
1156 setbufvar('%', 'myvar', 123) 1333 setbufvar('%', 'myvar', 123)
1157 getbufvar('%', 'myvar')->assert_equal(123) 1334 getbufvar('%', 'myvar')->assert_equal(123)
1158 enddef 1335 enddef
1159 1336
1337 def Test_setcmdpos()
1338 CheckDefFailure(['echo setcmdpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1339 enddef
1340
1160 def Test_setloclist() 1341 def Test_setloclist()
1161 var items = [{filename: '/tmp/file', lnum: 1, valid: true}] 1342 var items = [{filename: '/tmp/file', lnum: 1, valid: true}]
1162 var what = {items: items} 1343 var what = {items: items}
1163 setqflist([], ' ', what) 1344 setqflist([], ' ', what)
1164 setloclist(0, [], ' ', what) 1345 setloclist(0, [], ' ', what)
1169 var reginfo = getreginfo('a') 1350 var reginfo = getreginfo('a')
1170 setreg('a', reginfo) 1351 setreg('a', reginfo)
1171 getreginfo('a')->assert_equal(reginfo) 1352 getreginfo('a')->assert_equal(reginfo)
1172 assert_fails('setreg("ab", 0)', 'E1162:') 1353 assert_fails('setreg("ab", 0)', 'E1162:')
1173 enddef 1354 enddef
1355
1356 def Test_shiftwidth()
1357 CheckDefFailure(['echo shiftwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1358 enddef
1174 1359
1175 def Test_slice() 1360 def Test_slice()
1176 assert_equal('12345', slice('012345', 1)) 1361 assert_equal('12345', slice('012345', 1))
1177 assert_equal('123', slice('012345', 1, 4)) 1362 assert_equal('123', slice('012345', 1, 4))
1178 assert_equal('1234', slice('012345', 1, -1)) 1363 assert_equal('1234', slice('012345', 1, -1))
1307 var info = timer_info(id) 1492 var info = timer_info(id)
1308 info[0]['paused']->assert_equal(1) 1493 info[0]['paused']->assert_equal(1)
1309 timer_stop(id) 1494 timer_stop(id)
1310 enddef 1495 enddef
1311 1496
1497 def Test_tolower()
1498 CheckDefFailure(['echo tolower(1)'], 'E1013: Argument 1: type mismatch, expected string but got number')
1499 enddef
1500
1501 def Test_toupper()
1502 CheckDefFailure(['echo toupper(1)'], 'E1013: Argument 1: type mismatch, expected string but got number')
1503 enddef
1504
1505 def Test_tr()
1506 CheckDefFailure(['echo tr(1, "a", "b")'], 'E1013: Argument 1: type mismatch, expected string but got number')
1507 CheckDefFailure(['echo tr("a", 1, "b")'], 'E1013: Argument 2: type mismatch, expected string but got number')
1508 CheckDefFailure(['echo tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number')
1509 enddef
1510
1312 def Test_win_execute() 1511 def Test_win_execute()
1313 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()')) 1512 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()'))
1314 assert_equal('', win_execute(342343, 'echo winnr()')) 1513 assert_equal('', win_execute(342343, 'echo winnr()'))
1315 enddef 1514 enddef
1316 1515
1336 var view: list<number> = winsaveview() 1535 var view: list<number> = winsaveview()
1337 END 1536 END
1338 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1) 1537 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1)
1339 enddef 1538 enddef
1340 1539
1341 1540 def Test_win_gettype()
1342 1541 CheckDefFailure(['echo win_gettype("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1542 enddef
1543
1544 def Test_win_gotoid()
1545 CheckDefFailure(['echo win_gotoid("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1546 enddef
1547
1548 def Test_win_id2tabwin()
1549 CheckDefFailure(['echo win_id2tabwin("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1550 enddef
1551
1552 def Test_win_id2win()
1553 CheckDefFailure(['echo win_id2win("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1554 enddef
1555
1556 def Test_win_screenpos()
1557 CheckDefFailure(['echo win_screenpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1558 enddef
1559
1560 def Test_winbufnr()
1561 CheckDefFailure(['echo winbufnr("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1562 enddef
1563
1564 def Test_winheight()
1565 CheckDefFailure(['echo winheight("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1566 enddef
1567
1568 def Test_winlayout()
1569 CheckDefFailure(['echo winlayout("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1570 enddef
1571
1572 def Test_winwidth()
1573 CheckDefFailure(['echo winwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string')
1574 enddef
1575
1576 def Test_xor()
1577 CheckDefFailure(['echo xor("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string')
1578 CheckDefFailure(['echo xor(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string')
1579 enddef
1343 1580
1344 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker 1581 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker