Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 25822:42723b535ab3 v8.2.3446
patch 8.2.3446: not enough tests for empty string arguments
Commit: https://github.com/vim/vim/commit/820d5525cae707f39571c6abc2aa6a9e66ed171e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Fri Sep 17 21:07:35 2021 +0200
patch 8.2.3446: not enough tests for empty string arguments
Problem: Not enough tests for empty string arguments.
Solution: Add tests, fix type check. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/8881)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 17 Sep 2021 21:15:03 +0200 |
parents | 8d55e978f95b |
children | 29bbe650f2a1 |
comparison
equal
deleted
inserted
replaced
25821:ef98a99ef1ae | 25822:42723b535ab3 |
---|---|
378 enddef | 378 enddef |
379 | 379 |
380 def Test_byte2line() | 380 def Test_byte2line() |
381 CheckDefAndScriptFailure2(['byte2line("1")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 381 CheckDefAndScriptFailure2(['byte2line("1")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
382 CheckDefAndScriptFailure2(['byte2line([])'], 'E1013: Argument 1: type mismatch, expected number but got list<unknown>', 'E1210: Number required for argument 1') | 382 CheckDefAndScriptFailure2(['byte2line([])'], 'E1013: Argument 1: type mismatch, expected number but got list<unknown>', 'E1210: Number required for argument 1') |
383 assert_equal(-1, byte2line(0)) | 383 byte2line(0)->assert_equal(-1) |
384 enddef | 384 enddef |
385 | 385 |
386 def Test_byteidx() | 386 def Test_byteidx() |
387 CheckDefAndScriptFailure2(['byteidx(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 387 CheckDefAndScriptFailure2(['byteidx(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
388 CheckDefAndScriptFailure2(['byteidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 388 CheckDefAndScriptFailure2(['byteidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
389 byteidx('', 0)->assert_equal(0) | |
390 byteidx('', 1)->assert_equal(-1) | |
389 enddef | 391 enddef |
390 | 392 |
391 def Test_byteidxcomp() | 393 def Test_byteidxcomp() |
392 CheckDefAndScriptFailure2(['byteidxcomp(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 394 CheckDefAndScriptFailure2(['byteidxcomp(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
393 CheckDefAndScriptFailure2(['byteidxcomp("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 395 CheckDefAndScriptFailure2(['byteidxcomp("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
598 | 600 |
599 def Test_charidx() | 601 def Test_charidx() |
600 CheckDefAndScriptFailure2(['charidx(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') | 602 CheckDefAndScriptFailure2(['charidx(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') |
601 CheckDefAndScriptFailure2(['charidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 603 CheckDefAndScriptFailure2(['charidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
602 CheckDefAndScriptFailure2(['charidx("a", 1, "")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') | 604 CheckDefAndScriptFailure2(['charidx("a", 1, "")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
605 charidx('', 0)->assert_equal(-1) | |
606 charidx('', 1)->assert_equal(-1) | |
603 enddef | 607 enddef |
604 | 608 |
605 def Test_chdir() | 609 def Test_chdir() |
606 assert_fails('chdir(true)', 'E1174:') | 610 assert_fails('chdir(true)', 'E1174:') |
607 enddef | 611 enddef |
894 expand('%', true, true)->assert_equal(['SomeFile']) | 898 expand('%', true, true)->assert_equal(['SomeFile']) |
895 close | 899 close |
896 CheckDefAndScriptFailure2(['expand(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 900 CheckDefAndScriptFailure2(['expand(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
897 CheckDefAndScriptFailure2(['expand("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') | 901 CheckDefAndScriptFailure2(['expand("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
898 CheckDefAndScriptFailure2(['expand("a", true, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') | 902 CheckDefAndScriptFailure2(['expand("a", true, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
903 expand('')->assert_equal('') | |
899 enddef | 904 enddef |
900 | 905 |
901 def Test_expandcmd() | 906 def Test_expandcmd() |
902 $FOO = "blue" | 907 $FOO = "blue" |
903 assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) | 908 assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) |
1273 assert_equal('', fullcommand('delp')) | 1278 assert_equal('', fullcommand('delp')) |
1274 | 1279 |
1275 assert_equal('srewind', fullcommand('sre')) | 1280 assert_equal('srewind', fullcommand('sre')) |
1276 assert_equal('scriptnames', fullcommand('scr')) | 1281 assert_equal('scriptnames', fullcommand('scr')) |
1277 assert_equal('', fullcommand('scg')) | 1282 assert_equal('', fullcommand('scg')) |
1283 fullcommand('')->assert_equal('') | |
1278 enddef | 1284 enddef |
1279 | 1285 |
1280 def Test_funcref() | 1286 def Test_funcref() |
1281 CheckDefAndScriptFailure2(['funcref("reverse", 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') | 1287 CheckDefAndScriptFailure2(['funcref("reverse", 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') |
1282 CheckDefAndScriptFailure2(['funcref("reverse", [2], [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | 1288 CheckDefAndScriptFailure2(['funcref("reverse", [2], [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
1865 enddef | 1871 enddef |
1866 | 1872 |
1867 def Test_js_decode() | 1873 def Test_js_decode() |
1868 CheckDefAndScriptFailure2(['js_decode(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 1874 CheckDefAndScriptFailure2(['js_decode(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1869 assert_equal([1, 2], js_decode('[1,2]')) | 1875 assert_equal([1, 2], js_decode('[1,2]')) |
1876 js_decode('')->assert_equal(v:none) | |
1870 enddef | 1877 enddef |
1871 | 1878 |
1872 def Test_json_decode() | 1879 def Test_json_decode() |
1873 CheckDefAndScriptFailure2(['json_decode(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') | 1880 CheckDefAndScriptFailure2(['json_decode(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
1874 assert_equal(1.0, json_decode('1.0')) | 1881 assert_equal(1.0, json_decode('1.0')) |
1882 json_decode('')->assert_equal(v:none) | |
1875 enddef | 1883 enddef |
1876 | 1884 |
1877 def Test_keys() | 1885 def Test_keys() |
1878 CheckDefAndScriptFailure2(['keys([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') | 1886 CheckDefAndScriptFailure2(['keys([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
1879 assert_equal(['a'], {a: 'v'}->keys()) | 1887 assert_equal(['a'], {a: 'v'}->keys()) |
2156 | 2164 |
2157 def Test_matchfuzzy() | 2165 def Test_matchfuzzy() |
2158 CheckDefAndScriptFailure2(['matchfuzzy({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') | 2166 CheckDefAndScriptFailure2(['matchfuzzy({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
2159 CheckDefAndScriptFailure2(['matchfuzzy([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 2167 CheckDefAndScriptFailure2(['matchfuzzy([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
2160 CheckDefAndScriptFailure2(['matchfuzzy([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 2168 CheckDefAndScriptFailure2(['matchfuzzy([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
2169 matchfuzzy(['abc', 'xyz'], '')->assert_equal([]) | |
2161 enddef | 2170 enddef |
2162 | 2171 |
2163 def Test_matchfuzzypos() | 2172 def Test_matchfuzzypos() |
2164 CheckDefAndScriptFailure2(['matchfuzzypos({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') | 2173 CheckDefAndScriptFailure2(['matchfuzzypos({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
2165 CheckDefAndScriptFailure2(['matchfuzzypos([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 2174 CheckDefAndScriptFailure2(['matchfuzzypos([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
2166 CheckDefAndScriptFailure2(['matchfuzzypos([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') | 2175 CheckDefAndScriptFailure2(['matchfuzzypos([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
2176 matchfuzzypos(['abc', 'xyz'], '')->assert_equal([[], [], []]) | |
2167 enddef | 2177 enddef |
2168 | 2178 |
2169 def Test_matchlist() | 2179 def Test_matchlist() |
2170 CheckDefAndScriptFailure2(['matchlist(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') | 2180 CheckDefAndScriptFailure2(['matchlist(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
2171 CheckDefAndScriptFailure2(['matchlist(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') | 2181 CheckDefAndScriptFailure2(['matchlist(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
2340 enddef | 2350 enddef |
2341 | 2351 |
2342 def Test_popup_filter_menu() | 2352 def Test_popup_filter_menu() |
2343 CheckDefAndScriptFailure2(['popup_filter_menu("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 2353 CheckDefAndScriptFailure2(['popup_filter_menu("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
2344 CheckDefAndScriptFailure2(['popup_filter_menu(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 2354 CheckDefAndScriptFailure2(['popup_filter_menu(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
2355 var id: number = popup_menu(["one", "two", "three"], {}) | |
2356 popup_filter_menu(id, '') | |
2357 popup_close(id) | |
2345 enddef | 2358 enddef |
2346 | 2359 |
2347 def Test_popup_filter_yesno() | 2360 def Test_popup_filter_yesno() |
2348 CheckDefAndScriptFailure2(['popup_filter_yesno("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 2361 CheckDefAndScriptFailure2(['popup_filter_yesno("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
2349 CheckDefAndScriptFailure2(['popup_filter_yesno(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 2362 CheckDefAndScriptFailure2(['popup_filter_yesno(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
2464 | 2477 |
2465 def Test_prop_find() | 2478 def Test_prop_find() |
2466 CheckDefAndScriptFailure2(['prop_find([1, 2])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') | 2479 CheckDefAndScriptFailure2(['prop_find([1, 2])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
2467 CheckDefAndScriptFailure2(['prop_find([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') | 2480 CheckDefAndScriptFailure2(['prop_find([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
2468 CheckDefAndScriptFailure2(['prop_find({"a": 10}, ["a"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') | 2481 CheckDefAndScriptFailure2(['prop_find({"a": 10}, ["a"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') |
2482 assert_fails("prop_find({}, '')", 'E474:') | |
2469 enddef | 2483 enddef |
2470 | 2484 |
2471 def Test_prop_list() | 2485 def Test_prop_list() |
2472 CheckDefAndScriptFailure2(['prop_list("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 2486 CheckDefAndScriptFailure2(['prop_list("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
2473 CheckDefAndScriptFailure2(['prop_list(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') | 2487 CheckDefAndScriptFailure2(['prop_list(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
2480 enddef | 2494 enddef |
2481 | 2495 |
2482 def Test_prop_type_add() | 2496 def Test_prop_type_add() |
2483 CheckDefAndScriptFailure2(['prop_type_add({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2497 CheckDefAndScriptFailure2(['prop_type_add({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2484 CheckDefAndScriptFailure2(['prop_type_add("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') | 2498 CheckDefAndScriptFailure2(['prop_type_add("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
2499 assert_fails("prop_type_add('', {highlight: 'Search'})", 'E474:') | |
2485 enddef | 2500 enddef |
2486 | 2501 |
2487 def Test_prop_type_change() | 2502 def Test_prop_type_change() |
2488 CheckDefAndScriptFailure2(['prop_type_change({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2503 CheckDefAndScriptFailure2(['prop_type_change({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2489 CheckDefAndScriptFailure2(['prop_type_change("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') | 2504 CheckDefAndScriptFailure2(['prop_type_change("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
2505 assert_fails("prop_type_change('', {highlight: 'Search'})", 'E474:') | |
2490 enddef | 2506 enddef |
2491 | 2507 |
2492 def Test_prop_type_delete() | 2508 def Test_prop_type_delete() |
2493 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2509 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2494 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2510 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2495 CheckDefAndScriptFailure2(['prop_type_delete("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') | 2511 CheckDefAndScriptFailure2(['prop_type_delete("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
2512 assert_fails("prop_type_delete('')", 'E474:') | |
2496 enddef | 2513 enddef |
2497 | 2514 |
2498 def Test_prop_type_get() | 2515 def Test_prop_type_get() |
2499 CheckDefAndScriptFailure2(['prop_type_get({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2516 CheckDefAndScriptFailure2(['prop_type_get({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2500 CheckDefAndScriptFailure2(['prop_type_get({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') | 2517 CheckDefAndScriptFailure2(['prop_type_get({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
2501 CheckDefAndScriptFailure2(['prop_type_get("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') | 2518 CheckDefAndScriptFailure2(['prop_type_get("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
2519 assert_fails("prop_type_get('')", 'E474:') | |
2502 enddef | 2520 enddef |
2503 | 2521 |
2504 def Test_prop_type_list() | 2522 def Test_prop_type_list() |
2505 CheckDefAndScriptFailure2(['prop_type_list(["a"])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 1') | 2523 CheckDefAndScriptFailure2(['prop_type_list(["a"])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 1') |
2506 CheckDefAndScriptFailure2(['prop_type_list(2)'], 'E1013: Argument 1: type mismatch, expected dict<any> but got number', 'E1206: Dictionary required for argument 1') | 2524 CheckDefAndScriptFailure2(['prop_type_list(2)'], 'E1013: Argument 1: type mismatch, expected dict<any> but got number', 'E1206: Dictionary required for argument 1') |
3151 enddef | 3169 enddef |
3152 | 3170 |
3153 def Test_sign_getdefined() | 3171 def Test_sign_getdefined() |
3154 CheckDefAndScriptFailure2(['sign_getdefined(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') | 3172 CheckDefAndScriptFailure2(['sign_getdefined(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
3155 CheckDefAndScriptFailure2(['sign_getdefined(2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3173 CheckDefAndScriptFailure2(['sign_getdefined(2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3174 sign_getdefined('')->assert_equal([]) | |
3156 enddef | 3175 enddef |
3157 | 3176 |
3158 def Test_sign_getplaced() | 3177 def Test_sign_getplaced() |
3159 CheckDefAndScriptFailure2(['sign_getplaced(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1') | 3178 CheckDefAndScriptFailure2(['sign_getplaced(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1') |
3160 CheckDefAndScriptFailure2(['sign_getplaced(1, ["a"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') | 3179 CheckDefAndScriptFailure2(['sign_getplaced(1, ["a"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
3171 CheckDefAndScriptFailure2(['sign_place("a", "b", "c", "d")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') | 3190 CheckDefAndScriptFailure2(['sign_place("a", "b", "c", "d")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
3172 CheckDefAndScriptFailure2(['sign_place(1, 2, "c", "d")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 3191 CheckDefAndScriptFailure2(['sign_place(1, 2, "c", "d")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
3173 CheckDefAndScriptFailure2(['sign_place(1, "b", 3, "d")'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') | 3192 CheckDefAndScriptFailure2(['sign_place(1, "b", 3, "d")'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
3174 CheckDefAndScriptFailure2(['sign_place(1, "b", "c", 1.1)'], 'E1013: Argument 4: type mismatch, expected string but got float', 'E1220: String or Number required for argument 4') | 3193 CheckDefAndScriptFailure2(['sign_place(1, "b", "c", 1.1)'], 'E1013: Argument 4: type mismatch, expected string but got float', 'E1220: String or Number required for argument 4') |
3175 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') | 3194 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') |
3195 assert_fails("sign_place(0, '', '', '')", 'E155:') | |
3176 enddef | 3196 enddef |
3177 | 3197 |
3178 def Test_sign_placelist() | 3198 def Test_sign_placelist() |
3179 CheckDefAndScriptFailure2(['sign_placelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | 3199 CheckDefAndScriptFailure2(['sign_placelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
3180 CheckDefAndScriptFailure2(['sign_placelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') | 3200 CheckDefAndScriptFailure2(['sign_placelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') |
3301 def Test_state() | 3321 def Test_state() |
3302 CheckDefAndScriptFailure2(['state({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') | 3322 CheckDefAndScriptFailure2(['state({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
3303 assert_equal('', state('a')) | 3323 assert_equal('', state('a')) |
3304 enddef | 3324 enddef |
3305 | 3325 |
3306 def Run_str2float() | 3326 def Test_str2float() |
3307 if !has('float') | 3327 if !has('float') |
3308 CheckFeature float | 3328 CheckFeature float |
3309 endif | 3329 else |
3310 str2float("1.00")->assert_equal(1.00) | 3330 str2float("1.00")->assert_equal(1.00) |
3311 str2float("2e-2")->assert_equal(0.02) | 3331 str2float("2e-2")->assert_equal(0.02) |
3332 str2float('')->assert_equal(0.0) | |
3312 | 3333 |
3313 CheckDefAndScriptFailure2(['str2float(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3334 CheckDefAndScriptFailure2(['str2float(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3314 endif | 3335 endif |
3315 enddef | 3336 enddef |
3316 | 3337 |
3318 CheckDefAndScriptFailure2(['str2list(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3339 CheckDefAndScriptFailure2(['str2list(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3319 CheckDefAndScriptFailure2(['str2list("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') | 3340 CheckDefAndScriptFailure2(['str2list("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
3320 assert_equal([97], str2list('a')) | 3341 assert_equal([97], str2list('a')) |
3321 assert_equal([97], str2list('a', 1)) | 3342 assert_equal([97], str2list('a', 1)) |
3322 assert_equal([97], str2list('a', true)) | 3343 assert_equal([97], str2list('a', true)) |
3344 str2list('')->assert_equal([]) | |
3323 enddef | 3345 enddef |
3324 | 3346 |
3325 def Test_str2nr() | 3347 def Test_str2nr() |
3326 str2nr("1'000'000", 10, true)->assert_equal(1000000) | 3348 str2nr("1'000'000", 10, true)->assert_equal(1000000) |
3349 str2nr('')->assert_equal(0) | |
3327 | 3350 |
3328 CheckDefAndScriptFailure2(['str2nr(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3351 CheckDefAndScriptFailure2(['str2nr(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3329 CheckDefAndScriptFailure2(['str2nr("123", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3352 CheckDefAndScriptFailure2(['str2nr("123", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3330 CheckDefAndScriptFailure2(['str2nr("123", 10, "x")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') | 3353 CheckDefAndScriptFailure2(['str2nr("123", 10, "x")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
3331 enddef | 3354 enddef |
3339 def Test_strcharpart() | 3362 def Test_strcharpart() |
3340 CheckDefAndScriptFailure2(['strcharpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3363 CheckDefAndScriptFailure2(['strcharpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3341 CheckDefAndScriptFailure2(['strcharpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3364 CheckDefAndScriptFailure2(['strcharpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3342 CheckDefAndScriptFailure2(['strcharpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 3365 CheckDefAndScriptFailure2(['strcharpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
3343 CheckDefAndScriptFailure2(['strcharpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') | 3366 CheckDefAndScriptFailure2(['strcharpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
3367 strcharpart('', 0)->assert_equal('') | |
3344 enddef | 3368 enddef |
3345 | 3369 |
3346 def Test_strchars() | 3370 def Test_strchars() |
3347 strchars("A\u20dd", true)->assert_equal(1) | 3371 strchars("A\u20dd", true)->assert_equal(1) |
3348 CheckDefAndScriptFailure2(['strchars(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3372 CheckDefAndScriptFailure2(['strchars(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3349 CheckDefAndScriptFailure2(['strchars("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') | 3373 CheckDefAndScriptFailure2(['strchars("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
3350 assert_equal(3, strchars('abc')) | 3374 assert_equal(3, strchars('abc')) |
3351 assert_equal(3, strchars('abc', 1)) | 3375 assert_equal(3, strchars('abc', 1)) |
3352 assert_equal(3, strchars('abc', true)) | 3376 assert_equal(3, strchars('abc', true)) |
3377 strchars('')->assert_equal(0) | |
3353 enddef | 3378 enddef |
3354 | 3379 |
3355 def Test_strdisplaywidth() | 3380 def Test_strdisplaywidth() |
3356 CheckDefAndScriptFailure2(['strdisplaywidth(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3381 CheckDefAndScriptFailure2(['strdisplaywidth(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3357 CheckDefAndScriptFailure2(['strdisplaywidth("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3382 CheckDefAndScriptFailure2(['strdisplaywidth("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3383 strdisplaywidth('')->assert_equal(0) | |
3358 enddef | 3384 enddef |
3359 | 3385 |
3360 def Test_strftime() | 3386 def Test_strftime() |
3361 CheckDefAndScriptFailure2(['strftime(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3387 if exists('*strftime') |
3362 CheckDefAndScriptFailure2(['strftime("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3388 CheckDefAndScriptFailure2(['strftime(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3389 CheckDefAndScriptFailure2(['strftime("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | |
3390 strftime('')->assert_equal('') | |
3391 endif | |
3363 enddef | 3392 enddef |
3364 | 3393 |
3365 def Test_strgetchar() | 3394 def Test_strgetchar() |
3366 CheckDefAndScriptFailure2(['strgetchar(1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3395 CheckDefAndScriptFailure2(['strgetchar(1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3367 CheckDefAndScriptFailure2(['strgetchar("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3396 CheckDefAndScriptFailure2(['strgetchar("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3397 strgetchar('', 0)->assert_equal(-1) | |
3398 strgetchar('', 1)->assert_equal(-1) | |
3368 enddef | 3399 enddef |
3369 | 3400 |
3370 def Test_stridx() | 3401 def Test_stridx() |
3371 CheckDefAndScriptFailure2(['stridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') | 3402 CheckDefAndScriptFailure2(['stridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
3372 CheckDefAndScriptFailure2(['stridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') | 3403 CheckDefAndScriptFailure2(['stridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') |
3373 CheckDefAndScriptFailure2(['stridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 3404 CheckDefAndScriptFailure2(['stridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
3405 stridx('', '')->assert_equal(0) | |
3406 stridx('', 'a')->assert_equal(-1) | |
3407 stridx('a', '')->assert_equal(0) | |
3374 enddef | 3408 enddef |
3375 | 3409 |
3376 def Test_strlen() | 3410 def Test_strlen() |
3377 CheckDefAndScriptFailure2(['strlen([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') | 3411 CheckDefAndScriptFailure2(['strlen([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
3378 "abc"->strlen()->assert_equal(3) | 3412 "abc"->strlen()->assert_equal(3) |
3382 def Test_strpart() | 3416 def Test_strpart() |
3383 CheckDefAndScriptFailure2(['strpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3417 CheckDefAndScriptFailure2(['strpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3384 CheckDefAndScriptFailure2(['strpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') | 3418 CheckDefAndScriptFailure2(['strpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
3385 CheckDefAndScriptFailure2(['strpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 3419 CheckDefAndScriptFailure2(['strpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
3386 CheckDefAndScriptFailure2(['strpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') | 3420 CheckDefAndScriptFailure2(['strpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
3421 strpart('', 0)->assert_equal('') | |
3387 enddef | 3422 enddef |
3388 | 3423 |
3389 def Test_strptime() | 3424 def Test_strptime() |
3390 CheckFunction strptime | 3425 CheckFunction strptime |
3391 CheckDefAndScriptFailure2(['strptime(10, "2021")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3426 if exists_compiled('*strptime') |
3392 CheckDefAndScriptFailure2(['strptime("%Y", 2021)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 3427 CheckDefAndScriptFailure2(['strptime(10, "2021")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3393 # BUG: Directly calling strptime() in this function gives an "E117: Unknown | 3428 CheckDefAndScriptFailure2(['strptime("%Y", 2021)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
3394 # function" error on MS-Windows even with the above CheckFunction call for | 3429 assert_true(strptime('%Y', '2021') != 0) |
3395 # strptime(). | 3430 assert_true(strptime('%Y', '') == 0) |
3396 #assert_true(strptime('%Y', '2021') != 0) | 3431 endif |
3397 enddef | 3432 enddef |
3398 | 3433 |
3399 def Test_strridx() | 3434 def Test_strridx() |
3400 CheckDefAndScriptFailure2(['strridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') | 3435 CheckDefAndScriptFailure2(['strridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
3401 CheckDefAndScriptFailure2(['strridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') | 3436 CheckDefAndScriptFailure2(['strridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') |
3402 CheckDefAndScriptFailure2(['strridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 3437 CheckDefAndScriptFailure2(['strridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
3438 strridx('', '')->assert_equal(0) | |
3439 strridx('', 'a')->assert_equal(-1) | |
3440 strridx('a', '')->assert_equal(1) | |
3403 enddef | 3441 enddef |
3404 | 3442 |
3405 def Test_strtrans() | 3443 def Test_strtrans() |
3406 CheckDefAndScriptFailure2(['strtrans(20)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3444 CheckDefAndScriptFailure2(['strtrans(20)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3407 assert_equal('abc', strtrans('abc')) | 3445 assert_equal('abc', strtrans('abc')) |
3446 strtrans('')->assert_equal('') | |
3408 enddef | 3447 enddef |
3409 | 3448 |
3410 def Test_strwidth() | 3449 def Test_strwidth() |
3411 CheckDefAndScriptFailure2(['strwidth(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3450 CheckDefAndScriptFailure2(['strwidth(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3412 assert_equal(4, strwidth('abcd')) | 3451 assert_equal(4, strwidth('abcd')) |
3452 strwidth('')->assert_equal(0) | |
3413 enddef | 3453 enddef |
3414 | 3454 |
3415 def Test_submatch() | 3455 def Test_submatch() |
3416 var pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)' | 3456 var pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)' |
3417 var Rep = () => range(10)->mapnew((_, v) => submatch(v, true))->string() | 3457 var Rep = () => range(10)->mapnew((_, v) => submatch(v, true))->string() |
3775 assert_equal(0, timer_stop(100)) | 3815 assert_equal(0, timer_stop(100)) |
3776 enddef | 3816 enddef |
3777 | 3817 |
3778 def Test_tolower() | 3818 def Test_tolower() |
3779 CheckDefAndScriptFailure2(['tolower(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3819 CheckDefAndScriptFailure2(['tolower(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3820 tolower('')->assert_equal('') | |
3780 enddef | 3821 enddef |
3781 | 3822 |
3782 def Test_toupper() | 3823 def Test_toupper() |
3783 CheckDefAndScriptFailure2(['toupper(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3824 CheckDefAndScriptFailure2(['toupper(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3825 toupper('')->assert_equal('') | |
3784 enddef | 3826 enddef |
3785 | 3827 |
3786 def Test_tr() | 3828 def Test_tr() |
3787 CheckDefAndScriptFailure2(['tr(1, "a", "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3829 CheckDefAndScriptFailure2(['tr(1, "a", "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3788 CheckDefAndScriptFailure2(['tr("a", 1, "b")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') | 3830 CheckDefAndScriptFailure2(['tr("a", 1, "b")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
3789 CheckDefAndScriptFailure2(['tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') | 3831 CheckDefAndScriptFailure2(['tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
3832 tr('', '', '')->assert_equal('') | |
3833 tr('ab', '', '')->assert_equal('ab') | |
3834 assert_fails("tr('ab', 'ab', '')", 'E475:') | |
3835 assert_fails("tr('ab', '', 'AB')", 'E475:') | |
3790 enddef | 3836 enddef |
3791 | 3837 |
3792 def Test_trim() | 3838 def Test_trim() |
3793 CheckDefAndScriptFailure2(['trim(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') | 3839 CheckDefAndScriptFailure2(['trim(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
3794 CheckDefAndScriptFailure2(['trim("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') | 3840 CheckDefAndScriptFailure2(['trim("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') |
3795 CheckDefAndScriptFailure2(['trim("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') | 3841 CheckDefAndScriptFailure2(['trim("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
3842 trim('')->assert_equal('') | |
3843 trim('', '')->assert_equal('') | |
3796 enddef | 3844 enddef |
3797 | 3845 |
3798 def Test_typename() | 3846 def Test_typename() |
3799 if has('float') | 3847 if has('float') |
3800 assert_equal('func([unknown], [unknown]): float', typename(function('pow'))) | 3848 assert_equal('func([unknown], [unknown]): float', typename(function('pow'))) |
3811 enddef | 3859 enddef |
3812 | 3860 |
3813 def Test_undofile() | 3861 def Test_undofile() |
3814 CheckDefAndScriptFailure2(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') | 3862 CheckDefAndScriptFailure2(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
3815 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) | 3863 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) |
3864 undofile('')->assert_equal('') | |
3816 enddef | 3865 enddef |
3817 | 3866 |
3818 def Test_uniq() | 3867 def Test_uniq() |
3819 CheckDefAndScriptFailure2(['uniq("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') | 3868 CheckDefAndScriptFailure2(['uniq("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
3820 CheckDefAndScriptFailure2(['uniq([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') | 3869 CheckDefAndScriptFailure2(['uniq([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |