Mercurial > vim
annotate src/testdir/test_vim9_builtin.vim @ 26490:cd452f46085e v8.2.3775
patch 8.2.3775: Vim9: lambda compiled without outer context when debugging
Commit: https://github.com/vim/vim/commit/9fffef9f3562e05755e4b3c46509b2eeeb623ff7
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 10 16:55:58 2021 +0000
patch 8.2.3775: Vim9: lambda compiled without outer context when debugging
Problem: Vim9: lambda compiled without outer context when debugging.
Solution: When compiling a lambda for debugging also compile it without.
(closes #9302)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 10 Dec 2021 18:00:05 +0100 |
parents | 744fdb15347d |
children | 0d2a709e2ff0 |
rev | line source |
---|---|
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test using builtin functions in the Vim9 script language. |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 source check.vim |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 source vim9.vim |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 " Test for passing too many or too few arguments to builtin functions |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 func Test_internalfunc_arg_error() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 let l =<< trim END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 def! FArgErr(): float |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 return ceil(1.1, 2) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 defcompile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 call writefile(l, 'Xinvalidarg') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 call assert_fails('so Xinvalidarg', 'E118:', '', 1, 'FArgErr') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 let l =<< trim END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 def! FArgErr(): float |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 return ceil() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 defcompile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 call writefile(l, 'Xinvalidarg') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 call assert_fails('so Xinvalidarg', 'E119:', '', 1, 'FArgErr') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 call delete('Xinvalidarg') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 endfunc |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 " Test for builtin functions returning different types |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 func Test_InternalFuncRetType() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 let lines =<< trim END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 def RetFloat(): float |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 return ceil(1.456) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 def RetListAny(): list<any> |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
35 return items({k: 'v'}) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 def RetListString(): list<string> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
39 return split('a:b:c', ':') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 def RetListDictAny(): list<dict<any>> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 return getbufinfo() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 def RetDictNumber(): dict<number> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 return wordcount() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
48 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
49 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
50 def RetDictString(): dict<string> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
51 return environ() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
52 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
53 END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 call writefile(lines, 'Xscript') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 source Xscript |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
56 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
57 call RetFloat()->assert_equal(2.0) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
58 call RetListAny()->assert_equal([['k', 'v']]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
59 call RetListString()->assert_equal(['a', 'b', 'c']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
60 call RetListDictAny()->assert_notequal([]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
61 call RetDictNumber()->assert_notequal({}) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
62 call RetDictString()->assert_notequal({}) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
63 call delete('Xscript') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
64 endfunc |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
65 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
66 def Test_abs() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
67 assert_equal(0, abs(0)) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
68 assert_equal(2, abs(-2)) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
69 assert_equal(3, abs(3)) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
70 CheckDefAndScriptFailure2(['abs("text")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
71 if has('float') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
72 assert_equal(0, abs(0)) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
73 assert_equal(2.0, abs(-2.0)) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
74 assert_equal(3.0, abs(3.0)) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
75 endif |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
76 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
77 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
78 def Test_add() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
79 CheckDefAndScriptFailure2(['add({}, 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1226: List or Blob required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
80 CheckDefFailure(['add([1], "a")'], 'E1012: Type mismatch; expected number but got string') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
81 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
82 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
83 def Test_add_blob() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
84 var b1: blob = 0z12 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
85 add(b1, 0x34) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
86 assert_equal(0z1234, b1) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
87 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
88 var b2: blob # defaults to empty blob |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
89 add(b2, 0x67) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
90 assert_equal(0z67, b2) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
91 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
92 var lines =<< trim END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
93 var b: blob |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
94 add(b, "x") |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
95 END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
96 CheckDefFailure(lines, 'E1012:', 2) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
97 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
98 lines =<< trim END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
99 add(test_null_blob(), 123) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
100 END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
101 CheckDefExecAndScriptFailure(lines, 'E1131:', 1) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
102 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
103 lines =<< trim END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
104 var b: blob = test_null_blob() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
105 add(b, 123) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
106 END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
107 CheckDefExecFailure(lines, 'E1131:', 2) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
108 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
109 # Getting variable with NULL blob allocates a new blob at script level |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
110 lines =<< trim END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
111 vim9script |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
112 var b: blob = test_null_blob() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
113 add(b, 123) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
114 END |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
115 CheckScriptSuccess(lines) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
116 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
117 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
118 def Test_add_list() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
119 var l: list<number> # defaults to empty list |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
120 add(l, 9) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
121 assert_equal([9], l) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
122 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
123 var lines =<< trim END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 var l: list<number> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
125 add(l, "x") |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
127 CheckDefFailure(lines, 'E1012:', 2) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
128 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
129 lines =<< trim END |
24482
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
130 add(test_null_list(), 123) |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
131 END |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
132 CheckDefExecAndScriptFailure(lines, 'E1130:', 1) |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
133 |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
134 lines =<< trim END |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
135 var l: list<number> = test_null_list() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
136 add(l, 123) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
137 END |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
138 CheckDefExecFailure(lines, 'E1130:', 2) |
24482
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
139 |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
140 # Getting variable with NULL list allocates a new list at script level |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
141 lines =<< trim END |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
142 vim9script |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
143 var l: list<number> = test_null_list() |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
144 add(l, 123) |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
145 END |
3d5a66e478f8
patch 8.2.2781: add() silently skips when adding to null list or blob
Bram Moolenaar <Bram@vim.org>
parents:
24414
diff
changeset
|
146 CheckScriptSuccess(lines) |
25182
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
147 |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
148 lines =<< trim END |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
149 vim9script |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
150 var l: list<string> = ['a'] |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
151 l->add(123) |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
152 END |
14448e7acdb2
patch 8.2.3127: Vim9: no error when adding number to list of string
Bram Moolenaar <Bram@vim.org>
parents:
25143
diff
changeset
|
153 CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) |
25184
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
154 |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
155 lines =<< trim END |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
156 vim9script |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
157 var l: list<string> |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
158 l->add(123) |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
159 END |
e495f40e4b07
patch 8.2.3128: Vim9: uninitialzed list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25182
diff
changeset
|
160 CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got number', 3) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
161 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
162 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
163 def Test_and() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
164 CheckDefAndScriptFailure2(['and("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
165 CheckDefAndScriptFailure2(['and(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
166 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
167 |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
168 def Test_append() |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
169 new |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
170 setline(1, range(3)) |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
171 var res1: number = append(1, 'one') |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
172 assert_equal(0, res1) |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
173 var res2: bool = append(3, 'two') |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
174 assert_equal(false, res2) |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
175 assert_equal(['0', 'one', '1', 'two', '2'], getline(1, 6)) |
24258
8b4159943d9a
patch 8.2.2670: Vim9: error for append(0, text)
Bram Moolenaar <Bram@vim.org>
parents:
24254
diff
changeset
|
176 |
8b4159943d9a
patch 8.2.2670: Vim9: error for append(0, text)
Bram Moolenaar <Bram@vim.org>
parents:
24254
diff
changeset
|
177 append(0, 'zero') |
8b4159943d9a
patch 8.2.2670: Vim9: error for append(0, text)
Bram Moolenaar <Bram@vim.org>
parents:
24254
diff
changeset
|
178 assert_equal('zero', getline(1)) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
179 append(0, {a: 10}) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
180 assert_equal("{'a': 10}", getline(1)) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
181 append(0, function('min')) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
182 assert_equal("function('min')", getline(1)) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
183 CheckDefAndScriptFailure2(['append([1], "x")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
184 CheckDefExecAndScriptFailure(['append("", "x")'], 'E1209: Invalid value for a line number') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
185 bwipe! |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
186 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
187 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
188 def Test_appendbufline() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
189 new |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
190 var bnum: number = bufnr() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
191 :wincmd w |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
192 appendbufline(bnum, 0, range(3)) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
193 var res1: number = appendbufline(bnum, 1, 'one') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
194 assert_equal(0, res1) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
195 var res2: bool = appendbufline(bnum, 3, 'two') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
196 assert_equal(false, res2) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
197 assert_equal(['0', 'one', '1', 'two', '2', ''], getbufline(bnum, 1, '$')) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
198 appendbufline(bnum, 0, 'zero') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
199 assert_equal(['zero'], getbufline(bnum, 1)) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
200 CheckDefAndScriptFailure2(['appendbufline([1], 1, "x")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
201 CheckDefAndScriptFailure2(['appendbufline(1, [1], "x")'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2') |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
202 CheckDefAndScriptFailure2(['appendbufline(1, 1, {"a": 10})'], 'E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
203 bnum->bufwinid()->win_gotoid() |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
204 appendbufline('', 0, 'numbers') |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
205 getline(1)->assert_equal('numbers') |
24258
8b4159943d9a
patch 8.2.2670: Vim9: error for append(0, text)
Bram Moolenaar <Bram@vim.org>
parents:
24254
diff
changeset
|
206 bwipe! |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
207 enddef |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
208 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
209 def Test_argc() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
210 CheckDefAndScriptFailure2(['argc("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
211 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
212 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
213 def Test_arglistid() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
214 CheckDefAndScriptFailure2(['arglistid("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
215 CheckDefAndScriptFailure2(['arglistid(1, "y")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
216 CheckDefAndScriptFailure2(['arglistid("x", "y")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
217 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
218 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
219 def Test_argv() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
220 CheckDefAndScriptFailure2(['argv("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
221 CheckDefAndScriptFailure2(['argv(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
222 CheckDefAndScriptFailure2(['argv("x", "y")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
223 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
224 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
225 def Test_assert_beeps() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
226 CheckDefAndScriptFailure2(['assert_beeps(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
227 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
228 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
229 def Test_assert_equalfile() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
230 CheckDefAndScriptFailure2(['assert_equalfile(1, "f2")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
231 CheckDefAndScriptFailure2(['assert_equalfile("f1", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
232 CheckDefAndScriptFailure2(['assert_equalfile("f1", "f2", ["a"])'], 'E1013: Argument 3: type mismatch, expected string but got list<string>', 'E1174: String required for argument 3') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
233 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
234 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
235 def Test_assert_exception() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
236 CheckDefAndScriptFailure2(['assert_exception({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
237 CheckDefAndScriptFailure2(['assert_exception("E1:", v:null)'], 'E1013: Argument 2: type mismatch, expected string but got special', 'E1174: String required for argument 2') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
238 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
239 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
240 def Test_assert_fails() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
241 CheckDefAndScriptFailure2(['assert_fails([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
242 CheckDefAndScriptFailure2(['assert_fails("a", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1222: String or List required for argument 2') |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
243 CheckDefAndScriptFailure2(['assert_fails("a", "b", "c", "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
244 CheckDefAndScriptFailure2(['assert_fails("a", "b", "c", 4, 5)'], 'E1013: Argument 5: type mismatch, expected string but got number', 'E1174: String required for argument 5') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
245 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
246 |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
247 def Test_assert_inrange() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
248 CheckDefAndScriptFailure2(['assert_inrange("a", 2, 3)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
249 CheckDefAndScriptFailure2(['assert_inrange(1, "b", 3)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
250 CheckDefAndScriptFailure2(['assert_inrange(1, 2, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 3') |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
251 CheckDefAndScriptFailure2(['assert_inrange(1, 2, 3, 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
252 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
253 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
254 def Test_assert_match() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
255 CheckDefAndScriptFailure2(['assert_match({}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
256 CheckDefAndScriptFailure2(['assert_match("a", 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', '') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
257 CheckDefAndScriptFailure2(['assert_match("a", "b", null)'], 'E1013: Argument 3: type mismatch, expected string but got special', '') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
258 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
259 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
260 def Test_assert_nobeep() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
261 CheckDefAndScriptFailure2(['assert_nobeep(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
262 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
263 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
264 def Test_assert_notmatch() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
265 CheckDefAndScriptFailure2(['assert_notmatch({}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', '') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
266 CheckDefAndScriptFailure2(['assert_notmatch("a", 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', '') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
267 CheckDefAndScriptFailure2(['assert_notmatch("a", "b", null)'], 'E1013: Argument 3: type mismatch, expected string but got special', '') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
268 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
269 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
270 def Test_assert_report() |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
271 CheckDefAndScriptFailure2(['assert_report([1, 2])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
272 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
273 |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
274 def Test_balloon_show() |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
275 CheckGui |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
276 CheckFeature balloon_eval |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
277 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
278 assert_fails('balloon_show(10)', 'E1222:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
279 assert_fails('balloon_show(true)', 'E1222:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
280 |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
281 CheckDefAndScriptFailure2(['balloon_show(1.2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
282 CheckDefAndScriptFailure2(['balloon_show({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1') |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
283 enddef |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
284 |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
285 def Test_balloon_split() |
24248
883d7ceffd97
patch 8.2.2665: test failures
Bram Moolenaar <Bram@vim.org>
parents:
24246
diff
changeset
|
286 CheckFeature balloon_eval_term |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
287 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
288 assert_fails('balloon_split([])', 'E1174:') |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
289 assert_fails('balloon_split(true)', 'E1174:') |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
290 enddef |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
291 |
25806
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
292 def Test_blob2list() |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
293 CheckDefAndScriptFailure2(['blob2list(10)'], 'E1013: Argument 1: type mismatch, expected blob but got number', 'E1238: Blob required for argument 1') |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
294 enddef |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
295 |
24210
083f07f99e20
patch 8.2.2646: Vim9: error for not using string doesn't mentionargument
Bram Moolenaar <Bram@vim.org>
parents:
24118
diff
changeset
|
296 def Test_browse() |
083f07f99e20
patch 8.2.2646: Vim9: error for not using string doesn't mentionargument
Bram Moolenaar <Bram@vim.org>
parents:
24118
diff
changeset
|
297 CheckFeature browse |
083f07f99e20
patch 8.2.2646: Vim9: error for not using string doesn't mentionargument
Bram Moolenaar <Bram@vim.org>
parents:
24118
diff
changeset
|
298 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
299 CheckDefAndScriptFailure2(['browse(2, "title", "dir", "file")'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
300 CheckDefAndScriptFailure2(['browse(true, 2, "dir", "file")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
301 CheckDefAndScriptFailure2(['browse(true, "title", 3, "file")'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
302 CheckDefAndScriptFailure2(['browse(true, "title", "dir", 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') |
24210
083f07f99e20
patch 8.2.2646: Vim9: error for not using string doesn't mentionargument
Bram Moolenaar <Bram@vim.org>
parents:
24118
diff
changeset
|
303 enddef |
083f07f99e20
patch 8.2.2646: Vim9: error for not using string doesn't mentionargument
Bram Moolenaar <Bram@vim.org>
parents:
24118
diff
changeset
|
304 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
305 def Test_browsedir() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
306 if has('browse') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
307 CheckDefAndScriptFailure2(['browsedir({}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
308 CheckDefAndScriptFailure2(['browsedir("a", [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
309 endif |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
310 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
311 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
312 def Test_bufadd() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
313 assert_fails('bufadd([])', 'E1174:') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
314 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
315 |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
316 def Test_bufexists() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
317 assert_fails('bufexists(true)', 'E1220:') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
318 bufexists('')->assert_false() |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
319 enddef |
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
320 |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
321 def Test_buflisted() |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
322 var res: bool = buflisted('asdf') |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
323 assert_equal(false, res) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
324 assert_fails('buflisted(true)', 'E1220:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
325 assert_fails('buflisted([])', 'E1220:') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
326 buflisted('')->assert_false() |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
327 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
328 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
329 def Test_bufload() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
330 assert_fails('bufload([])', 'E1220:') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
331 bufload('')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
332 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
333 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
334 def Test_bufloaded() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
335 assert_fails('bufloaded(true)', 'E1220:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
336 assert_fails('bufloaded([])', 'E1220:') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
337 bufloaded('')->assert_false() |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
338 enddef |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
339 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
340 def Test_bufname() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
341 split SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
342 bufname('%')->assert_equal('SomeFile') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
343 edit OtherFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
344 bufname('#')->assert_equal('SomeFile') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
345 close |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
346 assert_fails('bufname(true)', 'E1220:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
347 assert_fails('bufname([])', 'E1220:') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
348 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
349 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
350 def Test_bufnr() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
351 var buf = bufnr() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
352 bufnr('%')->assert_equal(buf) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
353 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
354 buf = bufnr('Xdummy', true) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
355 buf->assert_notequal(-1) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
356 exe 'bwipe! ' .. buf |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
357 CheckDefAndScriptFailure2(['bufnr([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
358 CheckDefAndScriptFailure2(['bufnr(1, 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
359 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
360 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
361 def Test_bufwinid() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
362 var origwin = win_getid() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
363 below split SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
364 var SomeFileID = win_getid() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
365 below split OtherFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
366 below split SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
367 bufwinid('SomeFile')->assert_equal(SomeFileID) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
368 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
369 win_gotoid(origwin) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
370 only |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
371 bwipe SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
372 bwipe OtherFile |
24246
35603c7991d7
patch 8.2.2664: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24222
diff
changeset
|
373 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
374 assert_fails('bufwinid(true)', 'E1220:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
375 assert_fails('bufwinid([])', 'E1220:') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
376 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
377 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
378 def Test_bufwinnr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
379 assert_fails('bufwinnr(true)', 'E1220:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
380 assert_fails('bufwinnr([])', 'E1220:') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
381 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
382 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
383 def Test_byte2line() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
384 CheckDefAndScriptFailure2(['byte2line("1")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
385 CheckDefAndScriptFailure2(['byte2line([])'], 'E1013: Argument 1: type mismatch, expected number but got list<unknown>', 'E1210: Number required for argument 1') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
386 byte2line(0)->assert_equal(-1) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
387 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
388 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
389 def Test_byteidx() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
390 CheckDefAndScriptFailure2(['byteidx(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
391 CheckDefAndScriptFailure2(['byteidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
392 byteidx('', 0)->assert_equal(0) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
393 byteidx('', 1)->assert_equal(-1) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
394 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
395 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
396 def Test_byteidxcomp() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
397 CheckDefAndScriptFailure2(['byteidxcomp(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
398 CheckDefAndScriptFailure2(['byteidxcomp("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
399 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
400 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
401 def Test_call_call() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
402 var l = [3, 2, 1] |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
403 call('reverse', [l]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
404 l->assert_equal([1, 2, 3]) |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
405 CheckDefAndScriptFailure2(['call("reverse", 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
406 CheckDefAndScriptFailure2(['call("reverse", [2], [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
407 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
408 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
409 def Test_ch_canread() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
410 if !has('channel') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
411 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
412 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
413 CheckDefAndScriptFailure2(['ch_canread(10)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
414 endif |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
415 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
416 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
417 def Test_ch_close() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
418 if !has('channel') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
419 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
420 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
421 CheckDefAndScriptFailure2(['ch_close("c")'], 'E1013: Argument 1: type mismatch, expected channel but got string', 'E1217: Channel or Job required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
422 endif |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
423 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
424 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
425 def Test_ch_close_in() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
426 if !has('channel') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
427 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
428 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
429 CheckDefAndScriptFailure2(['ch_close_in(true)'], 'E1013: Argument 1: type mismatch, expected channel but got bool', 'E1217: Channel or Job required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
430 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
431 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
432 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
433 def Test_ch_evalexpr() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
434 if !has('channel') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
435 CheckFeature channel |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
436 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
437 CheckDefAndScriptFailure2(['ch_evalexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
438 CheckDefAndScriptFailure2(['ch_evalexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
439 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
440 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
441 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
442 def Test_ch_evalraw() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
443 if !has('channel') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
444 CheckFeature channel |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
445 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
446 CheckDefAndScriptFailure2(['ch_evalraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
447 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
448 CheckDefAndScriptFailure2(['ch_evalraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
449 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
450 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
451 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
452 def Test_ch_getbufnr() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
453 if !has('channel') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
454 CheckFeature channel |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
455 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
456 CheckDefAndScriptFailure2(['ch_getbufnr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
457 CheckDefAndScriptFailure2(['ch_getbufnr(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
458 # test empty string argument for ch_getbufnr() |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
459 var job: job = job_start(&shell) |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
460 job->ch_getbufnr('')->assert_equal(-1) |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
461 job_stop(job) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
462 endif |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
463 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
464 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
465 def Test_ch_getjob() |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
466 if !has('channel') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
467 CheckFeature channel |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
468 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
469 CheckDefAndScriptFailure2(['ch_getjob(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
470 CheckDefAndScriptFailure2(['ch_getjob({"a": 10})'], 'E1013: Argument 1: type mismatch, expected channel but got dict<number>', 'E1217: Channel or Job required for argument 1') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
471 assert_equal(0, ch_getjob(test_null_channel())) |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
472 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
473 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
474 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
475 def Test_ch_info() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
476 if !has('channel') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
477 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
478 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
479 CheckDefAndScriptFailure2(['ch_info([1])'], 'E1013: Argument 1: type mismatch, expected channel but got list<number>', 'E1217: Channel or Job required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
480 endif |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
481 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
482 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
483 def Test_ch_log() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
484 if !has('channel') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
485 CheckFeature channel |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
486 else |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
487 CheckDefAndScriptFailure2(['ch_log(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
488 CheckDefAndScriptFailure2(['ch_log("a", 1)'], 'E1013: Argument 2: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 2') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
489 endif |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
490 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
491 |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
492 def Test_ch_logfile() |
24349
21c72f782ae1
patch 8.2.2715: Vim9: tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
24258
diff
changeset
|
493 if !has('channel') |
21c72f782ae1
patch 8.2.2715: Vim9: tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
24258
diff
changeset
|
494 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
495 else |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
496 assert_fails('ch_logfile(true)', 'E1174:') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
497 assert_fails('ch_logfile("foo", true)', 'E1174:') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
498 ch_logfile('', '')->assert_equal(0) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
499 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
500 CheckDefAndScriptFailure2(['ch_logfile(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
501 CheckDefAndScriptFailure2(['ch_logfile("a", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1174: String required for argument 2') |
24349
21c72f782ae1
patch 8.2.2715: Vim9: tests fail without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
24258
diff
changeset
|
502 endif |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
503 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
504 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
505 def Test_ch_open() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
506 if !has('channel') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
507 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
508 else |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
509 CheckDefAndScriptFailure2(['ch_open({"a": 10}, "a")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
510 CheckDefAndScriptFailure2(['ch_open("a", [1])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
511 CheckDefExecAndScriptFailure(['ch_open("")'], 'E475: Invalid argument') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
512 endif |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
513 enddef |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
514 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
515 def Test_ch_read() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
516 if !has('channel') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
517 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
518 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
519 CheckDefAndScriptFailure2(['ch_read(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
520 CheckDefAndScriptFailure2(['ch_read(test_null_channel(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
521 endif |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
522 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
523 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
524 def Test_ch_readblob() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
525 if !has('channel') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
526 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
527 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
528 CheckDefAndScriptFailure2(['ch_readblob(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
529 CheckDefAndScriptFailure2(['ch_readblob(test_null_channel(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
530 endif |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
531 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
532 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
533 def Test_ch_readraw() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
534 if !has('channel') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
535 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
536 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
537 CheckDefAndScriptFailure2(['ch_readraw(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
538 CheckDefAndScriptFailure2(['ch_readraw(test_null_channel(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
539 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
540 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
541 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
542 def Test_ch_sendexpr() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
543 if !has('channel') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
544 CheckFeature channel |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
545 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
546 CheckDefAndScriptFailure2(['ch_sendexpr(1, "a")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
547 CheckDefAndScriptFailure2(['ch_sendexpr(test_null_channel(), 1, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
548 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
549 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
550 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
551 def Test_ch_sendraw() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
552 if !has('channel') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
553 CheckFeature channel |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
554 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
555 CheckDefAndScriptFailure2(['ch_sendraw(1, "")'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
556 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1221: String or Blob required for argument 2') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
557 CheckDefAndScriptFailure2(['ch_sendraw(test_null_channel(), "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
558 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
559 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
560 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
561 def Test_ch_setoptions() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
562 if !has('channel') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
563 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
564 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
565 CheckDefAndScriptFailure2(['ch_setoptions(1, {})'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
566 CheckDefAndScriptFailure2(['ch_setoptions(test_null_channel(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
567 endif |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
568 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
569 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
570 def Test_ch_status() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
571 if !has('channel') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
572 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
573 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
574 CheckDefAndScriptFailure2(['ch_status(1)'], 'E1013: Argument 1: type mismatch, expected channel but got number', 'E1217: Channel or Job required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
575 CheckDefAndScriptFailure2(['ch_status(test_null_channel(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
576 endif |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
577 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
578 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
579 def Test_char2nr() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
580 char2nr('あ', true)->assert_equal(12354) |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
581 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
582 assert_fails('char2nr(true)', 'E1174:') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
583 CheckDefAndScriptFailure2(['char2nr(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25292
eaf013720ec8
patch 8.2.3183: duplicate error numbers
Bram Moolenaar <Bram@vim.org>
parents:
25290
diff
changeset
|
584 CheckDefAndScriptFailure2(['char2nr("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
585 assert_equal(97, char2nr('a', 1)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
586 assert_equal(97, char2nr('a', 0)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
587 assert_equal(97, char2nr('a', true)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
588 assert_equal(97, char2nr('a', false)) |
25806
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
589 char2nr('')->assert_equal(0) |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
590 enddef |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
591 |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
592 def Test_charclass() |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
593 assert_fails('charclass(true)', 'E1174:') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
594 charclass('')->assert_equal(0) |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
595 enddef |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
596 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
597 def Test_charcol() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
598 CheckDefAndScriptFailure2(['charcol(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
599 CheckDefAndScriptFailure2(['charcol({a: 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
600 CheckDefExecAndScriptFailure(['charcol("")'], 'E1209: Invalid value for a line number') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
601 new |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
602 setline(1, ['abcdefgh']) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
603 cursor(1, 4) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
604 assert_equal(4, charcol('.')) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
605 assert_equal(9, charcol([1, '$'])) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
606 assert_equal(0, charcol([10, '$'])) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
607 bw! |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
608 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
609 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
610 def Test_charidx() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
611 CheckDefAndScriptFailure2(['charidx(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
612 CheckDefAndScriptFailure2(['charidx("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
613 CheckDefAndScriptFailure2(['charidx("a", 1, "")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
614 charidx('', 0)->assert_equal(-1) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
615 charidx('', 1)->assert_equal(-1) |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
616 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
617 |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
618 def Test_chdir() |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
619 assert_fails('chdir(true)', 'E1174:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
620 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
621 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
622 def Test_cindent() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
623 CheckDefAndScriptFailure2(['cindent([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
624 CheckDefAndScriptFailure2(['cindent(null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
625 CheckDefExecAndScriptFailure(['cindent("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
626 assert_equal(-1, cindent(0)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
627 assert_equal(0, cindent('.')) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
628 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
629 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
630 def Test_clearmatches() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
631 CheckDefAndScriptFailure2(['clearmatches("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
632 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
633 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
634 def Test_col() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
635 new |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
636 setline(1, 'abcdefgh') |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
637 cursor(1, 4) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
638 assert_equal(4, col('.')) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
639 col([1, '$'])->assert_equal(9) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
640 assert_equal(0, col([10, '$'])) |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
641 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
642 assert_fails('col(true)', 'E1222:') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
643 |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
644 CheckDefAndScriptFailure2(['col(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
645 CheckDefAndScriptFailure2(['col({a: 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
646 CheckDefAndScriptFailure2(['col(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1222: String or List required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
647 CheckDefExecAndScriptFailure(['col("")'], 'E1209: Invalid value for a line number') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
648 bw! |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
649 enddef |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
650 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
651 def Test_complete() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
652 CheckDefAndScriptFailure2(['complete("1", [])'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
653 CheckDefAndScriptFailure2(['complete(1, {})'], 'E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
654 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
655 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
656 def Test_complete_add() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
657 CheckDefAndScriptFailure2(['complete_add([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1223: String or Dictionary required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
658 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
659 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
660 def Test_complete_info() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
661 CheckDefAndScriptFailure2(['complete_info("")'], 'E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
662 CheckDefAndScriptFailure2(['complete_info({})'], 'E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1211: List required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
663 assert_equal({'pum_visible': 0, 'mode': '', 'selected': -1, 'items': []}, complete_info()) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
664 assert_equal({'mode': '', 'items': []}, complete_info(['mode', 'items'])) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
665 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
666 |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
667 def Test_confirm() |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
668 if !has('dialog_con') && !has('dialog_gui') |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
669 CheckFeature dialog_con |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
670 endif |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
671 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
672 assert_fails('confirm(true)', 'E1174:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
673 assert_fails('confirm("yes", true)', 'E1174:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
674 assert_fails('confirm("yes", "maybe", 2, true)', 'E1174:') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
675 CheckDefAndScriptFailure2(['confirm(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
676 CheckDefAndScriptFailure2(['confirm("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
677 CheckDefAndScriptFailure2(['confirm("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
678 CheckDefAndScriptFailure2(['confirm("a", "b", 3, 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
679 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
680 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
681 def Test_copy_return_type() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
682 var l = copy([1, 2, 3]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
683 var res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
684 for n in l |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
685 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
686 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
687 res->assert_equal(6) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
688 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
689 var dl = deepcopy([1, 2, 3]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
690 res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
691 for n in dl |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
692 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
693 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
694 res->assert_equal(6) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
695 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
696 dl = deepcopy([1, 2, 3], true) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
697 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
698 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
699 def Test_count() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
700 count('ABC ABC ABC', 'b', true)->assert_equal(3) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
701 count('ABC ABC ABC', 'b', false)->assert_equal(0) |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
702 CheckDefAndScriptFailure2(['count(10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1225: String, List or Dictionary required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
703 CheckDefAndScriptFailure2(['count("a", [1], 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
704 CheckDefAndScriptFailure2(['count("a", [1], 0, "b")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
705 count([1, 2, 2, 3], 2)->assert_equal(2) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
706 count([1, 2, 2, 3], 2, false, 2)->assert_equal(1) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
707 count({a: 1.1, b: 2.2, c: 1.1}, 1.1)->assert_equal(2) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
708 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
709 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
710 def Test_cscope_connection() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
711 CheckFeature cscope |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
712 assert_equal(0, cscope_connection()) |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
713 CheckDefAndScriptFailure2(['cscope_connection("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
714 CheckDefAndScriptFailure2(['cscope_connection(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
715 CheckDefAndScriptFailure2(['cscope_connection(1, "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
716 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
717 |
23276
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
718 def Test_cursor() |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
719 new |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
720 setline(1, range(4)) |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
721 cursor(2, 1) |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
722 assert_equal(2, getcurpos()[1]) |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
723 cursor('$', 1) |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
724 assert_equal(4, getcurpos()[1]) |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
725 cursor([2, 1]) |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
726 assert_equal(2, getcurpos()[1]) |
23276
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
727 |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
728 var lines =<< trim END |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
729 cursor('2', 1) |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
730 END |
25216
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
731 CheckDefExecAndScriptFailure(lines, 'E1209:') |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
732 CheckDefAndScriptFailure2(['cursor(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
733 CheckDefAndScriptFailure2(['cursor(1, "2")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
734 CheckDefAndScriptFailure2(['cursor(1, 2, "3")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
735 CheckDefExecAndScriptFailure(['cursor("", 2)'], 'E1209: Invalid value for a line number') |
23276
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
736 enddef |
b79cdad3ea2e
patch 8.2.2184: Vim9: no error when using "2" for a line number
Bram Moolenaar <Bram@vim.org>
parents:
23175
diff
changeset
|
737 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
738 def Test_debugbreak() |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
739 CheckMSWindows |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
740 CheckDefAndScriptFailure2(['debugbreak("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
741 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
742 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
743 def Test_deepcopy() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
744 CheckDefAndScriptFailure2(['deepcopy({}, 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
745 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
746 |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
747 def Test_delete() |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
748 var res: bool = delete('doesnotexist') |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
749 assert_equal(true, res) |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
750 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
751 CheckDefAndScriptFailure2(['delete(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
752 CheckDefAndScriptFailure2(['delete("a", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
753 CheckDefExecAndScriptFailure(['delete("")'], 'E474: Invalid argument') |
23654
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
754 enddef |
1974c5122506
patch 8.2.2369: Vim9: functions return true/false but can't be used as bool
Bram Moolenaar <Bram@vim.org>
parents:
23646
diff
changeset
|
755 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
756 def Test_deletebufline() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
757 CheckDefAndScriptFailure2(['deletebufline([], 2)'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
758 CheckDefAndScriptFailure2(['deletebufline("a", [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
759 CheckDefAndScriptFailure2(['deletebufline("a", 2, 0z10)'], 'E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
760 new |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
761 setline(1, ['one', 'two']) |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
762 deletebufline('', 1) |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
763 getline(1, '$')->assert_equal(['two']) |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
764 bwipe! |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
765 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
766 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
767 def Test_diff_filler() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
768 CheckDefAndScriptFailure2(['diff_filler([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
769 CheckDefAndScriptFailure2(['diff_filler(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
770 CheckDefExecAndScriptFailure(['diff_filler("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
771 assert_equal(0, diff_filler(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
772 assert_equal(0, diff_filler('.')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
773 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
774 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
775 def Test_diff_hlID() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
776 CheckDefAndScriptFailure2(['diff_hlID(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
777 CheckDefAndScriptFailure2(['diff_hlID(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
778 CheckDefExecAndScriptFailure(['diff_hlID("", 10)'], 'E1209: Invalid value for a line number') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
779 enddef |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
780 |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
781 def Test_digraph_get() |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
782 CheckDefAndScriptFailure2(['digraph_get(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
783 CheckDefExecAndScriptFailure(['digraph_get("")'], 'E1214: Digraph must be just two characters') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
784 enddef |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
785 |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
786 def Test_digraph_getlist() |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
787 CheckDefAndScriptFailure2(['digraph_getlist(10)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
788 CheckDefAndScriptFailure2(['digraph_getlist("")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
789 enddef |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
790 |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
791 def Test_digraph_set() |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
792 CheckDefAndScriptFailure2(['digraph_set(10, "a")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
793 CheckDefAndScriptFailure2(['digraph_set("ab", 0z10)'], 'E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
794 CheckDefExecAndScriptFailure(['digraph_set("", "a")'], 'E1214: Digraph must be just two characters') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
795 enddef |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
796 |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
797 def Test_digraph_setlist() |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
798 CheckDefAndScriptFailure2(['digraph_setlist("a")'], 'E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1216: digraph_setlist() argument must be a list of lists with two items') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
799 CheckDefAndScriptFailure2(['digraph_setlist({})'], 'E1013: Argument 1: type mismatch, expected list<string> but got dict<unknown>', 'E1216: digraph_setlist() argument must be a list of lists with two items') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
800 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
801 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
802 def Test_echoraw() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
803 CheckDefAndScriptFailure2(['echoraw(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
804 CheckDefAndScriptFailure2(['echoraw(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
805 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
806 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
807 def Test_escape() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
808 CheckDefAndScriptFailure2(['escape(10, " ")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
809 CheckDefAndScriptFailure2(['escape(true, false)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
810 CheckDefAndScriptFailure2(['escape("a", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
811 assert_equal('a\:b', escape("a:b", ":")) |
25806
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
812 escape('abc', '')->assert_equal('abc') |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
813 escape('', ':')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
814 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
815 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
816 def Test_eval() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
817 CheckDefAndScriptFailure2(['eval(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
818 CheckDefAndScriptFailure2(['eval(null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
819 CheckDefExecAndScriptFailure(['eval("")'], 'E15: Invalid expression') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
820 assert_equal(2, eval('1 + 1')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
821 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
822 |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
823 def Test_executable() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
824 assert_false(executable("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
825 assert_false(executable(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
826 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
827 CheckDefExecFailure(['echo executable(123)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
828 CheckDefExecFailure(['echo executable(true)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
829 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
830 |
24972
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
831 def Test_execute() |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
832 var res = execute("echo 'hello'") |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
833 assert_equal("\nhello", res) |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
834 res = execute(["echo 'here'", "echo 'there'"]) |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
835 assert_equal("\nhere\nthere", res) |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
836 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
837 CheckDefAndScriptFailure2(['execute(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1222: String or List required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
838 CheckDefFailure(['execute([123])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') |
24972
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
839 CheckDefExecFailure(['echo execute(["xx", 123])'], 'E492') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
840 CheckDefAndScriptFailure2(['execute("xx", 123)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
24972
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
841 enddef |
b11f38f77006
patch 8.2.3023: Vim9: arguments for execute() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24812
diff
changeset
|
842 |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
843 def Test_exepath() |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
844 CheckDefExecFailure(['echo exepath(true)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
845 CheckDefExecFailure(['echo exepath(v:null)'], 'E1013:') |
24222
a2e6029d354e
patch 8.2.2652: Vim9: can use command modifier without an effect
Bram Moolenaar <Bram@vim.org>
parents:
24210
diff
changeset
|
846 CheckDefExecFailure(['echo exepath("")'], 'E1175:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
847 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
848 |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
849 command DoSomeCommand let g:didSomeCommand = 4 |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
850 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
851 def Test_exists() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
852 CheckDefAndScriptFailure2(['exists(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
853 call assert_equal(1, exists('&tabstop')) |
25479
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
854 |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
855 var lines =<< trim END |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
856 if exists('+newoption') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
857 if &newoption == 'ok' |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
858 endif |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
859 endif |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
860 END |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
861 CheckDefFailure(lines, 'E113:') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
862 CheckScriptSuccess(lines) |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
863 enddef |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
864 |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
865 def Test_exists_compiled() |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
866 call assert_equal(1, exists_compiled('&tabstop')) |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
867 CheckDefAndScriptFailure2(['exists_compiled(10)'], 'E1232:', 'E1233:') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
868 CheckDefAndScriptFailure2(['exists_compiled(v:progname)'], 'E1232:', 'E1233:') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
869 |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
870 if exists_compiled('+newoption') |
25479
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
871 if &newoption == 'ok' |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
872 endif |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
873 endif |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
874 if exists_compiled('&newoption') |
25479
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
875 if &newoption == 'ok' |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
876 endif |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
877 endif |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
878 if exists_compiled('+tabstop') |
25479
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
879 assert_equal(8, &tabstop) |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
880 else |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
881 assert_report('tabstop option not existing?') |
fbdfa533001c
patch 8.2.3276: Vim9: exists() can only be evaluated at runtime
Bram Moolenaar <Bram@vim.org>
parents:
25449
diff
changeset
|
882 endif |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
883 if exists_compiled('&tabstop') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
884 assert_equal(8, &tabstop) |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
885 else |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
886 assert_report('tabstop option not existing?') |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
887 endif |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
888 |
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
889 if exists_compiled(':DoSomeCommand') >= 2 |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
890 DoSomeCommand |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
891 endif |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
892 assert_equal(4, g:didSomeCommand) |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
893 if exists_compiled(':NoSuchCommand') >= 2 |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
894 NoSuchCommand |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
895 endif |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
896 |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
897 var found = false |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
898 if exists_compiled('*CheckScriptSuccess') |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
899 found = true |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
900 endif |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
901 assert_true(found) |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
902 if exists_compiled('*NoSuchFunction') |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
903 NoSuchFunction() |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
904 endif |
25555
446f478d6fb1
patch 8.2.3314: behavior of exists() in a :def function is unpredictable
Bram Moolenaar <Bram@vim.org>
parents:
25525
diff
changeset
|
905 if exists_compiled('*no_such_function') |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
906 no_such_function() |
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
907 endif |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
908 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
909 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
910 def Test_expand() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
911 split SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
912 expand('%', true, true)->assert_equal(['SomeFile']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
913 close |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
914 CheckDefAndScriptFailure2(['expand(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
915 CheckDefAndScriptFailure2(['expand("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
916 CheckDefAndScriptFailure2(['expand("a", true, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
917 expand('')->assert_equal('') |
26230
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
918 |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
919 var caught = false |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
920 try |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
921 echo expand("<sfile>") |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
922 catch /E1245:/ |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
923 caught = true |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
924 endtry |
8b8470b511f5
patch 8.2.3646: using <sfile> in a function gives an unexpected result
Bram Moolenaar <Bram@vim.org>
parents:
26145
diff
changeset
|
925 assert_true(caught) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
926 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
927 |
24584
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
928 def Test_expandcmd() |
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
929 $FOO = "blue" |
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
930 assert_equal("blue sky", expandcmd("`=$FOO .. ' sky'`")) |
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
931 |
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
932 assert_equal("yes", expandcmd("`={a: 'yes'}['a']`")) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
933 expandcmd('')->assert_equal('') |
24584
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
934 enddef |
abc4793f48a3
patch 8.2.2831: Vim9: expandcmd() not tested
Bram Moolenaar <Bram@vim.org>
parents:
24484
diff
changeset
|
935 |
22766
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
936 def Test_extend_arg_types() |
23800
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
937 g:number_one = 1 |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
938 g:string_keep = 'keep' |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
939 var lines =<< trim END |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
940 assert_equal([1, 2, 3], extend([1, 2], [3])) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
941 assert_equal([3, 1, 2], extend([1, 2], [3], 0)) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
942 assert_equal([1, 3, 2], extend([1, 2], [3], 1)) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
943 assert_equal([1, 3, 2], extend([1, 2], [3], g:number_one)) |
22766
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
944 |
23800
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
945 assert_equal({a: 1, b: 2, c: 3}, extend({a: 1, b: 2}, {c: 3})) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
946 assert_equal({a: 1, b: 4}, extend({a: 1, b: 2}, {b: 4})) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
947 assert_equal({a: 1, b: 2}, extend({a: 1, b: 2}, {b: 4}, 'keep')) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
948 assert_equal({a: 1, b: 2}, extend({a: 1, b: 2}, {b: 4}, g:string_keep)) |
22898
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
949 |
23800
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
950 var res: list<dict<any>> |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
951 extend(res, mapnew([1, 2], (_, v) => ({}))) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
952 assert_equal([{}, {}], res) |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
953 END |
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
954 CheckDefAndScriptSuccess(lines) |
22766
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
955 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
956 CheckDefAndScriptFailure2(['extend("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E712: Argument of extend() must be a List or Dictionary') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
957 CheckDefAndScriptFailure2(['extend([1, 2], 3)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number', 'E712: Argument of extend() must be a List or Dictionary') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
958 CheckDefAndScriptFailure2(['extend([1, 2], ["x"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
22766
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
959 CheckDefFailure(['extend([1, 2], [3], "x")'], 'E1013: Argument 3: type mismatch, expected number but got string') |
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
960 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
961 CheckDefFailure(['extend({a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<number> but got number') |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
962 CheckDefFailure(['extend({a: 1}, {b: "x"})'], 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>') |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
963 CheckDefFailure(['extend({a: 1}, {b: 2}, 1)'], 'E1013: Argument 3: type mismatch, expected string but got number') |
23640
8dcb2255ff9a
patch 8.2.2362: Vim9: check of builtin function argument type is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
23604
diff
changeset
|
964 |
8dcb2255ff9a
patch 8.2.2362: Vim9: check of builtin function argument type is incomplete
Bram Moolenaar <Bram@vim.org>
parents:
23604
diff
changeset
|
965 CheckDefFailure(['extend([1], ["b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
23691
0d56d4f107d8
patch 8.2.2387: runtime type check does not mention argument index
Bram Moolenaar <Bram@vim.org>
parents:
23654
diff
changeset
|
966 CheckDefExecFailure(['extend([1], ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any>') |
25326
cfbf40f749b0
patch 8.2.3200: Vim9: hard to guess where a type error is given
Bram Moolenaar <Bram@vim.org>
parents:
25314
diff
changeset
|
967 |
cfbf40f749b0
patch 8.2.3200: Vim9: hard to guess where a type error is given
Bram Moolenaar <Bram@vim.org>
parents:
25314
diff
changeset
|
968 CheckScriptFailure(['vim9script', 'extend([1], ["b", 1])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<any> in extend()') |
22766
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
969 enddef |
a7082e865ffd
patch 8.2.1931: Vim9: arguments of extend() not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
22679
diff
changeset
|
970 |
23458
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
971 func g:ExtendDict(d) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
972 call extend(a:d, #{xx: 'x'}) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
973 endfunc |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
974 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
975 def Test_extend_dict_item_type() |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
976 var lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
977 var d: dict<number> = {a: 1} |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
978 extend(d, {b: 2}) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
979 END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
980 CheckDefAndScriptSuccess(lines) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
981 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
982 lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
983 var d: dict<number> = {a: 1} |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
984 extend(d, {b: 'x'}) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
985 END |
23800
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
986 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<number> but got dict<string>', 2) |
23458
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
987 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
988 lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
989 var d: dict<number> = {a: 1} |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
990 g:ExtendDict(d) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
991 END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
992 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
993 CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) |
25571
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
994 |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
995 lines =<< trim END |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
996 var d: dict<bool> |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
997 extend(d, {b: 0}) |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
998 END |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
999 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected dict<bool> but got dict<number>', 2) |
23458
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1000 enddef |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1001 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1002 func g:ExtendList(l) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1003 call extend(a:l, ['x']) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1004 endfunc |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1005 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1006 def Test_extend_list_item_type() |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1007 var lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1008 var l: list<number> = [1] |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1009 extend(l, [2]) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1010 END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1011 CheckDefAndScriptSuccess(lines) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1012 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1013 lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1014 var l: list<number> = [1] |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1015 extend(l, ['x']) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1016 END |
23800
57f0e3fd7c05
patch 8.2.2441: Vim9: extend() does not give an error for a type mismatch
Bram Moolenaar <Bram@vim.org>
parents:
23788
diff
changeset
|
1017 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>', 2) |
23458
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1018 |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1019 lines =<< trim END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1020 var l: list<number> = [1] |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1021 g:ExtendList(l) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1022 END |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1023 CheckDefExecFailure(lines, 'E1012: Type mismatch; expected number but got string', 0) |
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1024 CheckScriptFailure(['vim9script'] + lines, 'E1012:', 1) |
25571
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1025 |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1026 lines =<< trim END |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1027 var l: list<bool> |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1028 extend(l, [0]) |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1029 END |
951f3e04e238
patch 8.2.3322: Vim9: checking type of dict does not check member type
Bram Moolenaar <Bram@vim.org>
parents:
25555
diff
changeset
|
1030 CheckDefAndScriptFailure(lines, 'E1013: Argument 2: type mismatch, expected list<bool> but got list<number>', 2) |
23458
d2b1269c2c68
patch 8.2.2272: Vim9: extend() can violate the type of a variable
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
1031 enddef |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1032 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1033 def Test_extend_return_type() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1034 var l = extend([1, 2], [3]) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1035 var res = 0 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1036 for n in l |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1037 res += n |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1038 endfor |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1039 res->assert_equal(6) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1040 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1041 |
24118
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1042 def Test_extend_with_error_function() |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1043 var lines =<< trim END |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1044 vim9script |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1045 def F() |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1046 { |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1047 var m = 10 |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1048 } |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1049 echo m |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1050 enddef |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1051 |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1052 def Test() |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1053 var d: dict<any> = {} |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1054 d->extend({A: 10, Func: function('F', [])}) |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1055 enddef |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1056 |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1057 Test() |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1058 END |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1059 CheckScriptFailure(lines, 'E1001: Variable not found: m') |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1060 enddef |
1027495445bc
patch 8.2.2600: Vim9: crash when putting an unknown type in a dictionary
Bram Moolenaar <Bram@vim.org>
parents:
24083
diff
changeset
|
1061 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1062 def Test_extendnew() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1063 assert_equal([1, 2, 'a'], extendnew([1, 2], ['a'])) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1064 assert_equal({one: 1, two: 'a'}, extendnew({one: 1}, {two: 'a'})) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1065 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1066 CheckDefAndScriptFailure2(['extendnew({a: 1}, 42)'], 'E1013: Argument 2: type mismatch, expected dict<number> but got number', 'E712: Argument of extendnew() must be a List or Dictionary') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1067 CheckDefAndScriptFailure2(['extendnew({a: 1}, [42])'], 'E1013: Argument 2: type mismatch, expected dict<number> but got list<number>', 'E712: Argument of extendnew() must be a List or Dictionary') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1068 CheckDefAndScriptFailure2(['extendnew([1, 2], "x")'], 'E1013: Argument 2: type mismatch, expected list<number> but got string', 'E712: Argument of extendnew() must be a List or Dictionary') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1069 CheckDefAndScriptFailure2(['extendnew([1, 2], {x: 1})'], 'E1013: Argument 2: type mismatch, expected list<number> but got dict<number>', 'E712: Argument of extendnew() must be a List or Dictionary') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1070 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1071 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1072 def Test_feedkeys() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1073 CheckDefAndScriptFailure2(['feedkeys(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1074 CheckDefAndScriptFailure2(['feedkeys("x", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1075 CheckDefAndScriptFailure2(['feedkeys([], {})'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1076 g:TestVar = 1 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1077 feedkeys(":g:TestVar = 789\n", 'xt') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1078 assert_equal(789, g:TestVar) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1079 unlet g:TestVar |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1080 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1081 |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1082 def Test_filereadable() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1083 assert_false(filereadable("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1084 assert_false(filereadable(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1085 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1086 CheckDefExecFailure(['echo filereadable(123)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1087 CheckDefExecFailure(['echo filereadable(true)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1088 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1089 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1090 def Test_filewritable() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1091 assert_false(filewritable("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1092 assert_false(filewritable(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1093 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1094 CheckDefExecFailure(['echo filewritable(123)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1095 CheckDefExecFailure(['echo filewritable(true)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1096 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1097 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1098 def Test_finddir() |
25731
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1099 mkdir('Xtestdir') |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1100 finddir('Xtestdir', '**', -1)->assert_equal(['Xtestdir']) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1101 var lines =<< trim END |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1102 var l: list<string> = finddir('nothing', '*;', -1) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1103 END |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1104 CheckDefAndScriptSuccess(lines) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1105 delete('Xtestdir', 'rf') |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1106 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1107 CheckDefAndScriptFailure2(['finddir(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1108 CheckDefAndScriptFailure2(['finddir(v:null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1') |
24222
a2e6029d354e
patch 8.2.2652: Vim9: can use command modifier without an effect
Bram Moolenaar <Bram@vim.org>
parents:
24210
diff
changeset
|
1109 CheckDefExecFailure(['echo finddir("")'], 'E1175:') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1110 CheckDefAndScriptFailure2(['finddir("a", [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1111 CheckDefAndScriptFailure2(['finddir("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1112 finddir('abc', '')->assert_equal('') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1113 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1114 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1115 def Test_findfile() |
25731
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1116 findfile('runtest.vim', '**', -1)->assert_equal(['runtest.vim']) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1117 var lines =<< trim END |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1118 var l: list<string> = findfile('nothing', '*;', -1) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1119 END |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1120 CheckDefAndScriptSuccess(lines) |
f35efe44dacd
patch 8.2.3401: Vim9: cannot use negative count with finddir() and findfile()
Bram Moolenaar <Bram@vim.org>
parents:
25692
diff
changeset
|
1121 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1122 CheckDefExecFailure(['findfile(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1123 CheckDefExecFailure(['findfile(v:null)'], 'E1013: Argument 1: type mismatch, expected string but got special') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1124 CheckDefExecFailure(['findfile("")'], 'E1175:') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1125 CheckDefAndScriptFailure2(['findfile("a", [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1126 CheckDefAndScriptFailure2(['findfile("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1127 findfile('abc', '')->assert_equal('') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1128 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1129 |
25784
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1130 def Test_flatten() |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1131 var lines =<< trim END |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1132 echo flatten([1, 2, 3]) |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1133 END |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1134 CheckDefAndScriptFailure(lines, 'E1158:') |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1135 enddef |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1136 |
23816
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1137 def Test_flattennew() |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1138 var lines =<< trim END |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1139 var l = [1, [2, [3, 4]], 5] |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1140 call assert_equal([1, 2, 3, 4, 5], flattennew(l)) |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1141 call assert_equal([1, [2, [3, 4]], 5], l) |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1142 |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1143 call assert_equal([1, 2, [3, 4], 5], flattennew(l, 1)) |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1144 call assert_equal([1, [2, [3, 4]], 5], l) |
25784
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1145 |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1146 var ll: list<list<string>> = [['a', 'b', 'c']] |
8dfcee931c6c
patch 8.2.3427: double free when list is copied
Bram Moolenaar <Bram@vim.org>
parents:
25759
diff
changeset
|
1147 assert_equal(['a', 'b', 'c'], ll->flattennew()) |
23816
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1148 END |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1149 CheckDefAndScriptSuccess(lines) |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1150 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1151 CheckDefAndScriptFailure2(['flattennew({})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1152 CheckDefAndScriptFailure2(['flattennew([], "1")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
23816
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1153 enddef |
525c9e218c69
patch 8.2.2449: Vim9: flatten() always changes the list type
Bram Moolenaar <Bram@vim.org>
parents:
23804
diff
changeset
|
1154 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1155 " Test for float functions argument type |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1156 def Test_float_funcs_args() |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1157 CheckFeature float |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1158 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1159 # acos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1160 CheckDefAndScriptFailure2(['acos("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1161 # asin() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1162 CheckDefAndScriptFailure2(['asin("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1163 # atan() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1164 CheckDefAndScriptFailure2(['atan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1165 # atan2() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1166 CheckDefAndScriptFailure2(['atan2("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1167 CheckDefAndScriptFailure2(['atan2(1.2, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1168 CheckDefAndScriptFailure2(['atan2(1.2)'], 'E119:', 'E119:') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1169 # ceil() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1170 CheckDefAndScriptFailure2(['ceil("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1171 # cos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1172 CheckDefAndScriptFailure2(['cos("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1173 # cosh() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1174 CheckDefAndScriptFailure2(['cosh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1175 # exp() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1176 CheckDefAndScriptFailure2(['exp("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1177 # float2nr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1178 CheckDefAndScriptFailure2(['float2nr("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1179 # floor() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1180 CheckDefAndScriptFailure2(['floor("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1181 # fmod() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1182 CheckDefAndScriptFailure2(['fmod(1.1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1183 CheckDefAndScriptFailure2(['fmod("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1184 CheckDefAndScriptFailure2(['fmod(1.1)'], 'E119:', 'E119:') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1185 # isinf() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1186 CheckDefAndScriptFailure2(['isinf("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1187 # isnan() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1188 CheckDefAndScriptFailure2(['isnan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1189 # log() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1190 CheckDefAndScriptFailure2(['log("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1191 # log10() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1192 CheckDefAndScriptFailure2(['log10("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1193 # pow() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1194 CheckDefAndScriptFailure2(['pow("a", 1.1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1195 CheckDefAndScriptFailure2(['pow(1.1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1196 CheckDefAndScriptFailure2(['pow(1.1)'], 'E119:', 'E119:') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1197 # round() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1198 CheckDefAndScriptFailure2(['round("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1199 # sin() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1200 CheckDefAndScriptFailure2(['sin("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1201 # sinh() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1202 CheckDefAndScriptFailure2(['sinh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1203 # sqrt() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1204 CheckDefAndScriptFailure2(['sqrt("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1205 # tan() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1206 CheckDefAndScriptFailure2(['tan("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1207 # tanh() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1208 CheckDefAndScriptFailure2(['tanh("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1209 # trunc() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1210 CheckDefAndScriptFailure2(['trunc("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1219: Float or Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1211 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1212 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1213 def Test_fnameescape() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1214 CheckDefAndScriptFailure2(['fnameescape(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1215 assert_equal('\+a\%b\|', fnameescape('+a%b|')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1216 fnameescape('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1217 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1218 |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1219 def Test_fnamemodify() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1220 CheckDefSuccess(['echo fnamemodify(test_null_string(), ":p")']) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1221 CheckDefSuccess(['echo fnamemodify("", ":p")']) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1222 CheckDefSuccess(['echo fnamemodify("file", test_null_string())']) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1223 CheckDefSuccess(['echo fnamemodify("file", "")']) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1224 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1225 CheckDefExecFailure(['echo fnamemodify(true, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got bool') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1226 CheckDefExecFailure(['echo fnamemodify(v:null, ":p")'], 'E1013: Argument 1: type mismatch, expected string but got special') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1227 CheckDefExecFailure(['echo fnamemodify("file", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1228 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1229 |
23827
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23816
diff
changeset
|
1230 def Wrong_dict_key_type(items: list<number>): list<number> |
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23816
diff
changeset
|
1231 return filter(items, (_, val) => get({[val]: 1}, 'x')) |
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23816
diff
changeset
|
1232 enddef |
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23816
diff
changeset
|
1233 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1234 def Test_filter() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
1235 CheckDefAndScriptFailure2(['filter(1.1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got float', 'E1228: List, Dictionary or Blob required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1236 assert_equal([], filter([1, 2, 3], '0')) |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1237 assert_equal([1, 2, 3], filter([1, 2, 3], '1')) |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1238 assert_equal({b: 20}, filter({a: 10, b: 20}, 'v:val == 20')) |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1239 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1240 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1241 def Test_filter_wrong_dict_key_type() |
23827
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23816
diff
changeset
|
1242 assert_fails('Wrong_dict_key_type([1, v:null, 3])', 'E1013:') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1243 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1244 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1245 def Test_filter_return_type() |
24414
f539864ba851
patch 8.2.2747: Vim9: not always an error for too many function arguments
Bram Moolenaar <Bram@vim.org>
parents:
24349
diff
changeset
|
1246 var l = filter([1, 2, 3], (_, _) => 1) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1247 var res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1248 for n in l |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1249 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1250 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1251 res->assert_equal(6) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1252 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1253 |
23350
9b86957ddd95
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Bram Moolenaar <Bram@vim.org>
parents:
23276
diff
changeset
|
1254 def Test_filter_missing_argument() |
9b86957ddd95
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Bram Moolenaar <Bram@vim.org>
parents:
23276
diff
changeset
|
1255 var dict = {aa: [1], ab: [2], ac: [3], de: [4]} |
24414
f539864ba851
patch 8.2.2747: Vim9: not always an error for too many function arguments
Bram Moolenaar <Bram@vim.org>
parents:
24349
diff
changeset
|
1256 var res = dict->filter((k, _) => k =~ 'a' && k !~ 'b') |
23350
9b86957ddd95
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Bram Moolenaar <Bram@vim.org>
parents:
23276
diff
changeset
|
1257 res->assert_equal({aa: [1], ac: [3]}) |
9b86957ddd95
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Bram Moolenaar <Bram@vim.org>
parents:
23276
diff
changeset
|
1258 enddef |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1259 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1260 def Test_foldclosed() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1261 CheckDefAndScriptFailure2(['foldclosed(function("min"))'], 'E1013: Argument 1: type mismatch, expected string but got func(...): any', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1262 CheckDefExecAndScriptFailure(['foldclosed("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1263 assert_equal(-1, foldclosed(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1264 assert_equal(-1, foldclosed('$')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1265 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1266 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1267 def Test_foldclosedend() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1268 CheckDefAndScriptFailure2(['foldclosedend(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1269 CheckDefExecAndScriptFailure(['foldclosedend("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1270 assert_equal(-1, foldclosedend(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1271 assert_equal(-1, foldclosedend('w0')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1272 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1273 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1274 def Test_foldlevel() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1275 CheckDefAndScriptFailure2(['foldlevel(0z10)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1276 CheckDefExecAndScriptFailure(['foldlevel("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1277 assert_equal(0, foldlevel(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1278 assert_equal(0, foldlevel('.')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1279 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1280 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1281 def Test_foldtextresult() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1282 CheckDefAndScriptFailure2(['foldtextresult(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1283 CheckDefExecAndScriptFailure(['foldtextresult("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1284 assert_equal('', foldtextresult(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1285 assert_equal('', foldtextresult('.')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1286 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1287 |
24699
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1288 def Test_fullcommand() |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1289 assert_equal('next', fullcommand('n')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1290 assert_equal('noremap', fullcommand('no')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1291 assert_equal('noremap', fullcommand('nor')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1292 assert_equal('normal', fullcommand('norm')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1293 |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1294 assert_equal('', fullcommand('k')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1295 assert_equal('keepmarks', fullcommand('ke')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1296 assert_equal('keepmarks', fullcommand('kee')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1297 assert_equal('keepmarks', fullcommand('keep')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1298 assert_equal('keepjumps', fullcommand('keepj')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1299 |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1300 assert_equal('dlist', fullcommand('dl')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1301 assert_equal('', fullcommand('dp')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1302 assert_equal('delete', fullcommand('del')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1303 assert_equal('', fullcommand('dell')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1304 assert_equal('', fullcommand('delp')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1305 |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1306 assert_equal('srewind', fullcommand('sre')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1307 assert_equal('scriptnames', fullcommand('scr')) |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1308 assert_equal('', fullcommand('scg')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
1309 fullcommand('')->assert_equal('') |
24699
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1310 enddef |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24695
diff
changeset
|
1311 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1312 def Test_funcref() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1313 CheckDefAndScriptFailure2(['funcref("reverse", 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1314 CheckDefAndScriptFailure2(['funcref("reverse", [2], [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1315 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1316 |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1317 def Test_function() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1318 CheckDefAndScriptFailure2(['function("reverse", 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1319 CheckDefAndScriptFailure2(['function("reverse", [2], [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1320 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1321 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1322 def Test_garbagecollect() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1323 garbagecollect(true) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1324 CheckDefAndScriptFailure2(['garbagecollect("1")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1325 CheckDefAndScriptFailure2(['garbagecollect(20)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1326 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1327 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1328 def Test_get() |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1329 CheckDefAndScriptFailure2(['get("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E896: Argument of get() must be a List, Dictionary or Blob') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1330 [3, 5, 2]->get(1)->assert_equal(5) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1331 [3, 5, 2]->get(3)->assert_equal(0) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1332 [3, 5, 2]->get(3, 9)->assert_equal(9) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1333 assert_equal(get(0z102030, 2), 0x30) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1334 {a: 7, b: 11, c: 13}->get('c')->assert_equal(13) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1335 {10: 'a', 20: 'b', 30: 'd'}->get(20)->assert_equal('b') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1336 function('max')->get('name')->assert_equal('max') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1337 var F: func = function('min', [[5, 8, 6]]) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1338 F->get('name')->assert_equal('min') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1339 F->get('args')->assert_equal([[5, 8, 6]]) |
25386
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1340 |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1341 var lines =<< trim END |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1342 vim9script |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1343 def DoThat(): number |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1344 var Getqflist: func = function('getqflist', [{id: 42}]) |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1345 return Getqflist()->get('id', 77) |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1346 enddef |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1347 assert_equal(0, DoThat()) |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1348 END |
9c749ad22565
patch 8.2.3230: Vim9: type error when function return type is not known yet
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1349 CheckScriptSuccess(lines) |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1350 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1351 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1352 def Test_getbufinfo() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1353 var bufinfo = getbufinfo(bufnr()) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1354 getbufinfo('%')->assert_equal(bufinfo) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1355 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1356 edit Xtestfile1 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1357 hide edit Xtestfile2 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1358 hide enew |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
1359 getbufinfo({bufloaded: true, buflisted: true, bufmodified: false}) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1360 ->len()->assert_equal(3) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1361 bwipe Xtestfile1 Xtestfile2 |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
1362 CheckDefAndScriptFailure2(['getbufinfo(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1363 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1364 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1365 def Test_getbufline() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1366 e SomeFile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1367 var buf = bufnr() |
25654
ef38fc02faaa
patch 8.2.3363: when :edit reuses the current buffer the alternate file is set
Bram Moolenaar <Bram@vim.org>
parents:
25640
diff
changeset
|
1368 sp Otherfile |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1369 var lines = ['aaa', 'bbb', 'ccc'] |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1370 setbufline(buf, 1, lines) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1371 getbufline('#', 1, '$')->assert_equal(lines) |
22679
9fa3f92248f6
patch 8.2.1888: Vim9: getbufline(-1, 1, '$') gives an error
Bram Moolenaar <Bram@vim.org>
parents:
22661
diff
changeset
|
1372 getbufline(-1, '$', '$')->assert_equal([]) |
9fa3f92248f6
patch 8.2.1888: Vim9: getbufline(-1, 1, '$') gives an error
Bram Moolenaar <Bram@vim.org>
parents:
22661
diff
changeset
|
1373 getbufline(-1, 1, '$')->assert_equal([]) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1374 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1375 bwipe! |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1376 CheckDefAndScriptFailure2(['getbufline([], 2)'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1377 CheckDefAndScriptFailure2(['getbufline("a", [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1378 CheckDefAndScriptFailure2(['getbufline("a", 2, 0z10)'], 'E1013: Argument 3: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1379 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1380 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
1381 def Test_getbufvar() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1382 CheckDefAndScriptFailure2(['getbufvar(true, "v")'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
1383 CheckDefAndScriptFailure2(['getbufvar(1, 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
1384 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
1385 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1386 def Test_getchangelist() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1387 new |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1388 setline(1, 'some text') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1389 var changelist = bufnr()->getchangelist() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1390 getchangelist('%')->assert_equal(changelist) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1391 bwipe! |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1392 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1393 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1394 def Test_getchar() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1395 while getchar(0) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1396 endwhile |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1397 getchar(true)->assert_equal(0) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1398 getchar(1)->assert_equal(0) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1399 CheckDefAndScriptFailure2(['getchar(2)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1400 CheckDefAndScriptFailure2(['getchar("1")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1401 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1402 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1403 def Test_getcharpos() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1404 CheckDefAndScriptFailure2(['getcharpos(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1405 CheckDefAndScriptFailure2(['getcharpos(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1406 CheckDefExecAndScriptFailure(['getcharpos("")'], 'E1209: Invalid value for a line number') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1407 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1408 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1409 def Test_getcharstr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1410 CheckDefAndScriptFailure2(['getcharstr(2)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1411 CheckDefAndScriptFailure2(['getcharstr("1")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1412 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1413 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1414 def Test_getcompletion() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1415 set wildignore=*.vim,*~ |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1416 var l = getcompletion('run', 'file', true) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1417 l->assert_equal([]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1418 set wildignore& |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1419 CheckDefAndScriptFailure2(['getcompletion(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1420 CheckDefAndScriptFailure2(['getcompletion("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1421 CheckDefAndScriptFailure2(['getcompletion("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1422 CheckDefExecAndScriptFailure(['getcompletion("a", "")'], 'E475: Invalid argument') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1423 getcompletion('', 'messages')->assert_equal(['clear']) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1424 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1425 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1426 def Test_getcurpos() |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1427 CheckDefAndScriptFailure2(['getcurpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1428 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1429 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1430 def Test_getcursorcharpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1431 CheckDefAndScriptFailure2(['getcursorcharpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1432 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1433 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1434 def Test_getcwd() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1435 CheckDefAndScriptFailure2(['getcwd("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1436 CheckDefAndScriptFailure2(['getcwd("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1437 CheckDefAndScriptFailure2(['getcwd(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1438 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1439 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1440 def Test_getenv() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1441 if getenv('does-not_exist') == '' |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1442 assert_report('getenv() should return null') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1443 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1444 if getenv('does-not_exist') == null |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1445 else |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1446 assert_report('getenv() should return null') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1447 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1448 $SOMEENVVAR = 'some' |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1449 assert_equal('some', getenv('SOMEENVVAR')) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1450 unlet $SOMEENVVAR |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1451 getenv('')->assert_equal(v:null) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1452 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1453 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1454 def Test_getfontname() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1455 CheckDefAndScriptFailure2(['getfontname(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1456 #getfontname('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1457 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1458 |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1459 def Test_getfperm() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1460 assert_equal('', getfperm("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1461 assert_equal('', getfperm(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1462 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1463 CheckDefExecFailure(['echo getfperm(true)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1464 CheckDefExecFailure(['echo getfperm(v:null)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1465 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1466 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1467 def Test_getfsize() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1468 assert_equal(-1, getfsize("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1469 assert_equal(-1, getfsize(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1470 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1471 CheckDefExecFailure(['echo getfsize(true)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1472 CheckDefExecFailure(['echo getfsize(v:null)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1473 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1474 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1475 def Test_getftime() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1476 assert_equal(-1, getftime("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1477 assert_equal(-1, getftime(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1478 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1479 CheckDefExecFailure(['echo getftime(true)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1480 CheckDefExecFailure(['echo getftime(v:null)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1481 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1482 |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1483 def Test_getftype() |
23175
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1484 assert_equal('', getftype("")) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1485 assert_equal('', getftype(test_null_string())) |
d7294a6220ac
patch 8.2.2133: Vim9: checking for a non-empty string is too strict
Bram Moolenaar <Bram@vim.org>
parents:
23142
diff
changeset
|
1486 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1487 CheckDefExecFailure(['echo getftype(true)'], 'E1013:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1488 CheckDefExecFailure(['echo getftype(v:null)'], 'E1013:') |
23142
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1489 enddef |
5f08d4a42898
patch 8.2.2117: some functions use any value as a string
Bram Moolenaar <Bram@vim.org>
parents:
23104
diff
changeset
|
1490 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1491 def Test_getjumplist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1492 CheckDefAndScriptFailure2(['getjumplist("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1493 CheckDefAndScriptFailure2(['getjumplist("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1494 CheckDefAndScriptFailure2(['getjumplist(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1495 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1496 |
25216
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1497 def Test_getline() |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1498 var lines =<< trim END |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1499 new |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1500 setline(1, ['hello', 'there', 'again']) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1501 assert_equal('hello', getline(1)) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1502 assert_equal('hello', getline('.')) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1503 |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1504 normal 2Gvjv |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1505 assert_equal('there', getline("'<")) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1506 assert_equal('again', getline("'>")) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1507 END |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1508 CheckDefAndScriptSuccess(lines) |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1509 |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1510 lines =<< trim END |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1511 echo getline('1') |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1512 END |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1513 CheckDefExecAndScriptFailure(lines, 'E1209:') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1514 CheckDefAndScriptFailure2(['getline(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1515 CheckDefAndScriptFailure2(['getline(1, true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1516 CheckDefExecAndScriptFailure(['getline("")'], 'E1209: Invalid value for a line number') |
25216
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1517 enddef |
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1518 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1519 def Test_getloclist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1520 CheckDefAndScriptFailure2(['getloclist("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1521 CheckDefAndScriptFailure2(['getloclist(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1522 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1523 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1524 def Test_getloclist_return_type() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1525 var l = getloclist(1) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1526 l->assert_equal([]) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1527 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1528 var d = getloclist(1, {items: 0}) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1529 d->assert_equal({items: []}) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1530 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1531 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1532 def Test_getmarklist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1533 CheckDefAndScriptFailure2(['getmarklist([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1534 assert_equal([], getmarklist(10000)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1535 assert_fails('getmarklist("a%b@#")', 'E94:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1536 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1537 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1538 def Test_getmatches() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1539 CheckDefAndScriptFailure2(['getmatches("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1540 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1541 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1542 def Test_getpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1543 CheckDefAndScriptFailure2(['getpos(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1544 assert_equal([0, 1, 1, 0], getpos('.')) |
25216
9ead67e3c696
patch 8.2.3144: Vim9: no error when using an invalid value for a line number
Bram Moolenaar <Bram@vim.org>
parents:
25212
diff
changeset
|
1545 CheckDefExecFailure(['getpos("a")'], 'E1209:') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1546 CheckDefExecAndScriptFailure(['getpos("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1547 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1548 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1549 def Test_getqflist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1550 CheckDefAndScriptFailure2(['getqflist([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1551 call assert_equal({}, getqflist({})) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1552 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1553 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1554 def Test_getqflist_return_type() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1555 var l = getqflist() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1556 l->assert_equal([]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1557 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
1558 var d = getqflist({items: 0}) |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
1559 d->assert_equal({items: []}) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1560 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1561 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1562 def Test_getreg() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1563 var lines = ['aaa', 'bbb', 'ccc'] |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1564 setreg('a', lines) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1565 getreg('a', true, true)->assert_equal(lines) |
23909
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1566 assert_fails('getreg("ab")', 'E1162:') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1567 CheckDefAndScriptFailure2(['getreg(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1568 CheckDefAndScriptFailure2(['getreg(".", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1569 CheckDefAndScriptFailure2(['getreg(".", 1, "b")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1570 @" = 'A1B2C3' |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1571 getreg('')->assert_equal('A1B2C3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1572 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1573 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1574 def Test_getreg_return_type() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1575 var s1: string = getreg('"') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1576 var s2: string = getreg('"', 1) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1577 var s3: list<string> = getreg('"', 1, 1) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1578 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1579 |
23909
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1580 def Test_getreginfo() |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1581 var text = 'abc' |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1582 setreg('a', text) |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1583 getreginfo('a')->assert_equal({regcontents: [text], regtype: 'v', isunnamed: false}) |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1584 assert_fails('getreginfo("ab")', 'E1162:') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1585 @" = 'D1E2F3' |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1586 getreginfo('').regcontents->assert_equal(['D1E2F3']) |
23909
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1587 enddef |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1588 |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1589 def Test_getregtype() |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1590 var lines = ['aaa', 'bbb', 'ccc'] |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1591 setreg('a', lines) |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1592 getregtype('a')->assert_equal('V') |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1593 assert_fails('getregtype("ab")', 'E1162:') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1594 setreg('"', 'ABCD', 'b') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1595 getregtype('')->assert_equal("\<C-V>4") |
23909
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1596 enddef |
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
1597 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1598 def Test_gettabinfo() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1599 CheckDefAndScriptFailure2(['gettabinfo("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1600 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1601 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1602 def Test_gettabvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1603 CheckDefAndScriptFailure2(['gettabvar("a", "b")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1604 CheckDefAndScriptFailure2(['gettabvar(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1605 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1606 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1607 def Test_gettabwinvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1608 CheckDefAndScriptFailure2(['gettabwinvar("a", 2, "c")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1609 CheckDefAndScriptFailure2(['gettabwinvar(1, "b", "c", [])'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1610 CheckDefAndScriptFailure2(['gettabwinvar(1, 1, 3, {})'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1611 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1612 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1613 def Test_gettagstack() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1614 CheckDefAndScriptFailure2(['gettagstack("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1615 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1616 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1617 def Test_gettext() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1618 CheckDefAndScriptFailure2(['gettext(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1619 CheckDefExecAndScriptFailure(['gettext("")'], 'E475: Invalid argument') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1620 assert_equal('abc', gettext("abc")) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1621 assert_fails('gettext("")', 'E475:') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1622 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1623 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1624 def Test_getwininfo() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1625 CheckDefAndScriptFailure2(['getwininfo("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1626 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1627 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1628 def Test_getwinpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1629 CheckDefAndScriptFailure2(['getwinpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1630 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1631 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1632 def Test_getwinvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1633 CheckDefAndScriptFailure2(['getwinvar("a", "b")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1634 CheckDefAndScriptFailure2(['getwinvar(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1635 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1636 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1637 def Test_glob() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1638 glob('runtest.vim', true, true, true)->assert_equal(['runtest.vim']) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1639 CheckDefAndScriptFailure2(['glob(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1640 CheckDefAndScriptFailure2(['glob("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1641 CheckDefAndScriptFailure2(['glob("a", 1, "b")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1642 CheckDefAndScriptFailure2(['glob("a", 1, true, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1643 glob('')->assert_equal('') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1644 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1645 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1646 def Test_glob2regpat() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1647 CheckDefAndScriptFailure2(['glob2regpat(null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1174: String required for argument 1') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1648 glob2regpat('')->assert_equal('^$') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1649 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1650 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1651 def Test_globpath() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1652 globpath('.', 'runtest.vim', true, true, true)->assert_equal(['./runtest.vim']) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1653 CheckDefAndScriptFailure2(['globpath(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1654 CheckDefAndScriptFailure2(['globpath("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1655 CheckDefAndScriptFailure2(['globpath("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1656 CheckDefAndScriptFailure2(['globpath("a", "b", true, "d")'], 'E1013: Argument 4: type mismatch, expected bool but got string', 'E1212: Bool required for argument 4') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1657 CheckDefAndScriptFailure2(['globpath("a", "b", true, false, "e")'], 'E1013: Argument 5: type mismatch, expected bool but got string', 'E1212: Bool required for argument 5') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1658 globpath('', '')->assert_equal('') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1659 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1660 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1661 def Test_has() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1662 has('eval', true)->assert_equal(1) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1663 CheckDefAndScriptFailure2(['has(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1664 CheckDefAndScriptFailure2(['has("a", "b")'], 'E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1665 has('')->assert_equal(0) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1666 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1667 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1668 def Test_has_key() |
25212
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1669 var d = {123: 'xx'} |
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1670 assert_true(has_key(d, '123')) |
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1671 assert_true(has_key(d, 123)) |
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1672 assert_false(has_key(d, 'x')) |
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1673 assert_false(has_key(d, 99)) |
79eb112b492d
patch 8.2.3142: Vim9: type check for has_key() argument is too strict
Bram Moolenaar <Bram@vim.org>
parents:
25198
diff
changeset
|
1674 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1675 CheckDefAndScriptFailure2(['has_key([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1676 CheckDefAndScriptFailure2(['has_key({"a": 10}, ["a"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 2') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1677 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
1678 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1679 def Test_haslocaldir() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1680 CheckDefAndScriptFailure2(['haslocaldir("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1681 CheckDefAndScriptFailure2(['haslocaldir("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1682 CheckDefAndScriptFailure2(['haslocaldir(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1683 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1684 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1685 def Test_hasmapto() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1686 hasmapto('foobar', 'i', true)->assert_equal(0) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1687 iabbrev foo foobar |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1688 hasmapto('foobar', 'i', true)->assert_equal(1) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1689 iunabbrev foo |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1690 CheckDefAndScriptFailure2(['hasmapto(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1691 CheckDefAndScriptFailure2(['hasmapto("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1692 CheckDefAndScriptFailure2(['hasmapto("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1693 hasmapto('', '')->assert_equal(0) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1694 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1695 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1696 def Test_histadd() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1697 CheckDefAndScriptFailure2(['histadd(1, "x")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1698 CheckDefAndScriptFailure2(['histadd(":", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1699 histadd("search", 'skyblue') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1700 assert_equal('skyblue', histget('/', -1)) |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1701 histadd("search", '')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1702 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1703 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1704 def Test_histdel() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1705 CheckDefAndScriptFailure2(['histdel(1, "x")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1706 CheckDefAndScriptFailure2(['histdel(":", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1707 histdel('search', '')->assert_equal(0) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1708 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1709 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1710 def Test_histget() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1711 CheckDefAndScriptFailure2(['histget(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1712 CheckDefAndScriptFailure2(['histget("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1713 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1714 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1715 def Test_histnr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1716 CheckDefAndScriptFailure2(['histnr(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1717 assert_equal(-1, histnr('abc')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1718 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1719 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1720 def Test_hlID() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1721 CheckDefAndScriptFailure2(['hlID(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1722 assert_equal(0, hlID('NonExistingHighlight')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1723 hlID('')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1724 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1725 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1726 def Test_hlexists() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1727 CheckDefAndScriptFailure2(['hlexists([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1728 assert_equal(0, hlexists('NonExistingHighlight')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1729 hlexists('')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1730 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1731 |
26089
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1732 def Test_hlget() |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1733 CheckDefAndScriptFailure2(['hlget([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1734 hlget('')->assert_equal([]) |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1735 enddef |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1736 |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1737 def Test_hlset() |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1738 CheckDefAndScriptFailure2(['hlset("id")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1739 hlset([])->assert_equal(0) |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1740 enddef |
c544eacaf066
patch 8.2.3578: manipulating highlighting is complicated
Bram Moolenaar <Bram@vim.org>
parents:
25850
diff
changeset
|
1741 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1742 def Test_iconv() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1743 CheckDefAndScriptFailure2(['iconv(1, "from", "to")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1744 CheckDefAndScriptFailure2(['iconv("abc", 10, "to")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1745 CheckDefAndScriptFailure2(['iconv("abc", "from", 20)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1746 assert_equal('abc', iconv('abc', 'fromenc', 'toenc')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1747 iconv('', '', '')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1748 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1749 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1750 def Test_indent() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1751 CheckDefAndScriptFailure2(['indent([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1752 CheckDefAndScriptFailure2(['indent(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1753 CheckDefExecAndScriptFailure(['indent("")'], 'E1209: Invalid value for a line number') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1754 assert_equal(0, indent(1)) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1755 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1756 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1757 def Test_index() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1758 index(['a', 'b', 'a', 'B'], 'b', 2, true)->assert_equal(3) |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
1759 CheckDefAndScriptFailure2(['index("a", "a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1760 CheckDefFailure(['index(["1"], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1761 CheckDefAndScriptFailure2(['index(0z10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1762 CheckDefAndScriptFailure2(['index([1], 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1763 CheckDefAndScriptFailure2(['index(0z1020, 10, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1764 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1765 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1766 def Test_input() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1767 CheckDefAndScriptFailure2(['input(5)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1768 CheckDefAndScriptFailure2(['input(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1769 CheckDefAndScriptFailure2(['input("p", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1770 CheckDefAndScriptFailure2(['input("p", "q", 20)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1771 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1772 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1773 def Test_inputdialog() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1774 CheckDefAndScriptFailure2(['inputdialog(5)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1775 CheckDefAndScriptFailure2(['inputdialog(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1776 CheckDefAndScriptFailure2(['inputdialog("p", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1777 CheckDefAndScriptFailure2(['inputdialog("p", "q", 20)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1778 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1779 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1780 def Test_inputlist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1781 CheckDefAndScriptFailure2(['inputlist(10)'], 'E1013: Argument 1: type mismatch, expected list<string> but got number', 'E1211: List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1782 CheckDefAndScriptFailure2(['inputlist("abc")'], 'E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1783 CheckDefFailure(['inputlist([1, 2, 3])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1784 feedkeys("2\<CR>", 't') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1785 var r: number = inputlist(['a', 'b', 'c']) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1786 assert_equal(2, r) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1787 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1788 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1789 def Test_inputsecret() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1790 CheckDefAndScriptFailure2(['inputsecret(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1791 CheckDefAndScriptFailure2(['inputsecret("Pass:", 20)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1792 feedkeys("\<CR>", 't') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1793 var ans: string = inputsecret('Pass:', '123') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1794 assert_equal('123', ans) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1795 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1796 |
22898
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1797 let s:number_one = 1 |
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1798 let s:number_two = 2 |
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1799 let s:string_keep = 'keep' |
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1800 |
22661
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1801 def Test_insert() |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1802 var l = insert([2, 1], 3) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1803 var res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1804 for n in l |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1805 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1806 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1807 res->assert_equal(6) |
22661
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1808 |
24695
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1809 var m: any = [] |
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1810 insert(m, 4) |
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1811 call assert_equal([4], m) |
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1812 extend(m, [6], 0) |
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1813 call assert_equal([6, 4], m) |
13efbfc53054
patch 8.2.2886: various pieces of code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents:
24659
diff
changeset
|
1814 |
24484
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1815 var lines =<< trim END |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1816 insert(test_null_list(), 123) |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1817 END |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1818 CheckDefExecAndScriptFailure(lines, 'E1130:', 1) |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1819 |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1820 lines =<< trim END |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1821 insert(test_null_blob(), 123) |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1822 END |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1823 CheckDefExecAndScriptFailure(lines, 'E1131:', 1) |
bc1a533148d7
patch 8.2.2782: Vim9: blob operations not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
24482
diff
changeset
|
1824 |
22661
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1825 assert_equal([1, 2, 3], insert([2, 3], 1)) |
22898
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1826 assert_equal([1, 2, 3], insert([2, 3], s:number_one)) |
22661
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1827 assert_equal([1, 2, 3], insert([1, 2], 3, 2)) |
22898
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1828 assert_equal([1, 2, 3], insert([1, 2], 3, s:number_two)) |
22661
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1829 assert_equal(['a', 'b', 'c'], insert(['b', 'c'], 'a')) |
c6b17787a38f
patch 8.2.1879: Vim9: argument types of insert() not checked when compiling
Bram Moolenaar <Bram@vim.org>
parents:
22655
diff
changeset
|
1830 assert_equal(0z1234, insert(0z34, 0x12)) |
22898
a8bccb0634bc
patch 8.2.1996: Vim9: invalid error for argument of extend()
Bram Moolenaar <Bram@vim.org>
parents:
22766
diff
changeset
|
1831 |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
1832 CheckDefAndScriptFailure2(['insert("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1833 CheckDefFailure(['insert([2, 3], "a")'], 'E1013: Argument 2: type mismatch, expected number but got string') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1834 CheckDefAndScriptFailure2(['insert([2, 3], 1, "x")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1835 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1836 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1837 def Test_invert() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1838 CheckDefAndScriptFailure2(['invert("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1839 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
1840 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1841 def Test_isdirectory() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1842 CheckDefAndScriptFailure2(['isdirectory(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1843 assert_false(isdirectory('NonExistingDir')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1844 assert_false(isdirectory('')) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1845 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1846 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1847 def Test_islocked() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1848 CheckDefAndScriptFailure2(['islocked(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1849 CheckDefAndScriptFailure2(['var n1: number = 10', 'islocked(n1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1850 g:v1 = 10 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1851 assert_false(islocked('g:v1')) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1852 lockvar g:v1 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1853 assert_true(islocked('g:v1')) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1854 unlet g:v1 |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1855 islocked('')->assert_equal(-1) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1856 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1857 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1858 def Test_items() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1859 CheckDefFailure(['[]->items()'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1860 assert_equal([['a', 10], ['b', 20]], {'a': 10, 'b': 20}->items()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1861 assert_equal([], {}->items()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1862 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1863 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1864 def Test_job_getchannel() |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1865 if !has('job') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1866 CheckFeature job |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1867 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1868 CheckDefAndScriptFailure2(['job_getchannel("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1869 assert_fails('job_getchannel(test_null_job())', 'E916: not a valid job') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1870 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1871 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1872 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1873 def Test_job_info() |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1874 if !has('job') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1875 CheckFeature job |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1876 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1877 CheckDefAndScriptFailure2(['job_info("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1878 assert_fails('job_info(test_null_job())', 'E916: not a valid job') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1879 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1880 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1881 |
26368
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
26230
diff
changeset
|
1882 " Test_job_info_return_type() is in test_vim9_fails.vim |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1883 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1884 def Test_job_setoptions() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1885 if !has('job') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1886 CheckFeature job |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1887 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1888 CheckDefAndScriptFailure2(['job_setoptions(test_null_channel(), {})'], 'E1013: Argument 1: type mismatch, expected job but got channel', 'E1218: Job required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1889 CheckDefAndScriptFailure2(['job_setoptions(test_null_job(), [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1890 assert_equal('fail', job_status(test_null_job())) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1891 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1892 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1893 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1894 def Test_job_status() |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1895 if !has('job') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1896 CheckFeature job |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1897 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1898 CheckDefAndScriptFailure2(['job_status("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1899 assert_equal('fail', job_status(test_null_job())) |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
1900 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1901 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1902 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1903 def Test_job_stop() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1904 if !has('job') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1905 CheckFeature job |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1906 else |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
1907 CheckDefAndScriptFailure2(['job_stop("a")'], 'E1013: Argument 1: type mismatch, expected job but got string', 'E1218: Job required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1908 CheckDefAndScriptFailure2(['job_stop(test_null_job(), true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1909 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1910 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1911 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1912 def Test_join() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1913 CheckDefAndScriptFailure2(['join("abc")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1914 CheckDefAndScriptFailure2(['join([], 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
1915 join([''], '')->assert_equal('') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1916 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1917 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1918 def Test_js_decode() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1919 CheckDefAndScriptFailure2(['js_decode(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1920 assert_equal([1, 2], js_decode('[1,2]')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
1921 js_decode('')->assert_equal(v:none) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1922 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1923 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1924 def Test_json_decode() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1925 CheckDefAndScriptFailure2(['json_decode(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1926 assert_equal(1.0, json_decode('1.0')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
1927 json_decode('')->assert_equal(v:none) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1928 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1929 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1930 def Test_keys() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1931 CheckDefAndScriptFailure2(['keys([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1932 assert_equal(['a'], {a: 'v'}->keys()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1933 assert_equal([], {}->keys()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1934 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1935 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1936 def Test_keys_return_type() |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
1937 const var: list<string> = {a: 1, b: 2}->keys() |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1938 var->assert_equal(['a', 'b']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1939 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1940 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1941 def Test_len() |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1942 CheckDefAndScriptFailure2(['len(true)'], 'E1013: Argument 1: type mismatch, expected list<any> but got bool', 'E701: Invalid type for len()') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1943 assert_equal(2, "ab"->len()) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1944 assert_equal(3, 456->len()) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1945 assert_equal(0, []->len()) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1946 assert_equal(1, {a: 10}->len()) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1947 assert_equal(4, 0z20304050->len()) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1948 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
1949 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1950 def Test_libcall() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1951 CheckFeature libcall |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1952 CheckDefAndScriptFailure2(['libcall(1, "b", 3)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1953 CheckDefAndScriptFailure2(['libcall("a", 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1954 CheckDefAndScriptFailure2(['libcall("a", "b", 1.1)'], 'E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3') |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1955 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1956 |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1957 def Test_libcallnr() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1958 CheckFeature libcall |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1959 CheckDefAndScriptFailure2(['libcallnr(1, "b", 3)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1960 CheckDefAndScriptFailure2(['libcallnr("a", 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1961 CheckDefAndScriptFailure2(['libcallnr("a", "b", 1.1)'], 'E1013: Argument 3: type mismatch, expected string but got float', 'E1220: String or Number required for argument 3') |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1962 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
1963 |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
1964 def Test_line() |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1965 assert_fails('line(true)', 'E1174:') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1966 CheckDefAndScriptFailure2(['line(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
1967 CheckDefAndScriptFailure2(['line(".", "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1968 CheckDefExecAndScriptFailure(['line("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1969 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1970 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1971 def Test_line2byte() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1972 CheckDefAndScriptFailure2(['line2byte(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1973 CheckDefExecAndScriptFailure(['line2byte("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1974 assert_equal(-1, line2byte(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1975 assert_equal(-1, line2byte(10000)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1976 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1977 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1978 def Test_lispindent() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
1979 CheckDefAndScriptFailure2(['lispindent({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
1980 CheckDefExecAndScriptFailure(['lispindent("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
1981 assert_equal(0, lispindent(1)) |
24250
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
1982 enddef |
01b274c3f69b
patch 8.2.2666: Vim9: not enough function arguments checked for string
Bram Moolenaar <Bram@vim.org>
parents:
24248
diff
changeset
|
1983 |
25806
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
1984 def Test_list2blob() |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
1985 CheckDefAndScriptFailure2(['list2blob(10)'], 'E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1') |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
1986 CheckDefFailure(['list2blob([0z10, 0z02])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<blob>') |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
1987 enddef |
8d55e978f95b
patch 8.2.3438: cannot manipulate blobs
Bram Moolenaar <Bram@vim.org>
parents:
25784
diff
changeset
|
1988 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1989 def Test_list2str_str2list_utf8() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1990 var s = "\u3042\u3044" |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1991 var l = [0x3042, 0x3044] |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1992 str2list(s, true)->assert_equal(l) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1993 list2str(l, true)->assert_equal(s) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1994 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1995 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1996 def Test_list2str() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1997 CheckDefAndScriptFailure2(['list2str(".", true)'], 'E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1998 CheckDefAndScriptFailure2(['list2str([1], 0z10)'], 'E1013: Argument 2: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
1999 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2000 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2001 def SID(): number |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2002 return expand('<SID>') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2003 ->matchstr('<SNR>\zs\d\+\ze_$') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2004 ->str2nr() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2005 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2006 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2007 def Test_listener_add() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2008 CheckDefAndScriptFailure2(['listener_add("1", true)'], 'E1013: Argument 2: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 2') |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2009 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2010 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2011 def Test_listener_flush() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2012 CheckDefAndScriptFailure2(['listener_flush([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2013 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2014 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2015 def Test_listener_remove() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2016 CheckDefAndScriptFailure2(['listener_remove("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2017 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2018 |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2019 def Test_luaeval() |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2020 if !has('lua') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2021 CheckFeature lua |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2022 endif |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2023 CheckDefAndScriptFailure2(['luaeval(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2024 if exists_compiled('*luaeval') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2025 luaeval('')->assert_equal(v:null) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2026 endif |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2027 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2028 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2029 def Test_map() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2030 CheckDefAndScriptFailure2(['map("x", "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1228: List, Dictionary or Blob required for argument 1') |
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2031 CheckDefAndScriptFailure2(['map(1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1228: List, Dictionary or Blob required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2032 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2033 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2034 def Test_map_failure() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2035 CheckFeature job |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2036 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2037 var lines =<< trim END |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2038 vim9script |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2039 writefile([], 'Xtmpfile') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2040 silent e Xtmpfile |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2041 var d = {[bufnr('%')]: {a: 0}} |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2042 au BufReadPost * Func() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2043 def Func() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2044 if d->has_key('') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2045 endif |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2046 eval d[expand('<abuf>')]->mapnew((_, v: dict<job>) => 0) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2047 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2048 e |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2049 END |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2050 CheckScriptFailure(lines, 'E1013:') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2051 au! BufReadPost |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2052 delete('Xtmpfile') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2053 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2054 |
23646
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2055 def Test_map_function_arg() |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2056 var lines =<< trim END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2057 def MapOne(i: number, v: string): string |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2058 return i .. ':' .. v |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2059 enddef |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2060 var l = ['a', 'b', 'c'] |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2061 map(l, MapOne) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2062 assert_equal(['0:a', '1:b', '2:c'], l) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2063 END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2064 CheckDefAndScriptSuccess(lines) |
24808
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2065 |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2066 lines =<< trim END |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2067 range(3)->map((a, b, c) => a + b + c) |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2068 END |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2069 CheckDefExecAndScriptFailure(lines, 'E1190: One argument too few') |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2070 lines =<< trim END |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2071 range(3)->map((a, b, c, d) => a + b + c + d) |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2072 END |
0bc60e26a2b5
patch 8.2.2942: Vim9: error when calling function with too few arguments
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
2073 CheckDefExecAndScriptFailure(lines, 'E1190: 2 arguments too few') |
23646
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2074 enddef |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2075 |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2076 def Test_map_item_type() |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2077 var lines =<< trim END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2078 var l = ['a', 'b', 'c'] |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2079 map(l, (k, v) => k .. '/' .. v ) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2080 assert_equal(['0/a', '1/b', '2/c'], l) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2081 END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2082 CheckDefAndScriptSuccess(lines) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2083 |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2084 lines =<< trim END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2085 var l: list<number> = [0] |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2086 echo map(l, (_, v) => []) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2087 END |
25326
cfbf40f749b0
patch 8.2.3200: Vim9: hard to guess where a type error is given
Bram Moolenaar <Bram@vim.org>
parents:
25314
diff
changeset
|
2088 CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown> in map()', 2) |
23646
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2089 |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2090 lines =<< trim END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2091 var l: list<number> = range(2) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2092 echo map(l, (_, v) => []) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2093 END |
25326
cfbf40f749b0
patch 8.2.3200: Vim9: hard to guess where a type error is given
Bram Moolenaar <Bram@vim.org>
parents:
25314
diff
changeset
|
2094 CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown> in map()', 2) |
23646
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2095 |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2096 lines =<< trim END |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2097 var d: dict<number> = {key: 0} |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2098 echo map(d, (_, v) => []) |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2099 END |
25326
cfbf40f749b0
patch 8.2.3200: Vim9: hard to guess where a type error is given
Bram Moolenaar <Bram@vim.org>
parents:
25314
diff
changeset
|
2100 CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got list<unknown> in map()', 2) |
23646
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2101 enddef |
5d77a7587927
patch 8.2.2365: Vim9: no check for map() changing item type at script level
Bram Moolenaar <Bram@vim.org>
parents:
23640
diff
changeset
|
2102 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2103 def Test_maparg() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2104 var lnum = str2nr(expand('<sflnum>')) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2105 map foo bar |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2106 maparg('foo', '', false, true)->assert_equal({ |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2107 lnum: lnum + 1, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2108 script: 0, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2109 mode: ' ', |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2110 silent: 0, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2111 noremap: 0, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2112 lhs: 'foo', |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2113 lhsraw: 'foo', |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2114 nowait: 0, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2115 expr: 0, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2116 sid: SID(), |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2117 rhs: 'bar', |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2118 buffer: 0}) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2119 unmap foo |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2120 CheckDefAndScriptFailure2(['maparg(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2121 CheckDefAndScriptFailure2(['maparg("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2122 CheckDefAndScriptFailure2(['maparg("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2123 CheckDefAndScriptFailure2(['maparg("a", "b", true, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2124 maparg('')->assert_equal('') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2125 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2126 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2127 def Test_maparg_mapset() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2128 nnoremap <F3> :echo "hit F3"<CR> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2129 var mapsave = maparg('<F3>', 'n', false, true) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2130 mapset('n', false, mapsave) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2131 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2132 nunmap <F3> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2133 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2134 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2135 def Test_mapcheck() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2136 iabbrev foo foobar |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2137 mapcheck('foo', 'i', true)->assert_equal('foobar') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2138 iunabbrev foo |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2139 CheckDefAndScriptFailure2(['mapcheck(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2140 CheckDefAndScriptFailure2(['mapcheck("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2141 CheckDefAndScriptFailure2(['mapcheck("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2142 mapcheck('')->assert_equal('') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2143 mapcheck('', '')->assert_equal('') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2144 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2145 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2146 def Test_mapnew() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2147 CheckDefAndScriptFailure2(['mapnew("x", "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1228: List, Dictionary or Blob required for argument 1') |
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2148 CheckDefAndScriptFailure2(['mapnew(1, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1228: List, Dictionary or Blob required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2149 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2150 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2151 def Test_mapset() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2152 CheckDefAndScriptFailure2(['mapset(1, true, {})'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2153 CheckDefAndScriptFailure2(['mapset("a", 2, {})'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2154 CheckDefAndScriptFailure2(['mapset("a", false, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
23990
06da0685077b
patch 8.2.2537: Vim9: crash when map() fails
Bram Moolenaar <Bram@vim.org>
parents:
23909
diff
changeset
|
2155 enddef |
06da0685077b
patch 8.2.2537: Vim9: crash when map() fails
Bram Moolenaar <Bram@vim.org>
parents:
23909
diff
changeset
|
2156 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2157 def Test_match() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2158 CheckDefAndScriptFailure2(['match(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2159 CheckDefAndScriptFailure2(['match(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2160 CheckDefAndScriptFailure2(['match("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2161 CheckDefAndScriptFailure2(['match("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2162 assert_equal(2, match('ab12cd', '12')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2163 assert_equal(-1, match('ab12cd', '34')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2164 assert_equal(6, match('ab12cd12ef', '12', 4)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2165 assert_equal(2, match('abcd', '..', 0, 3)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2166 assert_equal(1, match(['a', 'b', 'c'], 'b')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2167 assert_equal(-1, match(['a', 'b', 'c'], 'd')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2168 assert_equal(3, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2169 assert_equal(5, match(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2170 match('', 'a')->assert_equal(-1) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2171 match('abc', '')->assert_equal(0) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2172 match('', '')->assert_equal(0) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2173 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2174 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2175 def Test_matchadd() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2176 CheckDefAndScriptFailure2(['matchadd(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2177 CheckDefAndScriptFailure2(['matchadd("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2178 CheckDefAndScriptFailure2(['matchadd("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2179 CheckDefAndScriptFailure2(['matchadd("a", "b", 1, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2180 CheckDefAndScriptFailure2(['matchadd("a", "b", 1, 1, [])'], 'E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2181 matchadd('', 'a')->assert_equal(-1) |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2182 matchadd('Search', '')->assert_equal(-1) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2183 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2184 |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2185 def Test_matchaddpos() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2186 CheckDefAndScriptFailure2(['matchaddpos(1, [1])'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2187 CheckDefAndScriptFailure2(['matchaddpos("a", "b")'], 'E1013: Argument 2: type mismatch, expected list<any> but got string', 'E1211: List required for argument 2') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2188 CheckDefAndScriptFailure2(['matchaddpos("a", [1], "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2189 CheckDefAndScriptFailure2(['matchaddpos("a", [1], 1, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2190 CheckDefAndScriptFailure2(['matchaddpos("a", [1], 1, 1, [])'], 'E1013: Argument 5: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 5') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2191 matchaddpos('', [1])->assert_equal(-1) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2192 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2193 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2194 def Test_matcharg() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2195 CheckDefAndScriptFailure2(['matcharg("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2196 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2197 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2198 def Test_matchdelete() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2199 CheckDefAndScriptFailure2(['matchdelete("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2200 CheckDefAndScriptFailure2(['matchdelete("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2201 CheckDefAndScriptFailure2(['matchdelete(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2202 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2203 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2204 def Test_matchend() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2205 CheckDefAndScriptFailure2(['matchend(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2206 CheckDefAndScriptFailure2(['matchend(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2207 CheckDefAndScriptFailure2(['matchend("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2208 CheckDefAndScriptFailure2(['matchend("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2209 assert_equal(4, matchend('ab12cd', '12')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2210 assert_equal(-1, matchend('ab12cd', '34')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2211 assert_equal(8, matchend('ab12cd12ef', '12', 4)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2212 assert_equal(4, matchend('abcd', '..', 0, 3)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2213 assert_equal(1, matchend(['a', 'b', 'c'], 'b')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2214 assert_equal(-1, matchend(['a', 'b', 'c'], 'd')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2215 assert_equal(3, matchend(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2216 assert_equal(5, matchend(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2217 matchend('', 'a')->assert_equal(-1) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2218 matchend('abc', '')->assert_equal(0) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2219 matchend('', '')->assert_equal(0) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2220 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2221 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2222 def Test_matchfuzzy() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2223 CheckDefAndScriptFailure2(['matchfuzzy({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2224 CheckDefAndScriptFailure2(['matchfuzzy([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2225 CheckDefAndScriptFailure2(['matchfuzzy([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2226 matchfuzzy(['abc', 'xyz'], '')->assert_equal([]) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2227 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2228 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2229 def Test_matchfuzzypos() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2230 CheckDefAndScriptFailure2(['matchfuzzypos({}, "p")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2231 CheckDefAndScriptFailure2(['matchfuzzypos([], 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2232 CheckDefAndScriptFailure2(['matchfuzzypos([], "a", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2233 matchfuzzypos(['abc', 'xyz'], '')->assert_equal([[], [], []]) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2234 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2235 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2236 def Test_matchlist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2237 CheckDefAndScriptFailure2(['matchlist(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2238 CheckDefAndScriptFailure2(['matchlist(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2239 CheckDefAndScriptFailure2(['matchlist("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2240 CheckDefAndScriptFailure2(['matchlist("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2241 var l: list<string> = ['12', '', '', '', '', '', '', '', '', ''] |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2242 assert_equal(l, matchlist('ab12cd', '12')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2243 assert_equal([], matchlist('ab12cd', '34')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2244 assert_equal(l, matchlist('ab12cd12ef', '12', 4)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2245 l[0] = 'cd' |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2246 assert_equal(l, matchlist('abcd', '..', 0, 3)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2247 l[0] = 'b' |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2248 assert_equal(l, matchlist(['a', 'b', 'c'], 'b')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2249 assert_equal([], matchlist(['a', 'b', 'c'], 'd')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2250 assert_equal(l, matchlist(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2251 assert_equal(l, matchlist(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2252 matchlist('', 'a')->assert_equal([]) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2253 matchlist('abc', '')->assert_equal(repeat([''], 10)) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2254 matchlist('', '')->assert_equal(repeat([''], 10)) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2255 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2256 |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2257 def Test_matchstr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2258 CheckDefAndScriptFailure2(['matchstr(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2259 CheckDefAndScriptFailure2(['matchstr(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2260 CheckDefAndScriptFailure2(['matchstr("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2261 CheckDefAndScriptFailure2(['matchstr("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2262 assert_equal('12', matchstr('ab12cd', '12')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2263 assert_equal('', matchstr('ab12cd', '34')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2264 assert_equal('12', matchstr('ab12cd12ef', '12', 4)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2265 assert_equal('cd', matchstr('abcd', '..', 0, 3)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2266 assert_equal('b', matchstr(['a', 'b', 'c'], 'b')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2267 assert_equal('', matchstr(['a', 'b', 'c'], 'd')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2268 assert_equal('b', matchstr(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2269 assert_equal('b', matchstr(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2270 matchstr('', 'a')->assert_equal('') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2271 matchstr('abc', '')->assert_equal('') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2272 matchstr('', '')->assert_equal('') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2273 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2274 |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2275 def Test_matchstrpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2276 CheckDefAndScriptFailure2(['matchstrpos(0z12, "p")'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1222: String or List required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2277 CheckDefAndScriptFailure2(['matchstrpos(["s"], [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2278 CheckDefAndScriptFailure2(['matchstrpos("s", "p", "q")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2279 CheckDefAndScriptFailure2(['matchstrpos("s", "p", 1, "r")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2280 assert_equal(['12', 2, 4], matchstrpos('ab12cd', '12')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2281 assert_equal(['', -1, -1], matchstrpos('ab12cd', '34')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2282 assert_equal(['12', 6, 8], matchstrpos('ab12cd12ef', '12', 4)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2283 assert_equal(['cd', 2, 4], matchstrpos('abcd', '..', 0, 3)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2284 assert_equal(['b', 1, 0, 1], matchstrpos(['a', 'b', 'c'], 'b')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2285 assert_equal(['', -1, -1, -1], matchstrpos(['a', 'b', 'c'], 'd')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2286 assert_equal(['b', 3, 0, 1], |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2287 matchstrpos(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2288 assert_equal(['b', 5, 0, 1], |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2289 matchstrpos(['a', 'b', 'c', 'b', 'd', 'b'], 'b', 2, 2)) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2290 matchstrpos('', 'a')->assert_equal(['', -1, -1]) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2291 matchstrpos('abc', '')->assert_equal(['', 0, 0]) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2292 matchstrpos('', '')->assert_equal(['', 0, 0]) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2293 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2294 |
23705
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2295 def Test_max() |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2296 g:flag = true |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2297 var l1: list<number> = g:flag |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2298 ? [1, max([2, 3])] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2299 : [4, 5] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2300 assert_equal([1, 3], l1) |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2301 |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2302 g:flag = false |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2303 var l2: list<number> = g:flag |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2304 ? [1, max([2, 3])] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2305 : [4, 5] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2306 assert_equal([4, 5], l2) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2307 CheckDefAndScriptFailure2(['max(5)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1') |
23705
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2308 enddef |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2309 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2310 def Test_menu_info() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2311 CheckDefAndScriptFailure2(['menu_info(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2312 CheckDefAndScriptFailure2(['menu_info(10, "n")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2313 CheckDefAndScriptFailure2(['menu_info("File", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2314 assert_equal({}, menu_info('aMenu')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2315 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2316 |
23705
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2317 def Test_min() |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2318 g:flag = true |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2319 var l1: list<number> = g:flag |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2320 ? [1, min([2, 3])] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2321 : [4, 5] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2322 assert_equal([1, 2], l1) |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2323 |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2324 g:flag = false |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2325 var l2: list<number> = g:flag |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2326 ? [1, min([2, 3])] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2327 : [4, 5] |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2328 assert_equal([4, 5], l2) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2329 CheckDefAndScriptFailure2(['min(5)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1227: List or Dictionary required for argument 1') |
23705
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2330 enddef |
9092d2a4422a
patch 8.2.2394: Vim9: min() and max() return type is "any"
Bram Moolenaar <Bram@vim.org>
parents:
23691
diff
changeset
|
2331 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2332 def Test_mkdir() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2333 CheckDefAndScriptFailure2(['mkdir(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2334 CheckDefAndScriptFailure2(['mkdir("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2335 CheckDefAndScriptFailure2(['mkdir("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2336 CheckDefExecAndScriptFailure(['mkdir("")'], 'E1175: Non-empty string required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2337 delete('a', 'rf') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2338 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2339 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2340 def Test_mode() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2341 CheckDefAndScriptFailure2(['mode("1")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2342 CheckDefAndScriptFailure2(['mode(2)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2343 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2344 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2345 def Test_mzeval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2346 if !has('mzscheme') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2347 CheckFeature mzscheme |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2348 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2349 CheckDefAndScriptFailure2(['mzeval(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2350 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2351 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2352 def Test_nextnonblank() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2353 CheckDefAndScriptFailure2(['nextnonblank(null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2354 CheckDefExecAndScriptFailure(['nextnonblank("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2355 assert_equal(0, nextnonblank(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2356 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2357 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2358 def Test_nr2char() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2359 nr2char(97, true)->assert_equal('a') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2360 CheckDefAndScriptFailure2(['nr2char("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2361 CheckDefAndScriptFailure2(['nr2char(1, "a")'], 'E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2362 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2363 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2364 def Test_or() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2365 CheckDefAndScriptFailure2(['or("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2366 CheckDefAndScriptFailure2(['or(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2367 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2368 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2369 def Test_pathshorten() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2370 CheckDefAndScriptFailure2(['pathshorten(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2371 CheckDefAndScriptFailure2(['pathshorten("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2372 pathshorten('')->assert_equal('') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2373 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2374 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2375 def Test_perleval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2376 if !has('perl') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2377 CheckFeature perl |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2378 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2379 CheckDefAndScriptFailure2(['perleval(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2380 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2381 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2382 def Test_popup_atcursor() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2383 CheckDefAndScriptFailure2(['popup_atcursor({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2384 CheckDefAndScriptFailure2(['popup_atcursor("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25236
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2385 |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2386 # Pass variable of type 'any' to popup_atcursor() |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2387 var what: any = 'Hello' |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2388 var popupID = what->popup_atcursor({moved: 'any'}) |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2389 assert_equal(0, popupID->popup_getoptions().tabpage) |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2390 popupID->popup_close() |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2391 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2392 |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2393 def Test_popup_beval() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2394 CheckDefAndScriptFailure2(['popup_beval({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2395 CheckDefAndScriptFailure2(['popup_beval("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2396 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2397 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2398 def Test_popup_clear() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2399 CheckDefAndScriptFailure2(['popup_clear(["a"])'], 'E1013: Argument 1: type mismatch, expected bool but got list<string>', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2400 CheckDefAndScriptFailure2(['popup_clear(2)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2401 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2402 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2403 def Test_popup_close() |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2404 CheckDefAndScriptFailure2(['popup_close("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2405 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2406 |
25236
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2407 def Test_popup_create() |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2408 # Pass variable of type 'any' to popup_create() |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2409 var what: any = 'Hello' |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2410 var popupID = what->popup_create({}) |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2411 assert_equal(0, popupID->popup_getoptions().tabpage) |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2412 popupID->popup_close() |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2413 enddef |
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
2414 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2415 def Test_popup_dialog() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2416 CheckDefAndScriptFailure2(['popup_dialog({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2417 CheckDefAndScriptFailure2(['popup_dialog("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2418 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2419 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2420 def Test_popup_filter_menu() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2421 CheckDefAndScriptFailure2(['popup_filter_menu("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2422 CheckDefAndScriptFailure2(['popup_filter_menu(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2423 var id: number = popup_menu(["one", "two", "three"], {}) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2424 popup_filter_menu(id, '') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2425 popup_close(id) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2426 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2427 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2428 def Test_popup_filter_yesno() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2429 CheckDefAndScriptFailure2(['popup_filter_yesno("x", "")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2430 CheckDefAndScriptFailure2(['popup_filter_yesno(1, 1)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2431 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2432 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2433 def Test_popup_getoptions() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2434 CheckDefAndScriptFailure2(['popup_getoptions("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2435 CheckDefAndScriptFailure2(['popup_getoptions(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2436 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2437 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2438 def Test_popup_getpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2439 CheckDefAndScriptFailure2(['popup_getpos("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2440 CheckDefAndScriptFailure2(['popup_getpos(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2441 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2442 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2443 def Test_popup_hide() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2444 CheckDefAndScriptFailure2(['popup_hide("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2445 CheckDefAndScriptFailure2(['popup_hide(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2446 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2447 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2448 def Test_popup_locate() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2449 CheckDefAndScriptFailure2(['popup_locate("a", 20)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2450 CheckDefAndScriptFailure2(['popup_locate(10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2451 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2452 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2453 def Test_popup_menu() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2454 CheckDefAndScriptFailure2(['popup_menu({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2455 CheckDefAndScriptFailure2(['popup_menu("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2456 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2457 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2458 def Test_popup_move() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2459 CheckDefAndScriptFailure2(['popup_move("x", {})'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2460 CheckDefAndScriptFailure2(['popup_move(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2461 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2462 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2463 def Test_popup_notification() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2464 CheckDefAndScriptFailure2(['popup_notification({"a": 10}, {})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2465 CheckDefAndScriptFailure2(['popup_notification("a", [1, 2])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2466 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
2467 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2468 def Test_popup_setoptions() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2469 CheckDefAndScriptFailure2(['popup_setoptions("x", {})'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2470 CheckDefAndScriptFailure2(['popup_setoptions(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2471 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2472 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2473 def Test_popup_settext() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2474 CheckDefAndScriptFailure2(['popup_settext("x", [])'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2475 CheckDefAndScriptFailure2(['popup_settext(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2476 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2477 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2478 def Test_popup_show() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2479 CheckDefAndScriptFailure2(['popup_show("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2480 CheckDefAndScriptFailure2(['popup_show(true)'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2481 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2482 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2483 def Test_prevnonblank() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2484 CheckDefAndScriptFailure2(['prevnonblank(null)'], 'E1013: Argument 1: type mismatch, expected string but got special', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2485 CheckDefExecAndScriptFailure(['prevnonblank("")'], 'E1209: Invalid value for a line number') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2486 assert_equal(0, prevnonblank(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2487 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2488 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2489 def Test_printf() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2490 CheckDefAndScriptFailure2(['printf([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2491 printf(0x10)->assert_equal('16') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2492 assert_equal(" abc", "abc"->printf("%4s")) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2493 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
2494 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2495 def Test_prompt_getprompt() |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
2496 if !has('channel') |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
2497 CheckFeature channel |
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
2498 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2499 CheckDefAndScriptFailure2(['prompt_getprompt([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25110
e38a406ccc46
patch 8.2.3092: Vim9: builtin function test fails without +channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25094
diff
changeset
|
2500 assert_equal('', prompt_getprompt('NonExistingBuf')) |
e38a406ccc46
patch 8.2.3092: Vim9: builtin function test fails without +channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25094
diff
changeset
|
2501 endif |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2502 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2503 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2504 def Test_prompt_setcallback() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2505 if !has('channel') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2506 CheckFeature channel |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2507 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2508 CheckDefAndScriptFailure2(['prompt_setcallback(true, "1")'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2509 endif |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2510 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2511 |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2512 def Test_prompt_setinterrupt() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2513 if !has('channel') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2514 CheckFeature channel |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2515 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2516 CheckDefAndScriptFailure2(['prompt_setinterrupt(true, "1")'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2517 endif |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2518 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2519 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2520 def Test_prompt_setprompt() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2521 if !has('channel') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2522 CheckFeature channel |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2523 else |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2524 CheckDefAndScriptFailure2(['prompt_setprompt([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2525 CheckDefAndScriptFailure2(['prompt_setprompt(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2526 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2527 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2528 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2529 def Test_prop_add() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2530 CheckDefAndScriptFailure2(['prop_add("a", 2, {})'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2531 CheckDefAndScriptFailure2(['prop_add(1, "b", {})'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2532 CheckDefAndScriptFailure2(['prop_add(1, 2, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2533 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2534 |
25640
78ef12e0ce8c
patch 8.2.3356: adding many text properties requires a lot of function calls
Bram Moolenaar <Bram@vim.org>
parents:
25571
diff
changeset
|
2535 def Test_prop_add_list() |
78ef12e0ce8c
patch 8.2.3356: adding many text properties requires a lot of function calls
Bram Moolenaar <Bram@vim.org>
parents:
25571
diff
changeset
|
2536 CheckDefAndScriptFailure2(['prop_add_list([], [])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
78ef12e0ce8c
patch 8.2.3356: adding many text properties requires a lot of function calls
Bram Moolenaar <Bram@vim.org>
parents:
25571
diff
changeset
|
2537 CheckDefAndScriptFailure2(['prop_add_list({}, {})'], 'E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2') |
78ef12e0ce8c
patch 8.2.3356: adding many text properties requires a lot of function calls
Bram Moolenaar <Bram@vim.org>
parents:
25571
diff
changeset
|
2538 enddef |
78ef12e0ce8c
patch 8.2.3356: adding many text properties requires a lot of function calls
Bram Moolenaar <Bram@vim.org>
parents:
25571
diff
changeset
|
2539 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2540 def Test_prop_clear() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2541 CheckDefAndScriptFailure2(['prop_clear("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2542 CheckDefAndScriptFailure2(['prop_clear(1, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2543 CheckDefAndScriptFailure2(['prop_clear(1, 2, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2544 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
2545 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2546 def Test_prop_find() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2547 CheckDefAndScriptFailure2(['prop_find([1, 2])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2548 CheckDefAndScriptFailure2(['prop_find([1, 2], "k")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2549 CheckDefAndScriptFailure2(['prop_find({"a": 10}, ["a"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2550 assert_fails("prop_find({}, '')", 'E474:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2551 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2552 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2553 def Test_prop_list() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2554 CheckDefAndScriptFailure2(['prop_list("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2555 CheckDefAndScriptFailure2(['prop_list(1, [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2556 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2557 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2558 def Test_prop_remove() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2559 CheckDefAndScriptFailure2(['prop_remove([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2560 CheckDefAndScriptFailure2(['prop_remove({}, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2561 CheckDefAndScriptFailure2(['prop_remove({}, 1, "b")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2562 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2563 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2564 def Test_prop_type_add() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2565 CheckDefAndScriptFailure2(['prop_type_add({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2566 CheckDefAndScriptFailure2(['prop_type_add("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2567 assert_fails("prop_type_add('', {highlight: 'Search'})", 'E474:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2568 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2569 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2570 def Test_prop_type_change() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2571 CheckDefAndScriptFailure2(['prop_type_change({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2572 CheckDefAndScriptFailure2(['prop_type_change("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2573 assert_fails("prop_type_change('', {highlight: 'Search'})", 'E474:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2574 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2575 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2576 def Test_prop_type_delete() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2577 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2578 CheckDefAndScriptFailure2(['prop_type_delete({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2579 CheckDefAndScriptFailure2(['prop_type_delete("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2580 assert_fails("prop_type_delete('')", 'E474:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2581 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2582 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2583 def Test_prop_type_get() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2584 CheckDefAndScriptFailure2(['prop_type_get({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2585 CheckDefAndScriptFailure2(['prop_type_get({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2586 CheckDefAndScriptFailure2(['prop_type_get("a", "b")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
2587 assert_fails("prop_type_get('')", 'E474:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2588 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2589 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2590 def Test_prop_type_list() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2591 CheckDefAndScriptFailure2(['prop_type_list(["a"])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2592 CheckDefAndScriptFailure2(['prop_type_list(2)'], 'E1013: Argument 1: type mismatch, expected dict<any> but got number', 'E1206: Dictionary required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2593 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2594 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2595 def Test_py3eval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2596 if !has('python3') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2597 CheckFeature python3 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2598 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2599 CheckDefAndScriptFailure2(['py3eval([2])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2600 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2601 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2602 def Test_pyeval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2603 if !has('python') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2604 CheckFeature python |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2605 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2606 CheckDefAndScriptFailure2(['pyeval([2])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2607 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2608 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2609 def Test_pyxeval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2610 if !has('python') && !has('python3') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2611 CheckFeature python |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2612 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2613 CheckDefAndScriptFailure2(['pyxeval([2])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2614 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2615 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2616 def Test_rand() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2617 CheckDefAndScriptFailure2(['rand(10)'], 'E1013: Argument 1: type mismatch, expected list<number> but got number', 'E1211: List required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2618 CheckDefFailure(['rand(["a"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2619 assert_true(rand() >= 0) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2620 assert_true(rand(srand()) >= 0) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2621 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2622 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2623 def Test_range() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2624 CheckDefAndScriptFailure2(['range("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2625 CheckDefAndScriptFailure2(['range(10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2626 CheckDefAndScriptFailure2(['range(10, 20, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2627 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2628 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2629 def Test_readdir() |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2630 eval expand('sautest')->readdir((e) => e[0] !=# '.') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2631 eval expand('sautest')->readdirex((e) => e.name[0] !=# '.') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2632 CheckDefAndScriptFailure2(['readdir(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2633 CheckDefAndScriptFailure2(['readdir("a", "1", [3])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2634 if has('unix') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2635 # only fails on Unix-like systems |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2636 assert_fails('readdir("")', 'E484: Can''t open file') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2637 endif |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2638 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2639 |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2640 def Test_readdirex() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2641 CheckDefAndScriptFailure2(['readdirex(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2642 CheckDefAndScriptFailure2(['readdirex("a", "1", [3])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2643 if has('unix') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2644 # only fails on Unix-like systems |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2645 assert_fails('readdirex("")', 'E484: Can''t open file') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2646 endif |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2647 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2648 |
23602
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2649 def Test_readblob() |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2650 var blob = 0z12341234 |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2651 writefile(blob, 'Xreadblob') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2652 var read: blob = readblob('Xreadblob') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2653 assert_equal(blob, read) |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2654 |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2655 var lines =<< trim END |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2656 var read: list<string> = readblob('Xreadblob') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2657 END |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2658 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<string> but got blob', 1) |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2659 CheckDefExecAndScriptFailure(['readblob("")'], 'E484: Can''t open file <empty>') |
23602
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2660 delete('Xreadblob') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2661 enddef |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2662 |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2663 def Test_readfile() |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2664 var text = ['aaa', 'bbb', 'ccc'] |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2665 writefile(text, 'Xreadfile') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2666 var read: list<string> = readfile('Xreadfile') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2667 assert_equal(text, read) |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2668 |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2669 var lines =<< trim END |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2670 var read: dict<string> = readfile('Xreadfile') |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2671 END |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2672 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict<string> but got list<string>', 1) |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2673 delete('Xreadfile') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2674 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2675 CheckDefAndScriptFailure2(['readfile("a", 0z10)'], 'E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2676 CheckDefAndScriptFailure2(['readfile("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2677 CheckDefExecAndScriptFailure(['readfile("")'], 'E1175: Non-empty string required for argument 1') |
23602
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2678 enddef |
7b3317e959e3
patch 8.2.2343: Vim9: return type of readfile() is any
Bram Moolenaar <Bram@vim.org>
parents:
23596
diff
changeset
|
2679 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2680 def Test_reduce() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2681 CheckDefAndScriptFailure2(['reduce({a: 10}, "1")'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E897: List or Blob required') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2682 assert_equal(6, [1, 2, 3]->reduce((r, c) => r + c, 0)) |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2683 assert_equal(11, 0z0506->reduce((r, c) => r + c, 0)) |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2684 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2685 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2686 def Test_reltime() |
25250
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2687 CheckFeature reltime |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2688 |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2689 CheckDefExecAndScriptFailure(['[]->reltime()'], 'E474:') |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2690 CheckDefExecAndScriptFailure(['[]->reltime([])'], 'E474:') |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2691 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2692 CheckDefAndScriptFailure2(['reltime("x")'], 'E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2693 CheckDefFailure(['reltime(["x", "y"])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<string>') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2694 CheckDefAndScriptFailure2(['reltime([1, 2], 10)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2695 CheckDefFailure(['reltime([1, 2], ["a", "b"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2696 var start: list<any> = reltime() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2697 assert_true(type(reltime(start)) == v:t_list) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2698 var end: list<any> = reltime() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2699 assert_true(type(reltime(start, end)) == v:t_list) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2700 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2701 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2702 def Test_reltimefloat() |
25250
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2703 CheckFeature reltime |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2704 |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2705 CheckDefExecAndScriptFailure(['[]->reltimefloat()'], 'E474:') |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2706 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2707 CheckDefAndScriptFailure2(['reltimefloat("x")'], 'E1013: Argument 1: type mismatch, expected list<number> but got string', 'E1211: List required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2708 CheckDefFailure(['reltimefloat([1.1])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<float>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2709 assert_true(type(reltimefloat(reltime())) == v:t_float) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2710 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2711 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2712 def Test_reltimestr() |
25250
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2713 CheckFeature reltime |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2714 |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2715 CheckDefExecAndScriptFailure(['[]->reltimestr()'], 'E474:') |
532faf893d37
patch 8.2.3161: Vim9: no error when reltime() has invalid arguments
Bram Moolenaar <Bram@vim.org>
parents:
25240
diff
changeset
|
2716 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2717 CheckDefAndScriptFailure2(['reltimestr(true)'], 'E1013: Argument 1: type mismatch, expected list<number> but got bool', 'E1211: List required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2718 CheckDefFailure(['reltimestr([true])'], 'E1013: Argument 1: type mismatch, expected list<number> but got list<bool>') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2719 assert_true(type(reltimestr(reltime())) == v:t_string) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2720 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2721 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2722 def Test_remote_expr() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2723 CheckFeature clientserver |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2724 CheckEnv DISPLAY |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2725 CheckDefAndScriptFailure2(['remote_expr(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2726 CheckDefAndScriptFailure2(['remote_expr("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2727 CheckDefAndScriptFailure2(['remote_expr("a", "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2728 CheckDefAndScriptFailure2(['remote_expr("a", "b", "c", "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
2729 CheckDefExecAndScriptFailure(['remote_expr("", "")'], 'E241: Unable to send to ') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2730 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2731 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2732 def Test_remote_foreground() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2733 CheckFeature clientserver |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2734 # remote_foreground() doesn't fail on MS-Windows |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2735 CheckNotMSWindows |
25143
54a547489e49
patch 8.2.3108: test for remote_foreground() fails
Bram Moolenaar <Bram@vim.org>
parents:
25110
diff
changeset
|
2736 CheckEnv DISPLAY |
54a547489e49
patch 8.2.3108: test for remote_foreground() fails
Bram Moolenaar <Bram@vim.org>
parents:
25110
diff
changeset
|
2737 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2738 CheckDefAndScriptFailure2(['remote_foreground(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2739 assert_fails('remote_foreground("NonExistingServer")', 'E241:') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
2740 assert_fails('remote_foreground("")', 'E241:') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2741 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2742 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2743 def Test_remote_peek() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2744 CheckFeature clientserver |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2745 CheckEnv DISPLAY |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2746 CheckDefAndScriptFailure2(['remote_peek(0z10)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2747 CheckDefAndScriptFailure2(['remote_peek("a5b6c7", [1])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2748 CheckDefExecAndScriptFailure(['remote_peek("")'], 'E573: Invalid server id used') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2749 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2750 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2751 def Test_remote_read() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2752 CheckFeature clientserver |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2753 CheckEnv DISPLAY |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2754 CheckDefAndScriptFailure2(['remote_read(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2755 CheckDefAndScriptFailure2(['remote_read("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
2756 CheckDefExecAndScriptFailure(['remote_read("")'], 'E573: Invalid server id used') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2757 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2758 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2759 def Test_remote_send() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2760 CheckFeature clientserver |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2761 CheckEnv DISPLAY |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2762 CheckDefAndScriptFailure2(['remote_send(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2763 CheckDefAndScriptFailure2(['remote_send("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2764 CheckDefAndScriptFailure2(['remote_send("a", "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
2765 assert_fails('remote_send("", "")', 'E241:') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2766 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2767 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2768 def Test_remote_startserver() |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2769 CheckFeature clientserver |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2770 CheckEnv DISPLAY |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2771 CheckDefAndScriptFailure2(['remote_startserver({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2772 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2773 |
25290
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2774 def Test_remove_const_list() |
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2775 var l: list<number> = [1, 2, 3, 4] |
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2776 assert_equal([1, 2], remove(l, 0, 1)) |
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2777 assert_equal([3, 4], l) |
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2778 enddef |
8b7ea875afed
patch 8.2.3182: Vim9: crash when using removing items from a constant list
Bram Moolenaar <Bram@vim.org>
parents:
25288
diff
changeset
|
2779 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2780 def Test_remove() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2781 CheckDefAndScriptFailure2(['remove("a", 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1228: List, Dictionary or Blob required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2782 CheckDefAndScriptFailure2(['remove([], "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2783 CheckDefAndScriptFailure2(['remove([], 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2784 CheckDefAndScriptFailure2(['remove({}, 1.1)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2785 CheckDefAndScriptFailure2(['remove(0z10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2786 CheckDefAndScriptFailure2(['remove(0z20, 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2787 var l: any = [1, 2, 3, 4] |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2788 remove(l, 1) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2789 assert_equal([1, 3, 4], l) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2790 remove(l, 0, 1) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2791 assert_equal([4], l) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2792 var b: any = 0z1234.5678.90 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2793 remove(b, 1) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2794 assert_equal(0z1256.7890, b) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2795 remove(b, 1, 2) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2796 assert_equal(0z1290, b) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2797 var d: any = {a: 10, b: 20, c: 30} |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2798 remove(d, 'b') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2799 assert_equal({a: 10, c: 30}, d) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2800 var d2: any = {1: 'a', 2: 'b', 3: 'c'} |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2801 remove(d2, 2) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2802 assert_equal({1: 'a', 3: 'c'}, d2) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2803 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2804 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2805 def Test_remove_return_type() |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2806 var l = remove({one: [1, 2], two: [3, 4]}, 'one') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2807 var res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2808 for n in l |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2809 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2810 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2811 res->assert_equal(3) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2812 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2813 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2814 def Test_rename() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2815 CheckDefAndScriptFailure2(['rename(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2816 CheckDefAndScriptFailure2(['rename("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2817 rename('', '')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2818 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2819 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2820 def Test_repeat() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2821 CheckDefAndScriptFailure2(['repeat(1.1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1224: String, Number or List required for argument 1') |
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2822 CheckDefAndScriptFailure2(['repeat({a: 10}, 2)'], 'E1013: Argument 1: type mismatch, expected string but got dict<', 'E1224: String, Number or List required for argument 1') |
25449
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2823 var lines =<< trim END |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2824 assert_equal('aaa', repeat('a', 3)) |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2825 assert_equal('111', repeat(1, 3)) |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2826 assert_equal([1, 1, 1], repeat([1], 3)) |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2827 var s = '-' |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2828 s ..= repeat(5, 3) |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2829 assert_equal('-555', s) |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2830 END |
5dce28f92d04
patch 8.2.3261: Vim9: when compiling repeat(123, N) return type is number
Bram Moolenaar <Bram@vim.org>
parents:
25443
diff
changeset
|
2831 CheckDefAndScriptSuccess(lines) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2832 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2833 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2834 def Test_resolve() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2835 CheckDefAndScriptFailure2(['resolve([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2836 assert_equal('SomeFile', resolve('SomeFile')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2837 resolve('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2838 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2839 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2840 def Test_reverse() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2841 CheckDefAndScriptFailure2(['reverse(10)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1226: List or Blob required for argument 1') |
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
2842 CheckDefAndScriptFailure2(['reverse("abc")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1226: List or Blob required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2843 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
2844 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2845 def Test_reverse_return_type() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2846 var l = reverse([1, 2, 3]) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2847 var res = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2848 for n in l |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2849 res += n |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2850 endfor |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2851 res->assert_equal(6) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2852 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2853 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2854 def Test_rubyeval() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2855 if !has('ruby') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2856 CheckFeature ruby |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2857 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2858 CheckDefAndScriptFailure2(['rubyeval([2])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2859 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
2860 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2861 def Test_screenattr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2862 CheckDefAndScriptFailure2(['screenattr("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2863 CheckDefAndScriptFailure2(['screenattr(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2864 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2865 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2866 def Test_screenchar() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2867 CheckDefAndScriptFailure2(['screenchar("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2868 CheckDefAndScriptFailure2(['screenchar(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2869 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2870 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2871 def Test_screenchars() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2872 CheckDefAndScriptFailure2(['screenchars("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2873 CheckDefAndScriptFailure2(['screenchars(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2874 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2875 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2876 def Test_screenpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2877 CheckDefAndScriptFailure2(['screenpos("a", 1, 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2878 CheckDefAndScriptFailure2(['screenpos(1, "b", 1)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2879 CheckDefAndScriptFailure2(['screenpos(1, 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2880 assert_equal({col: 1, row: 1, endcol: 1, curscol: 1}, screenpos(1, 1, 1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2881 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
2882 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2883 def Test_screenstring() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2884 CheckDefAndScriptFailure2(['screenstring("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2885 CheckDefAndScriptFailure2(['screenstring(1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2886 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
2887 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2888 def Test_search() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2889 new |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2890 setline(1, ['foo', 'bar']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2891 var val = 0 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2892 # skip expr returns boolean |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2893 search('bar', 'W', 0, 0, () => val == 1)->assert_equal(2) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2894 :1 |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2895 search('bar', 'W', 0, 0, () => val == 0)->assert_equal(0) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2896 # skip expr returns number, only 0 and 1 are accepted |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2897 :1 |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2898 search('bar', 'W', 0, 0, () => 0)->assert_equal(2) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2899 :1 |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2900 search('bar', 'W', 0, 0, () => 1)->assert_equal(0) |
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2901 assert_fails("search('bar', '', 0, 0, () => -1)", 'E1023:') |
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
2902 assert_fails("search('bar', '', 0, 0, () => -1)", 'E1023:') |
24608
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2903 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2904 setline(1, "find this word") |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2905 normal gg |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2906 var col = 7 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2907 assert_equal(1, search('this', '', 0, 0, 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2908 normal 0 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2909 assert_equal([1, 6], searchpos('this', '', 0, 0, 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2910 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2911 col = 5 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2912 normal 0 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2913 assert_equal(0, search('this', '', 0, 0, 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2914 normal 0 |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2915 assert_equal([0, 0], searchpos('this', '', 0, 0, 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2916 bwipe! |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2917 CheckDefAndScriptFailure2(['search(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2918 CheckDefAndScriptFailure2(['search("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2919 CheckDefAndScriptFailure2(['search("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2920 CheckDefAndScriptFailure2(['search("a", "b", 3, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2921 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2922 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2923 def Test_searchcount() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2924 new |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2925 setline(1, "foo bar") |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2926 :/foo |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2927 searchcount({recompute: true}) |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2928 ->assert_equal({ |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2929 exact_match: 1, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2930 current: 1, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2931 total: 1, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2932 maxcount: 99, |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2933 incomplete: 0}) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2934 bwipe! |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
2935 CheckDefAndScriptFailure2(['searchcount([1])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 1') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2936 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2937 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2938 def Test_searchdecl() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2939 searchdecl('blah', true, true)->assert_equal(1) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2940 CheckDefAndScriptFailure2(['searchdecl(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2941 CheckDefAndScriptFailure2(['searchdecl("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2942 CheckDefAndScriptFailure2(['searchdecl("a", true, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2943 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
2944 |
24606
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2945 def Test_searchpair() |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2946 new |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2947 setline(1, "here { and } there") |
24608
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2948 |
24606
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2949 normal f{ |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2950 var col = 15 |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2951 assert_equal(1, searchpair('{', '', '}', '', 'col(".") > col')) |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2952 assert_equal(12, col('.')) |
24608
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2953 normal 0f{ |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2954 assert_equal([1, 12], searchpairpos('{', '', '}', '', 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2955 |
24606
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2956 col = 8 |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2957 normal 0f{ |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2958 assert_equal(0, searchpair('{', '', '}', '', 'col(".") > col')) |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2959 assert_equal(6, col('.')) |
24608
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2960 normal 0f{ |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2961 assert_equal([0, 0], searchpairpos('{', '', '}', '', 'col(".") > col')) |
cb031f421ece
patch 8.2.2843: Vim9: skip argument to searchpairpos() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24606
diff
changeset
|
2962 |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2963 # searchpair with empty strings |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2964 normal 8| |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2965 assert_equal(0, searchpair('', '', '')) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2966 assert_equal([0, 0], searchpairpos('', '', '')) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
2967 |
24637
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2968 var lines =<< trim END |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2969 vim9script |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2970 setline(1, '()') |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2971 normal gg |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2972 def Fail() |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2973 try |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2974 searchpairpos('(', '', ')', 'nW', '[0]->map("")') |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2975 catch |
24659
982516c8d692
patch 8.2.2868: Vim9: when executing compiled expression trylevel is changed
Bram Moolenaar <Bram@vim.org>
parents:
24637
diff
changeset
|
2976 g:caught = 'yes' |
24637
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2977 endtry |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2978 enddef |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2979 Fail() |
4a4f64cdc798
patch 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level
Bram Moolenaar <Bram@vim.org>
parents:
24608
diff
changeset
|
2980 END |
24659
982516c8d692
patch 8.2.2868: Vim9: when executing compiled expression trylevel is changed
Bram Moolenaar <Bram@vim.org>
parents:
24637
diff
changeset
|
2981 CheckScriptSuccess(lines) |
982516c8d692
patch 8.2.2868: Vim9: when executing compiled expression trylevel is changed
Bram Moolenaar <Bram@vim.org>
parents:
24637
diff
changeset
|
2982 assert_equal('yes', g:caught) |
982516c8d692
patch 8.2.2868: Vim9: when executing compiled expression trylevel is changed
Bram Moolenaar <Bram@vim.org>
parents:
24637
diff
changeset
|
2983 unlet g:caught |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2984 bwipe! |
25340
37001467805f
patch 8.2.3207: Vim9: crash when compiling string fails
Bram Moolenaar <Bram@vim.org>
parents:
25338
diff
changeset
|
2985 |
37001467805f
patch 8.2.3207: Vim9: crash when compiling string fails
Bram Moolenaar <Bram@vim.org>
parents:
25338
diff
changeset
|
2986 lines =<< trim END |
25346
f874e7095878
patch 8.2.3210: Vim9: searchpair() sixth argument is compiled
Bram Moolenaar <Bram@vim.org>
parents:
25340
diff
changeset
|
2987 echo searchpair("a", "b", "c", "d", "f", 33) |
25340
37001467805f
patch 8.2.3207: Vim9: crash when compiling string fails
Bram Moolenaar <Bram@vim.org>
parents:
25338
diff
changeset
|
2988 END |
25346
f874e7095878
patch 8.2.3210: Vim9: searchpair() sixth argument is compiled
Bram Moolenaar <Bram@vim.org>
parents:
25340
diff
changeset
|
2989 CheckDefAndScriptFailure2(lines, 'E1001: Variable not found: f', 'E475: Invalid argument: d') |
f874e7095878
patch 8.2.3210: Vim9: searchpair() sixth argument is compiled
Bram Moolenaar <Bram@vim.org>
parents:
25340
diff
changeset
|
2990 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2991 CheckDefAndScriptFailure2(['searchpair(1, "b", "c")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2992 CheckDefAndScriptFailure2(['searchpair("a", 2, "c")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2993 CheckDefAndScriptFailure2(['searchpair("a", "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
2994 CheckDefAndScriptFailure2(['searchpair("a", "b", "c", 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2995 CheckDefAndScriptFailure2(['searchpair("a", "b", "c", "r", "1", "f")'], 'E1013: Argument 6: type mismatch, expected number but got string', 'E1210: Number required for argument 6') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
2996 CheckDefAndScriptFailure2(['searchpair("a", "b", "c", "r", "1", 3, "g")'], 'E1013: Argument 7: type mismatch, expected number but got string', 'E1210: Number required for argument 7') |
24606
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2997 enddef |
a4fda40e0bb9
patch 8.2.2842: Vim9: skip argument to searchpair() is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
24584
diff
changeset
|
2998 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
2999 def Test_searchpos() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3000 CheckDefAndScriptFailure2(['searchpos(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3001 CheckDefAndScriptFailure2(['searchpos("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3002 CheckDefAndScriptFailure2(['searchpos("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3003 CheckDefAndScriptFailure2(['searchpos("a", "b", 3, "d")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3004 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3005 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3006 def Test_server2client() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3007 CheckFeature clientserver |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3008 CheckEnv DISPLAY |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3009 CheckDefAndScriptFailure2(['server2client(10, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3010 CheckDefAndScriptFailure2(['server2client("a", 10)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3011 CheckDefExecAndScriptFailure(['server2client("", "a")'], 'E573: Invalid server id used') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3012 CheckDefExecAndScriptFailure(['server2client("", "")'], 'E573: Invalid server id used') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3013 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3014 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3015 def Test_shellescape() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3016 CheckDefAndScriptFailure2(['shellescape(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3017 CheckDefAndScriptFailure2(['shellescape("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3018 if has('unix') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3019 assert_equal("''", shellescape('')) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3020 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3021 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3022 |
23788
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3023 def Test_set_get_bufline() |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3024 # similar to Test_setbufline_getbufline() |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3025 var lines =<< trim END |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3026 new |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3027 var b = bufnr('%') |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3028 hide |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3029 assert_equal(0, setbufline(b, 1, ['foo', 'bar'])) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3030 assert_equal(['foo'], getbufline(b, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3031 assert_equal(['bar'], getbufline(b, '$')) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3032 assert_equal(['foo', 'bar'], getbufline(b, 1, 2)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3033 exe "bd!" b |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3034 assert_equal([], getbufline(b, 1, 2)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3035 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3036 split Xtest |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3037 setline(1, ['a', 'b', 'c']) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3038 b = bufnr('%') |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3039 wincmd w |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3040 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3041 assert_equal(1, setbufline(b, 5, 'x')) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3042 assert_equal(1, setbufline(b, 5, ['x'])) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3043 assert_equal(1, setbufline(b, 5, [])) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3044 assert_equal(1, setbufline(b, 5, test_null_list())) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3045 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3046 assert_equal(1, 'x'->setbufline(bufnr('$') + 1, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3047 assert_equal(1, ['x']->setbufline(bufnr('$') + 1, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3048 assert_equal(1, []->setbufline(bufnr('$') + 1, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3049 assert_equal(1, test_null_list()->setbufline(bufnr('$') + 1, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3050 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3051 assert_equal(['a', 'b', 'c'], getbufline(b, 1, '$')) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3052 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3053 assert_equal(0, setbufline(b, 4, ['d', 'e'])) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3054 assert_equal(['c'], b->getbufline(3)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3055 assert_equal(['d'], getbufline(b, 4)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3056 assert_equal(['e'], getbufline(b, 5)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3057 assert_equal([], getbufline(b, 6)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3058 assert_equal([], getbufline(b, 2, 1)) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3059 |
23875
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3060 if has('job') |
24812
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3061 setbufline(b, 2, [function('eval'), {key: 123}, string(test_null_job())]) |
23875
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3062 assert_equal(["function('eval')", |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3063 "{'key': 123}", |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3064 "no process"], |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3065 getbufline(b, 2, 4)) |
54b583156d53
patch 8.2.2479: set/getbufline test fails without the job feature
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3066 endif |
23788
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3067 |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3068 exe 'bwipe! ' .. b |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3069 END |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3070 CheckDefAndScriptSuccess(lines) |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3071 enddef |
d12ef361d9de
patch 8.2.2435: setline() gives an error for some types
Bram Moolenaar <Bram@vim.org>
parents:
23786
diff
changeset
|
3072 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3073 def Test_setbufvar() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3074 setbufvar(bufnr('%'), '&syntax', 'vim') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3075 &syntax->assert_equal('vim') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3076 setbufvar(bufnr('%'), '&ts', 16) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3077 &ts->assert_equal(16) |
23483
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3078 setbufvar(bufnr('%'), '&ai', true) |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3079 &ai->assert_equal(true) |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3080 setbufvar(bufnr('%'), '&ft', 'filetype') |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3081 &ft->assert_equal('filetype') |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3082 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3083 settabwinvar(1, 1, '&syntax', 'vam') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3084 &syntax->assert_equal('vam') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3085 settabwinvar(1, 1, '&ts', 15) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3086 &ts->assert_equal(15) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3087 setlocal ts=8 |
23485
198ad7ef2420
patch 8.2.2285: Vim9: cannot set an option to a false
Bram Moolenaar <Bram@vim.org>
parents:
23483
diff
changeset
|
3088 settabwinvar(1, 1, '&list', false) |
198ad7ef2420
patch 8.2.2285: Vim9: cannot set an option to a false
Bram Moolenaar <Bram@vim.org>
parents:
23483
diff
changeset
|
3089 &list->assert_equal(false) |
23483
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3090 settabwinvar(1, 1, '&list', true) |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3091 &list->assert_equal(true) |
ce7d6b461660
patch 8.2.2284: Vim9: cannot set an option to a boolean value
Bram Moolenaar <Bram@vim.org>
parents:
23458
diff
changeset
|
3092 setlocal list& |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3093 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3094 setbufvar('%', 'myvar', 123) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3095 getbufvar('%', 'myvar')->assert_equal(123) |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3096 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3097 CheckDefAndScriptFailure2(['setbufvar(true, "v", 3)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3098 CheckDefAndScriptFailure2(['setbufvar(1, 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3099 assert_fails('setbufvar("%", "", 10)', 'E461: Illegal variable name') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3100 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3101 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3102 def Test_setbufline() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3103 new |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3104 var bnum = bufnr('%') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3105 :wincmd w |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3106 setbufline(bnum, 1, range(1, 3)) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3107 setbufline(bnum, 4, 'one') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3108 setbufline(bnum, 5, 10) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3109 setbufline(bnum, 6, ['two', 11]) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3110 assert_equal(['1', '2', '3', 'one', '10', 'two', '11'], getbufline(bnum, 1, '$')) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3111 CheckDefAndScriptFailure2(['setbufline([1], 1, "x")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3112 CheckDefAndScriptFailure2(['setbufline(1, [1], "x")'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 2') |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
3113 CheckDefAndScriptFailure2(['setbufline(1, 1, {"a": 10})'], 'E1013: Argument 3: type mismatch, expected string but got dict<number>', 'E1224: String, Number or List required for argument 3') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3114 bnum->bufwinid()->win_gotoid() |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3115 setbufline('', 1, 'nombres') |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3116 getline(1)->assert_equal('nombres') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3117 bw! |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3118 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3119 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3120 def Test_setcellwidths() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3121 CheckDefAndScriptFailure2(['setcellwidths(1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3122 CheckDefAndScriptFailure2(['setcellwidths({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3123 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3124 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3125 def Test_setcharpos() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3126 CheckDefAndScriptFailure2(['setcharpos(1, [])'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3127 CheckDefFailure(['setcharpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3128 CheckDefAndScriptFailure2(['setcharpos(".", 1)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3129 CheckDefExecAndScriptFailure(['setcharpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3130 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3131 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3132 def Test_setcharsearch() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3133 CheckDefAndScriptFailure2(['setcharsearch("x")'], 'E1013: Argument 1: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3134 CheckDefAndScriptFailure2(['setcharsearch([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3135 var d: dict<any> = {char: 'x', forward: 1, until: 1} |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3136 setcharsearch(d) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3137 assert_equal(d, getcharsearch()) |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3138 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3139 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3140 def Test_setcmdpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3141 CheckDefAndScriptFailure2(['setcmdpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3142 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3143 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3144 def Test_setcursorcharpos() |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
3145 CheckDefAndScriptFailure2(['setcursorcharpos(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected number but got blob', 'E1224: String, Number or List required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3146 CheckDefAndScriptFailure2(['setcursorcharpos(1, "2")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3147 CheckDefAndScriptFailure2(['setcursorcharpos(1, 2, "3")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3148 CheckDefExecAndScriptFailure(['setcursorcharpos("", 10)'], 'E1209: Invalid value for a line number') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3149 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3150 |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3151 def Test_setenv() |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3152 CheckDefAndScriptFailure2(['setenv(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3153 assert_equal(0, setenv('', '')) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3154 assert_equal(0, setenv('', v:null)) |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3155 enddef |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3156 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3157 def Test_setfperm() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3158 CheckDefAndScriptFailure2(['setfperm(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3159 CheckDefAndScriptFailure2(['setfperm("a", 0z10)'], 'E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3160 CheckDefExecAndScriptFailure(['setfperm("Xfile", "")'], 'E475: Invalid argument') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3161 CheckDefExecAndScriptFailure(['setfperm("", "")'], 'E475: Invalid argument') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3162 assert_equal(0, setfperm('', 'rw-r--r--')) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3163 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3164 |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3165 def Test_setline() |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3166 new |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3167 setline(1, range(1, 4)) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3168 assert_equal(['1', '2', '3', '4'], getline(1, '$')) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3169 setline(1, ['a', 'b', 'c', 'd']) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3170 assert_equal(['a', 'b', 'c', 'd'], getline(1, '$')) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3171 setline(1, 'one') |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3172 assert_equal(['one', 'b', 'c', 'd'], getline(1, '$')) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3173 setline(1, 10) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3174 assert_equal(['10', 'b', 'c', 'd'], getline(1, '$')) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3175 CheckDefAndScriptFailure2(['setline([1], "x")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3176 CheckDefExecAndScriptFailure(['setline("", "x")'], 'E1209: Invalid value for a line number') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3177 bw! |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3178 enddef |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3179 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3180 def Test_setloclist() |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
3181 var items = [{filename: '/tmp/file', lnum: 1, valid: true}] |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
3182 var what = {items: items} |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3183 setqflist([], ' ', what) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3184 setloclist(0, [], ' ', what) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3185 CheckDefAndScriptFailure2(['setloclist("1", [])'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3186 CheckDefAndScriptFailure2(['setloclist(1, 2)'], 'E1013: Argument 2: type mismatch, expected list<any> but got number', 'E1211: List required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3187 CheckDefAndScriptFailure2(['setloclist(1, [], 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3188 CheckDefAndScriptFailure2(['setloclist(1, [], "a", [])'], 'E1013: Argument 4: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 4') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3189 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3190 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3191 def Test_setmatches() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3192 CheckDefAndScriptFailure2(['setmatches({})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3193 CheckDefAndScriptFailure2(['setmatches([], "1")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3194 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3195 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3196 def Test_setpos() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3197 CheckDefAndScriptFailure2(['setpos(1, [])'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3198 CheckDefFailure(['setpos(".", ["a"])'], 'E1013: Argument 2: type mismatch, expected list<number> but got list<string>') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3199 CheckDefAndScriptFailure2(['setpos(".", 1)'], 'E1013: Argument 2: type mismatch, expected list<number> but got number', 'E1211: List required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3200 CheckDefExecAndScriptFailure(['setpos("", [0, 1, 1, 1])'], 'E474: Invalid argument') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3201 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3202 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3203 def Test_setqflist() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3204 CheckDefAndScriptFailure2(['setqflist(1, "")'], 'E1013: Argument 1: type mismatch, expected list<any> but got number', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3205 CheckDefAndScriptFailure2(['setqflist([], 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3206 CheckDefAndScriptFailure2(['setqflist([], "", [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3207 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3208 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3209 def Test_setreg() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3210 setreg('a', ['aaa', 'bbb', 'ccc']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3211 var reginfo = getreginfo('a') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3212 setreg('a', reginfo) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3213 getreginfo('a')->assert_equal(reginfo) |
23909
5db7d275543c
patch 8.2.2497: no error when using more than one character for a register
Bram Moolenaar <Bram@vim.org>
parents:
23875
diff
changeset
|
3214 assert_fails('setreg("ab", 0)', 'E1162:') |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3215 CheckDefAndScriptFailure2(['setreg(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25366
diff
changeset
|
3216 CheckDefAndScriptFailure2(['setreg("a", "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3217 setreg('', '1a2b3c') |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3218 assert_equal('1a2b3c', @") |
25525
8880eb140a00
patch 8.2.3299: Vim9: exists() does not handle much at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25479
diff
changeset
|
3219 enddef |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3220 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3221 def Test_settabvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3222 CheckDefAndScriptFailure2(['settabvar("a", "b", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3223 CheckDefAndScriptFailure2(['settabvar(1, 2, "c")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3224 assert_fails('settabvar(1, "", 10)', 'E461: Illegal variable name') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3225 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3226 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3227 def Test_settabwinvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3228 CheckDefAndScriptFailure2(['settabwinvar("a", 2, "c", true)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3229 CheckDefAndScriptFailure2(['settabwinvar(1, "b", "c", [])'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3230 CheckDefAndScriptFailure2(['settabwinvar(1, 1, 3, {})'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3231 assert_fails('settabwinvar(1, 1, "", 10)', 'E461: Illegal variable name') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3232 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3233 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3234 def Test_settagstack() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3235 CheckDefAndScriptFailure2(['settagstack(true, {})'], 'E1013: Argument 1: type mismatch, expected number but got bool', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3236 CheckDefAndScriptFailure2(['settagstack(1, [1])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3237 CheckDefAndScriptFailure2(['settagstack(1, {}, 2)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3238 assert_fails('settagstack(1, {}, "")', 'E962: Invalid action') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3239 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3240 |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3241 def Test_setwinvar() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3242 CheckDefAndScriptFailure2(['setwinvar("a", "b", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3243 CheckDefAndScriptFailure2(['setwinvar(1, 2, "c")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3244 assert_fails('setwinvar(1, "", 10)', 'E461: Illegal variable name') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3245 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3246 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3247 def Test_sha256() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3248 CheckDefAndScriptFailure2(['sha256(100)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3249 CheckDefAndScriptFailure2(['sha256(0zABCD)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3250 assert_equal('ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad', sha256('abc')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3251 assert_equal('e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', sha256('')) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3252 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3253 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3254 def Test_shiftwidth() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3255 CheckDefAndScriptFailure2(['shiftwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3256 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3257 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3258 def Test_sign_define() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3259 CheckDefAndScriptFailure2(['sign_define({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3260 CheckDefAndScriptFailure2(['sign_define({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1222: String or List required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3261 CheckDefAndScriptFailure2(['sign_define("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3262 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3263 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3264 def Test_sign_getdefined() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3265 CheckDefAndScriptFailure2(['sign_getdefined(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3266 CheckDefAndScriptFailure2(['sign_getdefined(2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3267 sign_getdefined('')->assert_equal([]) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3268 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3269 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3270 def Test_sign_getplaced() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3271 CheckDefAndScriptFailure2(['sign_getplaced(["x"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3272 CheckDefAndScriptFailure2(['sign_getplaced(1, ["a"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3273 CheckDefAndScriptFailure2(['sign_getplaced("a", 1.1)'], 'E1013: Argument 2: type mismatch, expected dict<any> but got float', 'E1206: Dictionary required for argument 2') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3274 CheckDefExecAndScriptFailure(['sign_getplaced(bufnr(), {lnum: ""})'], 'E1030: Using a String as a Number:') |
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3275 sign_getplaced('')->assert_equal([{signs: [], bufnr: bufnr()}]) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3276 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3277 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3278 def Test_sign_jump() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3279 CheckDefAndScriptFailure2(['sign_jump("a", "b", "c")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3280 CheckDefAndScriptFailure2(['sign_jump(1, 2, 3)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3281 CheckDefAndScriptFailure2(['sign_jump(1, "b", true)'], 'E1013: Argument 3: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 3') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3282 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3283 |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3284 def Test_sign_place() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3285 CheckDefAndScriptFailure2(['sign_place("a", "b", "c", "d")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3286 CheckDefAndScriptFailure2(['sign_place(1, 2, "c", "d")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3287 CheckDefAndScriptFailure2(['sign_place(1, "b", 3, "d")'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3288 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') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3289 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') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3290 CheckDefExecAndScriptFailure(['sign_place(0, "", "MySign", bufnr(), {lnum: ""})'], 'E1209: Invalid value for a line number: ""') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3291 assert_fails("sign_place(0, '', '', '')", 'E155:') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3292 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3293 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3294 def Test_sign_placelist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3295 CheckDefAndScriptFailure2(['sign_placelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3296 CheckDefAndScriptFailure2(['sign_placelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') |
25850
6f615b2fdc66
patch 8.2.3459: Vim9: need more tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25844
diff
changeset
|
3297 CheckDefExecAndScriptFailure(['sign_placelist([{"name": "MySign", "buffer": bufnr(), "lnum": ""}])'], 'E1209: Invalid value for a line number: ""') |
26145
3da380450cce
patch 8.2.3605: cannot clear and unlinke a highlight group with hlset()
Bram Moolenaar <Bram@vim.org>
parents:
26089
diff
changeset
|
3298 assert_fails('sign_placelist([{name: "MySign", buffer: "", lnum: 1}])', 'E155:') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3299 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3300 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3301 def Test_sign_undefine() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3302 CheckDefAndScriptFailure2(['sign_undefine({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3303 CheckDefAndScriptFailure2(['sign_undefine([1])'], 'E1013: Argument 1: type mismatch, expected list<string> but got list<number>', 'E155: Unknown sign:') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3304 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3305 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3306 def Test_sign_unplace() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3307 CheckDefAndScriptFailure2(['sign_unplace({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3308 CheckDefAndScriptFailure2(['sign_unplace({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3309 CheckDefAndScriptFailure2(['sign_unplace("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3310 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3311 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3312 def Test_sign_unplacelist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3313 CheckDefAndScriptFailure2(['sign_unplacelist("x")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3314 CheckDefAndScriptFailure2(['sign_unplacelist({"a": 10})'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3315 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3316 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3317 def Test_simplify() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3318 CheckDefAndScriptFailure2(['simplify(100)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3319 call assert_equal('NonExistingFile', simplify('NonExistingFile')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3320 simplify('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3321 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3322 |
23604
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3323 def Test_slice() |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3324 assert_equal('12345', slice('012345', 1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3325 assert_equal('123', slice('012345', 1, 4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3326 assert_equal('1234', slice('012345', 1, -1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3327 assert_equal('1', slice('012345', 1, -4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3328 assert_equal('', slice('012345', 1, -5)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3329 assert_equal('', slice('012345', 1, -6)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3330 |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3331 assert_equal([1, 2, 3, 4, 5], slice(range(6), 1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3332 assert_equal([1, 2, 3], slice(range(6), 1, 4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3333 assert_equal([1, 2, 3, 4], slice(range(6), 1, -1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3334 assert_equal([1], slice(range(6), 1, -4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3335 assert_equal([], slice(range(6), 1, -5)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3336 assert_equal([], slice(range(6), 1, -6)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3337 |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3338 assert_equal(0z1122334455, slice(0z001122334455, 1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3339 assert_equal(0z112233, slice(0z001122334455, 1, 4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3340 assert_equal(0z11223344, slice(0z001122334455, 1, -1)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3341 assert_equal(0z11, slice(0z001122334455, 1, -4)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3342 assert_equal(0z, slice(0z001122334455, 1, -5)) |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3343 assert_equal(0z, slice(0z001122334455, 1, -6)) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3344 CheckDefAndScriptFailure2(['slice({"a": 10}, 1)'], 'E1013: Argument 1: type mismatch, expected list<any> but got dict<number>', 'E1211: List required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3345 CheckDefAndScriptFailure2(['slice([1, 2, 3], "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3346 CheckDefAndScriptFailure2(['slice("abc", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
23604
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3347 enddef |
1816ea68c022
patch 8.2.2344: using inclusive index for slice is not always desired
Bram Moolenaar <Bram@vim.org>
parents:
23602
diff
changeset
|
3348 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3349 def Test_spellsuggest() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3350 if !has('spell') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
3351 CheckFeature spell |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3352 else |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3353 spellsuggest('marrch', 1, true)->assert_equal(['March']) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3354 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3355 CheckDefAndScriptFailure2(['spellsuggest(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3356 CheckDefAndScriptFailure2(['spellsuggest("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3357 CheckDefAndScriptFailure2(['spellsuggest("a", 1, 0z01)'], 'E1013: Argument 3: type mismatch, expected bool but got blob', 'E1212: Bool required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3358 spellsuggest('')->assert_equal([]) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3359 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3360 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3361 def Test_sound_playevent() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3362 CheckFeature sound |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3363 CheckDefAndScriptFailure2(['sound_playevent(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3364 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3365 |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3366 def Test_sound_playfile() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3367 CheckFeature sound |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3368 CheckDefAndScriptFailure2(['sound_playfile(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3369 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3370 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3371 def Test_sound_stop() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3372 CheckFeature sound |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3373 CheckDefAndScriptFailure2(['sound_stop("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3374 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3375 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3376 def Test_soundfold() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3377 CheckDefAndScriptFailure2(['soundfold(20)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3378 assert_equal('abc', soundfold('abc')) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3379 assert_equal('', soundfold('')) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3380 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3381 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3382 def Test_sort_return_type() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3383 var res: list<number> |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3384 res = [1, 2, 3]->sort() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3385 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3386 |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3387 def Test_sort_argument() |
23104
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3388 var lines =<< trim END |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3389 var res = ['b', 'a', 'c']->sort('i') |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3390 res->assert_equal(['a', 'b', 'c']) |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3391 |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3392 def Compare(a: number, b: number): number |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3393 return a - b |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3394 enddef |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3395 var l = [3, 6, 7, 1, 8, 2, 4, 5] |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3396 sort(l, Compare) |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3397 assert_equal([1, 2, 3, 4, 5, 6, 7, 8], l) |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3398 END |
1013a97d5dc0
patch 8.2.2098: Vim9: function argument of sort() and map() not tested
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
3399 CheckDefAndScriptSuccess(lines) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3400 CheckDefAndScriptFailure2(['sort("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3401 CheckDefAndScriptFailure2(['sort([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3402 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3403 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3404 def Test_spellbadword() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3405 CheckDefAndScriptFailure2(['spellbadword(100)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3406 spellbadword('good')->assert_equal(['', '']) |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3407 spellbadword('')->assert_equal(['', '']) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3408 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3409 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3410 def Test_split() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3411 split(' aa bb ', '\W\+', true)->assert_equal(['', 'aa', 'bb', '']) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3412 CheckDefAndScriptFailure2(['split(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3413 CheckDefAndScriptFailure2(['split("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3414 CheckDefAndScriptFailure2(['split("a", "b", 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3415 split('')->assert_equal([]) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3416 split('', '')->assert_equal([]) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3417 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3418 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3419 def Test_srand() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3420 CheckDefAndScriptFailure2(['srand("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3421 type(srand(100))->assert_equal(v:t_list) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3422 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3423 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3424 def Test_state() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3425 CheckDefAndScriptFailure2(['state({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3426 assert_equal('', state('a')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3427 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3428 |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3429 def Test_str2float() |
23804
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3430 if !has('float') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
3431 CheckFeature float |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3432 else |
23804
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3433 str2float("1.00")->assert_equal(1.00) |
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3434 str2float("2e-2")->assert_equal(0.02) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3435 str2float('')->assert_equal(0.0) |
23804
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3436 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3437 CheckDefAndScriptFailure2(['str2float(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
23804
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3438 endif |
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3439 enddef |
007fa6365dfb
patch 8.2.2443: Vim9: no compile time error for wrong str2float argument
Bram Moolenaar <Bram@vim.org>
parents:
23800
diff
changeset
|
3440 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3441 def Test_str2list() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3442 CheckDefAndScriptFailure2(['str2list(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25292
eaf013720ec8
patch 8.2.3183: duplicate error numbers
Bram Moolenaar <Bram@vim.org>
parents:
25290
diff
changeset
|
3443 CheckDefAndScriptFailure2(['str2list("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3444 assert_equal([97], str2list('a')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3445 assert_equal([97], str2list('a', 1)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3446 assert_equal([97], str2list('a', true)) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3447 str2list('')->assert_equal([]) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3448 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3449 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3450 def Test_str2nr() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3451 str2nr("1'000'000", 10, true)->assert_equal(1000000) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3452 str2nr('')->assert_equal(0) |
23786
0512923e54e1
patch 8.2.2434: Vim9: no error when compiling str2nr() with a number
Bram Moolenaar <Bram@vim.org>
parents:
23705
diff
changeset
|
3453 |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3454 CheckDefAndScriptFailure2(['str2nr(123)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3455 CheckDefAndScriptFailure2(['str2nr("123", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3456 CheckDefAndScriptFailure2(['str2nr("123", 10, "x")'], 'E1013: Argument 3: type mismatch, expected bool but got string', 'E1212: Bool required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3457 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3458 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3459 def Test_strcharlen() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3460 CheckDefAndScriptFailure2(['strcharlen([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3461 "abc"->strcharlen()->assert_equal(3) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3462 strcharlen(99)->assert_equal(2) |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3463 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3464 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3465 def Test_strcharpart() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3466 CheckDefAndScriptFailure2(['strcharpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3467 CheckDefAndScriptFailure2(['strcharpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3468 CheckDefAndScriptFailure2(['strcharpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3469 CheckDefAndScriptFailure2(['strcharpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3470 strcharpart('', 0)->assert_equal('') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3471 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3472 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3473 def Test_strchars() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3474 strchars("A\u20dd", true)->assert_equal(1) |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3475 CheckDefAndScriptFailure2(['strchars(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25292
eaf013720ec8
patch 8.2.3183: duplicate error numbers
Bram Moolenaar <Bram@vim.org>
parents:
25290
diff
changeset
|
3476 CheckDefAndScriptFailure2(['strchars("a", 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3477 assert_equal(3, strchars('abc')) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3478 assert_equal(3, strchars('abc', 1)) |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3479 assert_equal(3, strchars('abc', true)) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3480 strchars('')->assert_equal(0) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3481 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3482 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3483 def Test_strdisplaywidth() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3484 CheckDefAndScriptFailure2(['strdisplaywidth(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3485 CheckDefAndScriptFailure2(['strdisplaywidth("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3486 strdisplaywidth('')->assert_equal(0) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3487 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3488 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3489 def Test_strftime() |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3490 if exists('*strftime') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3491 CheckDefAndScriptFailure2(['strftime(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3492 CheckDefAndScriptFailure2(['strftime("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3493 strftime('')->assert_equal('') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3494 endif |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3495 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3496 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3497 def Test_strgetchar() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3498 CheckDefAndScriptFailure2(['strgetchar(1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3499 CheckDefAndScriptFailure2(['strgetchar("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3500 strgetchar('', 0)->assert_equal(-1) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3501 strgetchar('', 1)->assert_equal(-1) |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3502 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3503 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3504 def Test_stridx() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3505 CheckDefAndScriptFailure2(['stridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3506 CheckDefAndScriptFailure2(['stridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3507 CheckDefAndScriptFailure2(['stridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3508 stridx('', '')->assert_equal(0) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3509 stridx('', 'a')->assert_equal(-1) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3510 stridx('a', '')->assert_equal(0) |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3511 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3512 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3513 def Test_strlen() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3514 CheckDefAndScriptFailure2(['strlen([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3515 "abc"->strlen()->assert_equal(3) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3516 strlen(99)->assert_equal(2) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3517 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3518 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3519 def Test_strpart() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3520 CheckDefAndScriptFailure2(['strpart(1, 2)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3521 CheckDefAndScriptFailure2(['strpart("a", "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3522 CheckDefAndScriptFailure2(['strpart("a", 1, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3523 CheckDefAndScriptFailure2(['strpart("a", 1, 1, 2)'], 'E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3524 strpart('', 0)->assert_equal('') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3525 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3526 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3527 def Test_strptime() |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3528 CheckFunction strptime |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3529 if exists_compiled('*strptime') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3530 CheckDefAndScriptFailure2(['strptime(10, "2021")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3531 CheckDefAndScriptFailure2(['strptime("%Y", 2021)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3532 assert_true(strptime('%Y', '2021') != 0) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3533 assert_true(strptime('%Y', '') == 0) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3534 endif |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3535 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3536 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3537 def Test_strridx() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3538 CheckDefAndScriptFailure2(['strridx([1], "b")'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3539 CheckDefAndScriptFailure2(['strridx("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3540 CheckDefAndScriptFailure2(['strridx("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3541 strridx('', '')->assert_equal(0) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3542 strridx('', 'a')->assert_equal(-1) |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3543 strridx('a', '')->assert_equal(1) |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3544 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3545 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3546 def Test_strtrans() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3547 CheckDefAndScriptFailure2(['strtrans(20)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3548 assert_equal('abc', strtrans('abc')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3549 strtrans('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3550 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3551 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3552 def Test_strwidth() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3553 CheckDefAndScriptFailure2(['strwidth(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3554 assert_equal(4, strwidth('abcd')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3555 strwidth('')->assert_equal(0) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3556 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3557 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3558 def Test_submatch() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3559 var pat = 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)' |
23565
34aa2907082a
patch 8.2.2325: Vim9: crash if map() changes the item type
Bram Moolenaar <Bram@vim.org>
parents:
23535
diff
changeset
|
3560 var Rep = () => range(10)->mapnew((_, v) => submatch(v, true))->string() |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3561 var actual = substitute('A123456789', pat, Rep, '') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3562 var expected = "[['A123456789'], ['1'], ['2'], ['3'], ['4'], ['5'], ['6'], ['7'], ['8'], ['9']]" |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3563 actual->assert_equal(expected) |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3564 CheckDefAndScriptFailure2(['submatch("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3565 CheckDefAndScriptFailure2(['submatch(1, "a")'], 'E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3566 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3567 |
24812
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3568 def Test_substitute() |
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3569 var res = substitute('A1234', '\d', 'X', '') |
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3570 assert_equal('AX234', res) |
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3571 |
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3572 if has('job') |
25411
df8499997fcc
patch 8.2.3242: Vim9: valgrind reports leaks in builtin function test
Bram Moolenaar <Bram@vim.org>
parents:
25390
diff
changeset
|
3573 assert_fails('"text"->substitute(".*", () => test_null_job(), "")', 'E908: using an invalid value as a String: job') |
df8499997fcc
patch 8.2.3242: Vim9: valgrind reports leaks in builtin function test
Bram Moolenaar <Bram@vim.org>
parents:
25390
diff
changeset
|
3574 assert_fails('"text"->substitute(".*", () => test_null_channel(), "")', 'E908: using an invalid value as a String: channel') |
24812
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3575 endif |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3576 CheckDefAndScriptFailure2(['substitute(1, "b", "1", "d")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3577 CheckDefAndScriptFailure2(['substitute("a", 2, "1", "d")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3578 CheckDefAndScriptFailure2(['substitute("a", "b", "1", 4)'], 'E1013: Argument 4: type mismatch, expected string but got number', 'E1174: String required for argument 4') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3579 substitute('', '', '', '')->assert_equal('') |
24812
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3580 enddef |
8fdf839af1f4
patch 8.2.2944: Vim9: no error when using job or channel as a string
Bram Moolenaar <Bram@vim.org>
parents:
24808
diff
changeset
|
3581 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3582 def Test_swapinfo() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3583 CheckDefAndScriptFailure2(['swapinfo({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3584 call swapinfo('x')->assert_equal({error: 'Cannot open file'}) |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3585 call swapinfo('')->assert_equal({error: 'Cannot open file'}) |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3586 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3587 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3588 def Test_swapname() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3589 CheckDefAndScriptFailure2(['swapname([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3590 assert_fails('swapname("NonExistingBuf")', 'E94:') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3591 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3592 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3593 def Test_synID() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3594 new |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3595 setline(1, "text") |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3596 synID(1, 1, true)->assert_equal(0) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3597 bwipe! |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3598 CheckDefAndScriptFailure2(['synID(0z10, 1, true)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3599 CheckDefAndScriptFailure2(['synID("a", true, false)'], 'E1013: Argument 2: type mismatch, expected number but got bool', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3600 CheckDefAndScriptFailure2(['synID(1, 1, 2)'], 'E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3601 CheckDefExecAndScriptFailure(['synID("", 10, true)'], 'E1209: Invalid value for a line number') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3602 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3603 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3604 def Test_synIDattr() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3605 CheckDefAndScriptFailure2(['synIDattr("a", "b")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3606 CheckDefAndScriptFailure2(['synIDattr(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3607 CheckDefAndScriptFailure2(['synIDattr(1, "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3608 synIDattr(1, '', '')->assert_equal('') |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3609 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3610 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3611 def Test_synIDtrans() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3612 CheckDefAndScriptFailure2(['synIDtrans("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3613 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3614 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3615 def Test_synconcealed() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3616 CheckDefAndScriptFailure2(['synconcealed(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3617 CheckDefAndScriptFailure2(['synconcealed(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3618 if has('conceal') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3619 CheckDefExecAndScriptFailure(['synconcealed("", 4)'], 'E1209: Invalid value for a line number') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3620 endif |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3621 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3622 |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3623 def Test_synstack() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3624 CheckDefAndScriptFailure2(['synstack(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3625 CheckDefAndScriptFailure2(['synstack(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3626 CheckDefExecAndScriptFailure(['synstack("", 4)'], 'E1209: Invalid value for a line number') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3627 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3628 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3629 def Test_system() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3630 CheckDefAndScriptFailure2(['system(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
3631 CheckDefAndScriptFailure2(['system("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2') |
25390
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3632 assert_equal("123\n", system('echo 123')) |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3633 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3634 |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3635 def Test_systemlist() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3636 CheckDefAndScriptFailure2(['systemlist(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25443
9ed6587bcc0f
patch 8.2.3258: error messages have the wrong text
Bram Moolenaar <Bram@vim.org>
parents:
25411
diff
changeset
|
3637 CheckDefAndScriptFailure2(['systemlist("a", {})'], 'E1013: Argument 2: type mismatch, expected string but got dict<unknown>', 'E1224: String, Number or List required for argument 2') |
25390
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3638 if has('win32') |
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3639 call assert_equal(["123\r"], systemlist('echo 123')) |
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3640 else |
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3641 call assert_equal(['123'], systemlist('echo 123')) |
a6c347a0c6e3
patch 8.2.3232: system() does not work without a second argument
Bram Moolenaar <Bram@vim.org>
parents:
25386
diff
changeset
|
3642 endif |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3643 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3644 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3645 def Test_tabpagebuflist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3646 CheckDefAndScriptFailure2(['tabpagebuflist("t")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3647 assert_equal([bufnr('')], tabpagebuflist()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3648 assert_equal([bufnr('')], tabpagebuflist(1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3649 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3650 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3651 def Test_tabpagenr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3652 CheckDefAndScriptFailure2(['tabpagenr(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3653 CheckDefExecAndScriptFailure(['tabpagenr("")'], 'E15: Invalid expression') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3654 assert_equal(1, tabpagenr('$')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3655 assert_equal(1, tabpagenr()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3656 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3657 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3658 def Test_tabpagewinnr() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3659 CheckDefAndScriptFailure2(['tabpagewinnr("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3660 CheckDefAndScriptFailure2(['tabpagewinnr(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3661 CheckDefExecAndScriptFailure(['tabpagewinnr(1, "")'], 'E15: Invalid expression') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3662 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3663 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3664 def Test_taglist() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3665 CheckDefAndScriptFailure2(['taglist([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3666 CheckDefAndScriptFailure2(['taglist("a", [2])'], 'E1013: Argument 2: type mismatch, expected string but got list<number>', 'E1174: String required for argument 2') |
25844
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3667 taglist('')->assert_equal(0) |
29bbe650f2a1
patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Bram Moolenaar <Bram@vim.org>
parents:
25822
diff
changeset
|
3668 taglist('', '')->assert_equal(0) |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3669 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3670 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3671 def Test_term_dumpload() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3672 CheckRunVimInTerminal |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3673 CheckDefAndScriptFailure2(['term_dumpload({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3674 CheckDefAndScriptFailure2(['term_dumpload({"a": 10}, "b")'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1174: String required for argument 1') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3675 CheckDefAndScriptFailure2(['term_dumpload("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<string>', 'E1206: Dictionary required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3676 CheckDefExecAndScriptFailure(['term_dumpload("")'], 'E485: Can''t read file') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3677 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3678 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3679 def Test_term_dumpdiff() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3680 CheckRunVimInTerminal |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3681 CheckDefAndScriptFailure2(['term_dumpdiff(1, "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3682 CheckDefAndScriptFailure2(['term_dumpdiff("a", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3683 CheckDefAndScriptFailure2(['term_dumpdiff("a", "b", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3684 CheckDefExecAndScriptFailure(['term_dumpdiff("", "")'], 'E485: Can''t read file') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3685 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3686 |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3687 def Test_term_dumpwrite() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3688 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3689 CheckDefAndScriptFailure2(['term_dumpwrite(true, "b")'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3690 CheckDefAndScriptFailure2(['term_dumpwrite(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3691 CheckDefAndScriptFailure2(['term_dumpwrite("a", "b", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3692 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3693 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3694 def Test_term_getaltscreen() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3695 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3696 CheckDefAndScriptFailure2(['term_getaltscreen(true)'], 'E1013: Argument 1: type mismatch, expected string but got bool', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3697 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3698 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3699 def Test_term_getansicolors() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3700 CheckRunVimInTerminal |
25240
a7f2a2079bce
patch 8.2.3156: Vim9: term_getansicolors() test fails without +termguicolors
Bram Moolenaar <Bram@vim.org>
parents:
25236
diff
changeset
|
3701 CheckFeature termguicolors |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3702 CheckDefAndScriptFailure2(['term_getansicolors(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3703 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3704 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3705 def Test_term_getattr() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3706 CheckRunVimInTerminal |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3707 CheckDefAndScriptFailure2(['term_getattr("x", "a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3708 CheckDefAndScriptFailure2(['term_getattr(1, 2)'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3709 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3710 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3711 def Test_term_getcursor() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3712 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3713 CheckDefAndScriptFailure2(['term_getcursor({"a": 10})'], 'E1013: Argument 1: type mismatch, expected string but got dict<number>', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3714 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3715 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3716 def Test_term_getjob() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3717 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3718 CheckDefAndScriptFailure2(['term_getjob(0z10)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3719 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3720 |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3721 def Test_term_getline() |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3722 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3723 CheckDefAndScriptFailure2(['term_getline(1.1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3724 CheckDefAndScriptFailure2(['term_getline(1, 1.1)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2') |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3725 enddef |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3726 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3727 def Test_term_getscrolled() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3728 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3729 CheckDefAndScriptFailure2(['term_getscrolled(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3730 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3731 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3732 def Test_term_getsize() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3733 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3734 CheckDefAndScriptFailure2(['term_getsize(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3735 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3736 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3737 def Test_term_getstatus() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3738 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3739 CheckDefAndScriptFailure2(['term_getstatus(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3740 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3741 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3742 def Test_term_gettitle() |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3743 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3744 CheckDefAndScriptFailure2(['term_gettitle(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3745 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3746 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3747 def Test_term_gettty() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3748 if !has('terminal') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
3749 CheckFeature terminal |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3750 else |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3751 var buf = Run_shell_in_terminal({}) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3752 term_gettty(buf, true)->assert_notequal('') |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3753 StopShellInTerminal(buf) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3754 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3755 CheckDefAndScriptFailure2(['term_gettty([1])'], 'E1013: Argument 1: type mismatch, expected string but got list<number>', 'E1220: String or Number required for argument 1') |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3756 CheckDefAndScriptFailure2(['term_gettty(1, 2)'], 'E1013: Argument 2: type mismatch, expected bool but got number', 'E1212: Bool required for argument 2') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3757 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3758 |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3759 def Test_term_scrape() |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3760 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3761 CheckDefAndScriptFailure2(['term_scrape(1.1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3762 CheckDefAndScriptFailure2(['term_scrape(1, 1.1)'], 'E1013: Argument 2: type mismatch, expected string but got float', 'E1220: String or Number required for argument 2') |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3763 enddef |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3764 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3765 def Test_term_sendkeys() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3766 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3767 CheckDefAndScriptFailure2(['term_sendkeys([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3768 CheckDefAndScriptFailure2(['term_sendkeys(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3769 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3770 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3771 def Test_term_setansicolors() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3772 CheckRunVimInTerminal |
25366
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3773 |
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3774 if has('termguicolors') || has('gui') |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3775 CheckDefAndScriptFailure2(['term_setansicolors([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25366
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3776 CheckDefAndScriptFailure2(['term_setansicolors(10, {})'], 'E1013: Argument 2: type mismatch, expected list<any> but got dict<unknown>', 'E1211: List required for argument 2') |
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3777 else |
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3778 throw 'Skipped: Only works with termguicolors or gui feature' |
53340635776e
patch 8.2.3220: Test_term_setansicolors() fails in some configurations
Bram Moolenaar <Bram@vim.org>
parents:
25356
diff
changeset
|
3779 endif |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3780 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3781 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3782 def Test_term_setapi() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3783 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3784 CheckDefAndScriptFailure2(['term_setapi([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3785 CheckDefAndScriptFailure2(['term_setapi(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3786 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3787 |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3788 def Test_term_setkill() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3789 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3790 CheckDefAndScriptFailure2(['term_setkill([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3791 CheckDefAndScriptFailure2(['term_setkill(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3792 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3793 |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3794 def Test_term_setrestore() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3795 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3796 CheckDefAndScriptFailure2(['term_setrestore([], "p")'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3797 CheckDefAndScriptFailure2(['term_setrestore(1, [])'], 'E1013: Argument 2: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3798 enddef |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3799 |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3800 def Test_term_setsize() |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3801 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3802 CheckDefAndScriptFailure2(['term_setsize(1.1, 2, 3)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1220: String or Number required for argument 1') |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3803 CheckDefAndScriptFailure2(['term_setsize(1, "2", 3)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3804 CheckDefAndScriptFailure2(['term_setsize(1, 2, "3")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3805 enddef |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3806 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3807 def Test_term_start() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3808 if !has('terminal') |
25288
ddc38de331ff
patch 8.2.3181: Vim9: builtin function test fails without channel feature
Bram Moolenaar <Bram@vim.org>
parents:
25272
diff
changeset
|
3809 CheckFeature terminal |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3810 else |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3811 botright new |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3812 var winnr = winnr() |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
3813 term_start(&shell, {curwin: true}) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3814 winnr()->assert_equal(winnr) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3815 bwipe! |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3816 endif |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3817 CheckDefAndScriptFailure2(['term_start({})'], 'E1013: Argument 1: type mismatch, expected string but got dict<unknown>', 'E1222: String or List required for argument 1') |
25314
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3818 CheckDefAndScriptFailure2(['term_start([], [])'], 'E1013: Argument 2: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 2') |
7e620652bd13
patch 8.2.3194: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25302
diff
changeset
|
3819 CheckDefAndScriptFailure2(['term_start("", "")'], 'E1013: Argument 2: type mismatch, expected dict<any> but got string', 'E1206: Dictionary required for argument 2') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3820 CheckDefExecAndScriptFailure(['term_start("")'], 'E474: Invalid argument') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3821 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3822 |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3823 def Test_term_wait() |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3824 CheckRunVimInTerminal |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3825 CheckDefAndScriptFailure2(['term_wait(0z10, 1)'], 'E1013: Argument 1: type mismatch, expected string but got blob', 'E1220: String or Number required for argument 1') |
25272
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3826 CheckDefAndScriptFailure2(['term_wait(1, "a")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3827 enddef |
712e867f9721
patch 8.2.3173: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25270
diff
changeset
|
3828 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3829 def Test_test_alloc_fail() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3830 CheckDefAndScriptFailure2(['test_alloc_fail("a", 10, 20)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3831 CheckDefAndScriptFailure2(['test_alloc_fail(10, "b", 20)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3832 CheckDefAndScriptFailure2(['test_alloc_fail(10, 20, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3833 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3834 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3835 def Test_test_feedinput() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3836 CheckDefAndScriptFailure2(['test_feedinput(test_void())'], 'E1013: Argument 1: type mismatch, expected string but got void', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3837 CheckDefAndScriptFailure2(['test_feedinput(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3838 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3839 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3840 def Test_test_getvalue() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3841 CheckDefAndScriptFailure2(['test_getvalue(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1174: String required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3842 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3843 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3844 def Test_test_gui_drop_files() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3845 CheckGui |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3846 CheckDefAndScriptFailure2(['test_gui_drop_files("a", 1, 1, 0)'], 'E1013: Argument 1: type mismatch, expected list<string> but got string', 'E1211: List required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3847 CheckDefAndScriptFailure2(['test_gui_drop_files(["x"], "", 1, 0)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3848 CheckDefAndScriptFailure2(['test_gui_drop_files(["x"], 1, "", 0)'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3849 CheckDefAndScriptFailure2(['test_gui_drop_files(["x"], 1, 1, "")'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3850 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3851 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3852 def Test_test_gui_mouse_event() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3853 CheckGui |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3854 CheckDefAndScriptFailure2(['test_gui_mouse_event(1.1, 1, 1, 1, 1)'], 'E1013: Argument 1: type mismatch, expected number but got float', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3855 CheckDefAndScriptFailure2(['test_gui_mouse_event(1, "1", 1, 1, 1)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3856 CheckDefAndScriptFailure2(['test_gui_mouse_event(1, 1, "1", 1, 1)'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3857 CheckDefAndScriptFailure2(['test_gui_mouse_event(1, 1, 1, "1", 1)'], 'E1013: Argument 4: type mismatch, expected number but got string', 'E1210: Number required for argument 4') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3858 CheckDefAndScriptFailure2(['test_gui_mouse_event(1, 1, 1, 1, "1")'], 'E1013: Argument 5: type mismatch, expected number but got string', 'E1210: Number required for argument 5') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3859 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3860 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3861 def Test_test_ignore_error() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3862 CheckDefAndScriptFailure2(['test_ignore_error([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3863 test_ignore_error('RESET') |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3864 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3865 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3866 def Test_test_option_not_set() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3867 CheckDefAndScriptFailure2(['test_option_not_set([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3868 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3869 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3870 def Test_test_override() |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3871 CheckDefAndScriptFailure2(['test_override(1, 1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3872 CheckDefAndScriptFailure2(['test_override("a", "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3873 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3874 |
25356
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3875 def Test_test_scrollbar() |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3876 CheckGui |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3877 CheckDefAndScriptFailure2(['test_scrollbar(1, 2, 3)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3878 CheckDefAndScriptFailure2(['test_scrollbar("a", "b", 3)'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3879 CheckDefAndScriptFailure2(['test_scrollbar("a", 2, "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3880 enddef |
1cde96e768e4
patch 8.2.3215: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25348
diff
changeset
|
3881 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3882 def Test_test_setmouse() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3883 CheckDefAndScriptFailure2(['test_setmouse("a", 10)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3884 CheckDefAndScriptFailure2(['test_setmouse(10, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3885 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3886 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3887 def Test_test_settime() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3888 CheckDefAndScriptFailure2(['test_settime([1])'], 'E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3889 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3890 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3891 def Test_test_srand_seed() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3892 CheckDefAndScriptFailure2(['test_srand_seed([1])'], 'E1013: Argument 1: type mismatch, expected number but got list<number>', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3893 CheckDefAndScriptFailure2(['test_srand_seed("10")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3894 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3895 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3896 def Test_timer_info() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3897 CheckDefAndScriptFailure2(['timer_info("id")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3898 assert_equal([], timer_info(100)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3899 assert_equal([], timer_info()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3900 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3901 |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3902 def Test_timer_pause() |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3903 CheckDefAndScriptFailure2(['timer_pause("x", 1)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3904 CheckDefAndScriptFailure2(['timer_pause(1, "a")'], 'E1013: Argument 2: type mismatch, expected bool but got string', 'E1212: Bool required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3905 enddef |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
3906 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3907 def Test_timer_paused() |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23404
diff
changeset
|
3908 var id = timer_start(50, () => 0) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3909 timer_pause(id, true) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3910 var info = timer_info(id) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3911 info[0]['paused']->assert_equal(1) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3912 timer_stop(id) |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3913 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3914 |
25348
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3915 def Test_timer_start() |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3916 CheckDefAndScriptFailure2(['timer_start("a", "1")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3917 CheckDefAndScriptFailure2(['timer_start(1, "1", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3918 enddef |
75031a22be39
patch 8.2.3211: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25346
diff
changeset
|
3919 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3920 def Test_timer_stop() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3921 CheckDefAndScriptFailure2(['timer_stop("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3922 assert_equal(0, timer_stop(100)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3923 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3924 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3925 def Test_tolower() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3926 CheckDefAndScriptFailure2(['tolower(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3927 tolower('')->assert_equal('') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3928 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3929 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3930 def Test_toupper() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3931 CheckDefAndScriptFailure2(['toupper(1)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3932 toupper('')->assert_equal('') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3933 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3934 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3935 def Test_tr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3936 CheckDefAndScriptFailure2(['tr(1, "a", "b")'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3937 CheckDefAndScriptFailure2(['tr("a", 1, "b")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3938 CheckDefAndScriptFailure2(['tr("a", "a", 1)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3939 tr('', '', '')->assert_equal('') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3940 tr('ab', '', '')->assert_equal('ab') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3941 assert_fails("tr('ab', 'ab', '')", 'E475:') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3942 assert_fails("tr('ab', '', 'AB')", 'E475:') |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3943 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3944 |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3945 def Test_trim() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3946 CheckDefAndScriptFailure2(['trim(["a"])'], 'E1013: Argument 1: type mismatch, expected string but got list<string>', 'E1174: String required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3947 CheckDefAndScriptFailure2(['trim("a", ["b"])'], 'E1013: Argument 2: type mismatch, expected string but got list<string>', 'E1174: String required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3948 CheckDefAndScriptFailure2(['trim("a", "b", "c")'], 'E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3') |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3949 trim('')->assert_equal('') |
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3950 trim('', '')->assert_equal('') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3951 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
3952 |
25196
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3953 def Test_typename() |
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3954 if has('float') |
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3955 assert_equal('func([unknown], [unknown]): float', typename(function('pow'))) |
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3956 endif |
25692
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3957 assert_equal('func', test_null_partial()->typename()) |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3958 assert_equal('list<unknown>', test_null_list()->typename()) |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3959 assert_equal('dict<unknown>', test_null_dict()->typename()) |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3960 if has('job') |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3961 assert_equal('job', test_null_job()->typename()) |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3962 endif |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3963 if has('channel') |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3964 assert_equal('channel', test_null_channel()->typename()) |
17830c066d4b
patch 8.2.3382: crash when getting the type of a NULL partial
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
3965 endif |
25196
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3966 enddef |
694f114a7673
patch 8.2.3134: crash when using typename() on a function reference
Bram Moolenaar <Bram@vim.org>
parents:
25184
diff
changeset
|
3967 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3968 def Test_undofile() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3969 CheckDefAndScriptFailure2(['undofile(10)'], 'E1013: Argument 1: type mismatch, expected string but got number', 'E1174: String required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3970 assert_equal('.abc.un~', fnamemodify(undofile('abc'), ':t')) |
25822
42723b535ab3
patch 8.2.3446: not enough tests for empty string arguments
Bram Moolenaar <Bram@vim.org>
parents:
25806
diff
changeset
|
3971 undofile('')->assert_equal('') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3972 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3973 |
25338
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3974 def Test_uniq() |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3975 CheckDefAndScriptFailure2(['uniq("a")'], 'E1013: Argument 1: type mismatch, expected list<any> but got string', 'E1211: List required for argument 1') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3976 CheckDefAndScriptFailure2(['uniq([1], "", [1])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<number>', 'E1206: Dictionary required for argument 3') |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3977 enddef |
e2be9f3c5907
patch 8.2.3206: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25326
diff
changeset
|
3978 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3979 def Test_values() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3980 CheckDefAndScriptFailure2(['values([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3981 assert_equal([], {}->values()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3982 assert_equal(['sun'], {star: 'sun'}->values()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3983 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
3984 |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3985 def Test_virtcol() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3986 CheckDefAndScriptFailure2(['virtcol(1.1)'], 'E1013: Argument 1: type mismatch, expected string but got float', 'E1222: String or List required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
3987 CheckDefExecAndScriptFailure(['virtcol("")'], 'E1209: Invalid value for a line number') |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3988 new |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3989 setline(1, ['abcdefgh']) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3990 cursor(1, 4) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3991 assert_equal(4, virtcol('.')) |
25236
2c83f7b316d3
patch 8.2.3154: Vim9: some type checks for builtin functions fail
Bram Moolenaar <Bram@vim.org>
parents:
25228
diff
changeset
|
3992 assert_equal(4, virtcol([1, 4])) |
25228
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3993 assert_equal(9, virtcol([1, '$'])) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3994 assert_equal(0, virtcol([10, '$'])) |
a703b3f28ef4
patch 8.2.3150: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25224
diff
changeset
|
3995 bw! |
25198
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3996 enddef |
eafc0e07b188
patch 8.2.3135: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25196
diff
changeset
|
3997 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
3998 def Test_visualmode() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
3999 CheckDefAndScriptFailure2(['visualmode("1")'], 'E1013: Argument 1: type mismatch, expected bool but got string', 'E1212: Bool required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4000 CheckDefAndScriptFailure2(['visualmode(2)'], 'E1013: Argument 1: type mismatch, expected bool but got number', 'E1212: Bool required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4001 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4002 |
23596
9fa72351c18f
patch 8.2.2340: win_execute() unexpectedly returns number zero when failing
Bram Moolenaar <Bram@vim.org>
parents:
23594
diff
changeset
|
4003 def Test_win_execute() |
9fa72351c18f
patch 8.2.2340: win_execute() unexpectedly returns number zero when failing
Bram Moolenaar <Bram@vim.org>
parents:
23594
diff
changeset
|
4004 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()')) |
25224
10a5eb15a3bf
patch 8.2.3148: Vim9: function arg type check does not handle base offset
Bram Moolenaar <Bram@vim.org>
parents:
25216
diff
changeset
|
4005 assert_equal("\n" .. winnr(), 'echo winnr()'->win_execute(win_getid())) |
10a5eb15a3bf
patch 8.2.3148: Vim9: function arg type check does not handle base offset
Bram Moolenaar <Bram@vim.org>
parents:
25216
diff
changeset
|
4006 assert_equal("\n" .. winnr(), win_execute(win_getid(), 'echo winnr()', 'silent')) |
23596
9fa72351c18f
patch 8.2.2340: win_execute() unexpectedly returns number zero when failing
Bram Moolenaar <Bram@vim.org>
parents:
23594
diff
changeset
|
4007 assert_equal('', win_execute(342343, 'echo winnr()')) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4008 CheckDefAndScriptFailure2(['win_execute("a", "b", "c")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4009 CheckDefAndScriptFailure2(['win_execute(1, 2, "c")'], 'E1013: Argument 2: type mismatch, expected string but got number', 'E1222: String or List required for argument 2') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4010 CheckDefAndScriptFailure2(['win_execute(1, "b", 3)'], 'E1013: Argument 3: type mismatch, expected string but got number', 'E1174: String required for argument 3') |
23596
9fa72351c18f
patch 8.2.2340: win_execute() unexpectedly returns number zero when failing
Bram Moolenaar <Bram@vim.org>
parents:
23594
diff
changeset
|
4011 enddef |
9fa72351c18f
patch 8.2.2340: win_execute() unexpectedly returns number zero when failing
Bram Moolenaar <Bram@vim.org>
parents:
23594
diff
changeset
|
4012 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4013 def Test_win_findbuf() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4014 CheckDefAndScriptFailure2(['win_findbuf("a")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4015 assert_equal([], win_findbuf(1000)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4016 assert_equal([win_getid()], win_findbuf(bufnr(''))) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4017 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4018 |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4019 def Test_win_getid() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4020 CheckDefAndScriptFailure2(['win_getid(".")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4021 CheckDefAndScriptFailure2(['win_getid(1, ".")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4022 assert_equal(win_getid(), win_getid(1, 1)) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4023 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4024 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4025 def Test_win_gettype() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4026 CheckDefAndScriptFailure2(['win_gettype("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4027 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4028 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4029 def Test_win_gotoid() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4030 CheckDefAndScriptFailure2(['win_gotoid("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4031 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4032 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4033 def Test_win_id2tabwin() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4034 CheckDefAndScriptFailure2(['win_id2tabwin("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4035 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4036 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4037 def Test_win_id2win() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4038 CheckDefAndScriptFailure2(['win_id2win("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4039 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4040 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4041 def Test_win_screenpos() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4042 CheckDefAndScriptFailure2(['win_screenpos("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4043 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4044 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4045 def Test_win_splitmove() |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4046 split |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
4047 win_splitmove(1, 2, {vertical: true, rightbelow: true}) |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4048 close |
25302
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
4049 CheckDefAndScriptFailure2(['win_splitmove("a", 2)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
4050 CheckDefAndScriptFailure2(['win_splitmove(1, "b")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
4d3c68196d05
patch 8.2.3188: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25292
diff
changeset
|
4051 CheckDefAndScriptFailure2(['win_splitmove(1, 2, [])'], 'E1013: Argument 3: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 3') |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4052 enddef |
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4053 |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4054 def Test_winbufnr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4055 CheckDefAndScriptFailure2(['winbufnr("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4056 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4057 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4058 def Test_winheight() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4059 CheckDefAndScriptFailure2(['winheight("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4060 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4061 |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4062 def Test_winlayout() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4063 CheckDefAndScriptFailure2(['winlayout("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
25252
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4064 enddef |
acda780ffc3e
patch 8.2.3162: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25250
diff
changeset
|
4065 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4066 def Test_winnr() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4067 CheckDefAndScriptFailure2(['winnr([])'], 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 'E1174: String required for argument 1') |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
4068 CheckDefExecAndScriptFailure(['winnr("")'], 'E15: Invalid expression') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4069 assert_equal(1, winnr()) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4070 assert_equal(1, winnr('$')) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4071 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4072 |
23404
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4073 def Test_winrestcmd() |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4074 split |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4075 var cmd = winrestcmd() |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4076 wincmd _ |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4077 exe cmd |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4078 assert_equal(cmd, winrestcmd()) |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4079 close |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4080 enddef |
a6b6bcc004f2
patch 8.2.2245: Vim9: return value of winrestcmd() cannot be executed
Bram Moolenaar <Bram@vim.org>
parents:
23350
diff
changeset
|
4081 |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4082 def Test_winrestview() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4083 CheckDefAndScriptFailure2(['winrestview([])'], 'E1013: Argument 1: type mismatch, expected dict<any> but got list<unknown>', 'E1206: Dictionary required for argument 1') |
25094
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4084 :%d _ |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4085 setline(1, 'Hello World') |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4086 winrestview({lnum: 1, col: 6}) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4087 assert_equal([1, 7], [line('.'), col('.')]) |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4088 enddef |
99494ef94fc2
patch 8.2.3084: Vim9: builtin function argument types are not checked
Bram Moolenaar <Bram@vim.org>
parents:
24998
diff
changeset
|
4089 |
23535
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4090 def Test_winsaveview() |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4091 var view: dict<number> = winsaveview() |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4092 |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4093 var lines =<< trim END |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4094 var view: list<number> = winsaveview() |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4095 END |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4096 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list<number> but got dict<number>', 1) |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4097 enddef |
98185d3dd369
patch 8.2.2310: Vim9: winsaveview() return type is too generic
Bram Moolenaar <Bram@vim.org>
parents:
23485
diff
changeset
|
4098 |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
4099 def Test_winwidth() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4100 CheckDefAndScriptFailure2(['winwidth("x")'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
4101 enddef |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
4102 |
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
4103 def Test_xor() |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4104 CheckDefAndScriptFailure2(['xor("x", 0x2)'], 'E1013: Argument 1: type mismatch, expected number but got string', 'E1210: Number required for argument 1') |
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
4105 CheckDefAndScriptFailure2(['xor(0x1, "x")'], 'E1013: Argument 2: type mismatch, expected number but got string', 'E1210: Number required for argument 2') |
24998
3b1770226f85
patch 8.2.3036: Vim9: builtin function arguments not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
24972
diff
changeset
|
4106 enddef |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4107 |
25759
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
4108 def Test_writefile() |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
4109 CheckDefExecAndScriptFailure(['writefile(["a"], "")'], 'E482: Can''t create file <empty>') |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
4110 enddef |
ea0820d05257
patch 8.2.3415: Vim9: not all function argument types are properly checked
Bram Moolenaar <Bram@vim.org>
parents:
25731
diff
changeset
|
4111 |
22655
eabe2c1444ea
patch 8.2.1876: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4112 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |