Mercurial > vim
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 |