Mercurial > vim
annotate src/testdir/test_vim9_script.vim @ 25719:154663508d9b v8.2.3395
patch 8.2.3395: Vim9: expression breakpoint not checked in :def function
Commit: https://github.com/vim/vim/commit/26a4484da20039b61f18d3565a4b4339c4d1f7e3
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Sep 2 18:49:06 2021 +0200
patch 8.2.3395: Vim9: expression breakpoint not checked in :def function
Problem: Vim9: expression breakpoint not checked in :def function.
Solution: Always compile a function for debugging if there is an expression
breakpoint. (closes #8803)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 02 Sep 2021 19:00:04 +0200 |
parents | fe7f45e2895e |
children | fc8046209eaa |
rev | line source |
---|---|
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test various aspects of the Vim9 script language. |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
19183
1168c53d1b49
patch 8.2.0150: cannot define python function when using :execute
Bram Moolenaar <Bram@vim.org>
parents:
19181
diff
changeset
|
3 source check.vim |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
4 source term_util.vim |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
5 source view_util.vim |
20170
0612c64a2b87
patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
20142
diff
changeset
|
6 source vim9.vim |
21979
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
7 source shared.vim |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
8 source screendump.vim |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 |
21901
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
10 def Test_range_only() |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
11 new |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
12 setline(1, ['blah', 'Blah']) |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
13 :/Blah/ |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
14 assert_equal(2, getcurpos()[1]) |
21939
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
15 bwipe! |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
16 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
17 # without range commands use current line |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
18 new |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
19 setline(1, ['one', 'two', 'three']) |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
20 :2 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
21 print |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
22 assert_equal('two', Screenline(&lines)) |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
23 :3 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
24 list |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
25 assert_equal('three$', Screenline(&lines)) |
23954
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
26 |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
27 # missing command does not print the line |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
28 var lines =<< trim END |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
29 vim9script |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
30 :1| |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
31 assert_equal('three$', Screenline(&lines)) |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
32 :| |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
33 assert_equal('three$', Screenline(&lines)) |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
34 END |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
35 CheckScriptSuccess(lines) |
9c8a20cfa540
patch 8.2.2519: Vim9: no reason to keep strange Vi behavior
Bram Moolenaar <Bram@vim.org>
parents:
23950
diff
changeset
|
36 |
21939
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
37 bwipe! |
23197
4ba101403fa2
patch 8.2.2144: Vim9: some corner cases not tested
Bram Moolenaar <Bram@vim.org>
parents:
23185
diff
changeset
|
38 |
4ba101403fa2
patch 8.2.2144: Vim9: some corner cases not tested
Bram Moolenaar <Bram@vim.org>
parents:
23185
diff
changeset
|
39 # won't generate anything |
4ba101403fa2
patch 8.2.2144: Vim9: some corner cases not tested
Bram Moolenaar <Bram@vim.org>
parents:
23185
diff
changeset
|
40 if false |
4ba101403fa2
patch 8.2.2144: Vim9: some corner cases not tested
Bram Moolenaar <Bram@vim.org>
parents:
23185
diff
changeset
|
41 :123 |
4ba101403fa2
patch 8.2.2144: Vim9: some corner cases not tested
Bram Moolenaar <Bram@vim.org>
parents:
23185
diff
changeset
|
42 endif |
21901
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
43 enddef |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
44 |
20419
d54dfb5f12db
patch 8.2.0764: Vim9: assigning to option not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
20401
diff
changeset
|
45 let g:alist = [7] |
d54dfb5f12db
patch 8.2.0764: Vim9: assigning to option not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
20401
diff
changeset
|
46 let g:astring = 'text' |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
47 let g:anumber = 123 |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
48 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
49 def Test_delfunction() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
50 # Check function is defined in script namespace |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
51 CheckScriptSuccess([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
52 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
53 'func CheckMe()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
54 ' return 123', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
55 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
56 'assert_equal(123, s:CheckMe())', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
57 ]) |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
58 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
59 # Check function in script namespace cannot be deleted |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
60 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
61 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
62 'func DeleteMe1()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
63 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
64 'delfunction DeleteMe1', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
65 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
66 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
67 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
68 'func DeleteMe2()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
69 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
70 'def DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
71 ' delfunction DeleteMe2', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
72 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
73 'DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
74 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
75 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
76 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
77 'def DeleteMe3()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
78 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
79 'delfunction DeleteMe3', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
80 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
81 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
82 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
83 'def DeleteMe4()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
84 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
85 'def DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
86 ' delfunction DeleteMe4', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
87 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
88 'DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
89 ], 'E1084:') |
21479
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
90 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
91 # Check that global :def function can be replaced and deleted |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
92 var lines =<< trim END |
21479
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
93 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
94 def g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
95 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
96 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
97 assert_equal("yes", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
98 def! g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
99 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
100 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
101 assert_equal("no", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
102 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
103 assert_false(exists('*g:Global')) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
104 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
105 CheckScriptSuccess(lines) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
106 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
107 # Check that global function can be replaced by a :def function and deleted |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
108 lines =<< trim END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
109 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
110 func g:Global() |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
111 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
112 endfunc |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
113 assert_equal("yes", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
114 def! g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
115 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
116 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
117 assert_equal("no", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
118 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
119 assert_false(exists('*g:Global')) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
120 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
121 CheckScriptSuccess(lines) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
122 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
123 # Check that global :def function can be replaced by a function and deleted |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
124 lines =<< trim END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
125 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
126 def g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
127 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
128 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
129 assert_equal("yes", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
130 func! g:Global() |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
131 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
132 endfunc |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
133 assert_equal("no", g:Global()) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
134 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
135 assert_false(exists('*g:Global')) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
136 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
137 CheckScriptSuccess(lines) |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
138 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
139 |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
140 def Test_wrong_type() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
141 CheckDefFailure(['var name: list<nothing>'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
142 CheckDefFailure(['var name: list<list<nothing>>'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
143 CheckDefFailure(['var name: dict<nothing>'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
144 CheckDefFailure(['var name: dict<dict<nothing>>'], 'E1010:') |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
145 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
146 CheckDefFailure(['var name: dict<number'], 'E1009:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
147 CheckDefFailure(['var name: dict<list<number>'], 'E1009:') |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
148 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
149 CheckDefFailure(['var name: ally'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
150 CheckDefFailure(['var name: bram'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
151 CheckDefFailure(['var name: cathy'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
152 CheckDefFailure(['var name: dom'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
153 CheckDefFailure(['var name: freddy'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
154 CheckDefFailure(['var name: john'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
155 CheckDefFailure(['var name: larry'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
156 CheckDefFailure(['var name: ned'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
157 CheckDefFailure(['var name: pam'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
158 CheckDefFailure(['var name: sam'], 'E1010:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
159 CheckDefFailure(['var name: vim'], 'E1010:') |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
160 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
161 CheckDefFailure(['var Ref: number', 'Ref()'], 'E1085:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
162 CheckDefFailure(['var Ref: string', 'var res = Ref()'], 'E1085:') |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
163 enddef |
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
164 |
22529
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
165 def Test_script_wrong_type() |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
166 var lines =<< trim END |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
167 vim9script |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
168 var s:dict: dict<string> |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
169 s:dict['a'] = ['x'] |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
170 END |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
171 CheckScriptFailure(lines, 'E1012: Type mismatch; expected string but got list<string>', 3) |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
172 enddef |
35ef9b0a81a3
patch 8.2.1813: Vim9: can assign wrong type to script dict
Bram Moolenaar <Bram@vim.org>
parents:
22500
diff
changeset
|
173 |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
174 def Test_const() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
175 CheckDefFailure(['final name = 234', 'name = 99'], 'E1018:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
176 CheckDefFailure(['final one = 234', 'var one = 99'], 'E1017:') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
177 CheckDefFailure(['final list = [1, 2]', 'var list = [3, 4]'], 'E1017:') |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
178 CheckDefFailure(['final two'], 'E1125:') |
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
179 CheckDefFailure(['final &option'], 'E996:') |
22266
23f5750146d9
patch 8.2.1682: Vim9: const works in an unexpected way
Bram Moolenaar <Bram@vim.org>
parents:
22264
diff
changeset
|
180 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
181 var lines =<< trim END |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
182 final list = [1, 2, 3] |
22266
23f5750146d9
patch 8.2.1682: Vim9: const works in an unexpected way
Bram Moolenaar <Bram@vim.org>
parents:
22264
diff
changeset
|
183 list[0] = 4 |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
184 list->assert_equal([4, 2, 3]) |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
185 const other = [5, 6, 7] |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
186 other->assert_equal([5, 6, 7]) |
22274
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
187 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
188 var varlist = [7, 8] |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
189 const constlist = [1, varlist, 3] |
22274
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
190 varlist[0] = 77 |
25489
911fdca7f736
patch 8.2.3281: Vim9: TODO items in tests can be taken care of
Bram Moolenaar <Bram@vim.org>
parents:
25469
diff
changeset
|
191 constlist[1][1] = 88 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
192 var cl = constlist[1] |
22274
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
193 cl[1] = 88 |
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
194 constlist->assert_equal([1, [77, 88], 3]) |
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
195 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
196 var vardict = {five: 5, six: 6} |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
197 const constdict = {one: 1, two: vardict, three: 3} |
22274
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
198 vardict['five'] = 55 |
25489
911fdca7f736
patch 8.2.3281: Vim9: TODO items in tests can be taken care of
Bram Moolenaar <Bram@vim.org>
parents:
25469
diff
changeset
|
199 constdict['two']['six'] = 66 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
200 var cd = constdict['two'] |
22274
1634ca41e4d3
patch 8.2.1686: Vim9: "const!" not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
22272
diff
changeset
|
201 cd['six'] = 66 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
202 constdict->assert_equal({one: 1, two: {five: 55, six: 66}, three: 3}) |
22266
23f5750146d9
patch 8.2.1682: Vim9: const works in an unexpected way
Bram Moolenaar <Bram@vim.org>
parents:
22264
diff
changeset
|
203 END |
23f5750146d9
patch 8.2.1682: Vim9: const works in an unexpected way
Bram Moolenaar <Bram@vim.org>
parents:
22264
diff
changeset
|
204 CheckDefAndScriptSuccess(lines) |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
205 enddef |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
206 |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
207 def Test_const_bang() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
208 var lines =<< trim END |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
209 const var = 234 |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
210 var = 99 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
211 END |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
212 CheckDefExecFailure(lines, 'E1018:', 2) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
213 CheckScriptFailure(['vim9script'] + lines, 'E46:', 3) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
214 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
215 lines =<< trim END |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
216 const ll = [2, 3, 4] |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
217 ll[0] = 99 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
218 END |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
219 CheckDefExecFailure(lines, 'E1119:', 2) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
220 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
221 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
222 lines =<< trim END |
22391
a9fb7efa31d6
patch 8.2.1744: Vim9: using ":const!" is weird
Bram Moolenaar <Bram@vim.org>
parents:
22387
diff
changeset
|
223 const ll = [2, 3, 4] |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
224 ll[3] = 99 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
225 END |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
226 CheckDefExecFailure(lines, 'E1118:', 2) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
227 CheckScriptFailure(['vim9script'] + lines, 'E684:', 3) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
228 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
229 lines =<< trim END |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
230 const dd = {one: 1, two: 2} |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
231 dd["one"] = 99 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
232 END |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
233 CheckDefExecFailure(lines, 'E1121:', 2) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
234 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
235 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
236 lines =<< trim END |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
237 const dd = {one: 1, two: 2} |
22272
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
238 dd["three"] = 99 |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
239 END |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
240 CheckDefExecFailure(lines, 'E1120:') |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
241 CheckScriptFailure(['vim9script'] + lines, 'E741:', 3) |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
242 enddef |
eb1f5f618c75
patch 8.2.1685: Vim9: cannot declare a constant value
Bram Moolenaar <Bram@vim.org>
parents:
22266
diff
changeset
|
243 |
20982
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
244 def Test_range_no_colon() |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
245 CheckDefFailure(['%s/a/b/'], 'E1050:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
246 CheckDefFailure(['+ s/a/b/'], 'E1050:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
247 CheckDefFailure(['- s/a/b/'], 'E1050:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
248 CheckDefFailure(['. s/a/b/'], 'E1050:') |
20982
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
249 enddef |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
250 |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
251 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
252 def Test_block() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
253 var outer = 1 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
254 { |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
255 var inner = 2 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
256 assert_equal(1, outer) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
257 assert_equal(2, inner) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
258 } |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
259 assert_equal(1, outer) |
24027
8298c0798040
patch 8.2.2555: Vim9: missing test for 8.2.2553
Bram Moolenaar <Bram@vim.org>
parents:
24025
diff
changeset
|
260 |
8298c0798040
patch 8.2.2555: Vim9: missing test for 8.2.2553
Bram Moolenaar <Bram@vim.org>
parents:
24025
diff
changeset
|
261 {|echo 'yes'|} |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
262 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
263 |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
264 def Test_block_failure() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
265 CheckDefFailure(['{', 'var inner = 1', '}', 'echo inner'], 'E1001:') |
22264
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
266 CheckDefFailure(['}'], 'E1025:') |
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
267 CheckDefFailure(['{', 'echo 1'], 'E1026:') |
e0a4d029cb87
patch 8.2.1681: Vim9: unnessary :call commands in tests
Bram Moolenaar <Bram@vim.org>
parents:
22250
diff
changeset
|
268 enddef |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
269 |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
270 def Test_block_local_vars() |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
271 var lines =<< trim END |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
272 vim9script |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
273 v:testing = 1 |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
274 if true |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
275 var text = ['hello'] |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
276 def SayHello(): list<string> |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
277 return text |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
278 enddef |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
279 def SetText(v: string) |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
280 text = [v] |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
281 enddef |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
282 endif |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
283 |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
284 if true |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
285 var text = ['again'] |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
286 def SayAgain(): list<string> |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
287 return text |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
288 enddef |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
289 endif |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
290 |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
291 # test that the "text" variables are not cleaned up |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
292 test_garbagecollect_now() |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
293 |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
294 defcompile |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
295 |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
296 assert_equal(['hello'], SayHello()) |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
297 assert_equal(['again'], SayAgain()) |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
298 |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
299 SetText('foobar') |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
300 assert_equal(['foobar'], SayHello()) |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
301 |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
302 call writefile(['ok'], 'Xdidit') |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
303 qall! |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
304 END |
22602
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
305 |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
306 # need to execute this with a separate Vim instance to avoid the current |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
307 # context gets garbage collected. |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
308 writefile(lines, 'Xscript') |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
309 RunVim([], [], '-S Xscript') |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
310 assert_equal(['ok'], readfile('Xdidit')) |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
311 |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
312 delete('Xscript') |
2c77ec32deeb
patch 8.2.1849: Vim9: garbage collection frees block-local variables
Bram Moolenaar <Bram@vim.org>
parents:
22596
diff
changeset
|
313 delete('Xdidit') |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
314 enddef |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
315 |
22643
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
316 def Test_block_local_vars_with_func() |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
317 var lines =<< trim END |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
318 vim9script |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
319 if true |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
320 var foo = 'foo' |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
321 if true |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
322 var bar = 'bar' |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
323 def Func(): list<string> |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
324 return [foo, bar] |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
325 enddef |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
326 endif |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
327 endif |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
328 # function is compiled here, after blocks have finished, can still access |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
329 # "foo" and "bar" |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
330 assert_equal(['foo', 'bar'], Func()) |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
331 END |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
332 CheckScriptSuccess(lines) |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
333 enddef |
71b57779177d
patch 8.2.1870: Vim9: no need to keep all script variables
Bram Moolenaar <Bram@vim.org>
parents:
22621
diff
changeset
|
334 |
25469
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
335 " legacy func for command that's defined later |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
336 func InvokeSomeCommand() |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
337 SomeCommand |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
338 endfunc |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
339 |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
340 def Test_autocommand_block() |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
341 com SomeCommand { |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
342 g:someVar = 'some' |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
343 } |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
344 InvokeSomeCommand() |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
345 assert_equal('some', g:someVar) |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
346 |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
347 delcommand SomeCommand |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
348 unlet g:someVar |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
349 enddef |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
350 |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
351 def Test_command_block() |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
352 au BufNew *.xml { |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
353 g:otherVar = 'other' |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
354 } |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
355 split other.xml |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
356 assert_equal('other', g:otherVar) |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
357 |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
358 bwipe! |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
359 au! BufNew *.xml |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
360 unlet g:otherVar |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
361 enddef |
dcd45fe7fe2e
patch 8.2.3271: Vim9: cannot use :command or :au with block in :def function
Bram Moolenaar <Bram@vim.org>
parents:
25425
diff
changeset
|
362 |
21375
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
363 func g:NoSuchFunc() |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
364 echo 'none' |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
365 endfunc |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
366 |
23576
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
367 def Test_try_catch_throw() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
368 var l = [] |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
369 try # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
370 add(l, '1') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
371 throw 'wrong' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
372 add(l, '2') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
373 catch # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
374 add(l, v:exception) |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
375 finally # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
376 add(l, '3') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
377 endtry # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
378 assert_equal(['1', 'wrong', '3'], l) |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
379 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
380 l = [] |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
381 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
382 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
383 add(l, '1') |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
384 throw 'wrong' |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
385 add(l, '2') |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
386 catch /right/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
387 add(l, v:exception) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
388 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
389 catch /wrong/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
390 add(l, 'caught') |
22395
03249b8976a9
patch 8.2.1746: Vim9: cannot use "fina" for "finally"
Bram Moolenaar <Bram@vim.org>
parents:
22391
diff
changeset
|
391 fina |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
392 add(l, 'finally') |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
393 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
394 assert_equal(['1', 'caught', 'finally'], l) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
395 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
396 var n: number |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
397 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
398 n = l[3] |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
399 catch /E684:/ |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
400 n = 99 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
401 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
402 assert_equal(99, n) |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
403 |
23440
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
404 var done = 'no' |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
405 if 0 |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
406 try | catch | endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
407 else |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
408 done = 'yes' |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
409 endif |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
410 assert_equal('yes', done) |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
411 |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
412 done = 'no' |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
413 if 1 |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
414 done = 'yes' |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
415 else |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
416 try | catch | endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
417 done = 'never' |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
418 endif |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
419 assert_equal('yes', done) |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
420 |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
421 if 1 |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
422 else |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
423 try | catch /pat/ | endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
424 try | catch /pat/ |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
425 endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
426 try |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
427 catch /pat/ | endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
428 try |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
429 catch /pat/ |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
430 endtry |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
431 endif |
b0587f7ec422
patch 8.2.2263: Vim9: compilation error with try-catch in skipped block
Bram Moolenaar <Bram@vim.org>
parents:
23428
diff
changeset
|
432 |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
433 try |
21833
e3f9528bddda
patch 8.2.1466: Vim9: cannot index or slice a variable with type "any"
Bram Moolenaar <Bram@vim.org>
parents:
21831
diff
changeset
|
434 # string slice returns a string, not a number |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
435 n = g:astring[3] |
22284
6b385c2b9ff5
patch 8.2.1691: Vim9: list<any> is not accepted where list<number> is expected
Bram Moolenaar <Bram@vim.org>
parents:
22274
diff
changeset
|
436 catch /E1012:/ |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
437 n = 77 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
438 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
439 assert_equal(77, n) |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
440 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
441 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
442 n = l[g:astring] |
22284
6b385c2b9ff5
patch 8.2.1691: Vim9: list<any> is not accepted where list<number> is expected
Bram Moolenaar <Bram@vim.org>
parents:
22274
diff
changeset
|
443 catch /E1012:/ |
21831
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
444 n = 88 |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
445 endtry |
21831
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
446 assert_equal(88, n) |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
447 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
448 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
449 n = s:does_not_exist |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
450 catch /E121:/ |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
451 n = 111 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
452 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
453 assert_equal(111, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
454 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
455 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
456 n = g:does_not_exist |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
457 catch /E121:/ |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
458 n = 121 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
459 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
460 assert_equal(121, n) |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
461 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
462 var d = {one: 1} |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
463 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
464 n = d[g:astring] |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
465 catch /E716:/ |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
466 n = 222 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
467 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
468 assert_equal(222, n) |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
469 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
470 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
471 n = -g:astring |
25634
27cb2e79ccde
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25551
diff
changeset
|
472 catch /E1012:/ |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
473 n = 233 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
474 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
475 assert_equal(233, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
476 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
477 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
478 n = +g:astring |
25634
27cb2e79ccde
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25551
diff
changeset
|
479 catch /E1012:/ |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
480 n = 244 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
481 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
482 assert_equal(244, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
483 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
484 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
485 n = +g:alist |
25634
27cb2e79ccde
patch 8.2.3353: Vim9: type of argument for negate not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25551
diff
changeset
|
486 catch /E1012:/ |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
487 n = 255 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
488 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
489 assert_equal(255, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
490 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
491 var nd: dict<any> |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
492 try |
23827
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23790
diff
changeset
|
493 nd = {[g:alist]: 1} |
7e0d8f1cae7d
patch 8.2.2455: Vim9: key type for literal dict and indexing is inconsistent
Bram Moolenaar <Bram@vim.org>
parents:
23790
diff
changeset
|
494 catch /E1105:/ |
21365
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
495 n = 266 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
496 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
497 assert_equal(266, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
498 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
499 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
500 [n] = [1, 2, 3] |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
501 catch /E1093:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
502 n = 277 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
503 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
504 assert_equal(277, n) |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
505 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
506 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
507 &ts = g:astring |
22284
6b385c2b9ff5
patch 8.2.1691: Vim9: list<any> is not accepted where list<number> is expected
Bram Moolenaar <Bram@vim.org>
parents:
22274
diff
changeset
|
508 catch /E1012:/ |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
509 n = 288 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
510 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
511 assert_equal(288, n) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
512 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
513 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
514 &backspace = 'asdf' |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
515 catch /E474:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
516 n = 299 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
517 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
518 assert_equal(299, n) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
519 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
520 l = [1] |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
521 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
522 l[3] = 3 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
523 catch /E684:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
524 n = 300 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
525 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
526 assert_equal(300, n) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
527 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
528 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
529 unlet g:does_not_exist |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
530 catch /E108:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
531 n = 322 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
532 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
533 assert_equal(322, n) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
534 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
535 try |
22936
00b0275ffe7f
patch 8.2.2015: Vim9: literal dict #{} is not like any other language
Bram Moolenaar <Bram@vim.org>
parents:
22810
diff
changeset
|
536 d = {text: 1, [g:astring]: 2} |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
537 catch /E721:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
538 n = 333 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
539 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
540 assert_equal(333, n) |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
541 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
542 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
543 l = DeletedFunc() |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
544 catch /E933:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
545 n = 344 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
546 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
547 assert_equal(344, n) |
21375
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
548 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
549 try |
25368
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25358
diff
changeset
|
550 echo range(1, 2, 0) |
1ffa8eb30353
patch 8.2.3221: Vim9: argument types are not checked at compile time
Bram Moolenaar <Bram@vim.org>
parents:
25358
diff
changeset
|
551 catch /E726:/ |
21375
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
552 n = 355 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
553 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
554 assert_equal(355, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
555 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
556 var P = function('g:NoSuchFunc') |
21375
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
557 delfunc g:NoSuchFunc |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
558 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
559 echo P() |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
560 catch /E117:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
561 n = 366 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
562 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
563 assert_equal(366, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
564 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
565 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
566 echo g:NoSuchFunc() |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
567 catch /E117:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
568 n = 377 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
569 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
570 assert_equal(377, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
571 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
572 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
573 echo g:alist + 4 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
574 catch /E745:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
575 n = 388 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
576 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
577 assert_equal(388, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
578 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
579 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
580 echo 4 + g:alist |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
581 catch /E745:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
582 n = 399 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
583 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
584 assert_equal(399, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
585 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
586 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
587 echo g:alist.member |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
588 catch /E715:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
589 n = 400 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
590 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
591 assert_equal(400, n) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
592 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
593 try |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
594 echo d.member |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
595 catch /E716:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
596 n = 411 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
597 endtry |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
598 assert_equal(411, n) |
23921
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
599 |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
600 var counter = 0 |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
601 for i in range(4) |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
602 try |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
603 eval [][0] |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
604 catch |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
605 endtry |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
606 counter += 1 |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
607 endfor |
a834f9c082e3
patch 8.2.2503: Vim9: a caught error may leave something on the stack
Bram Moolenaar <Bram@vim.org>
parents:
23886
diff
changeset
|
608 assert_equal(4, counter) |
23994
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
609 |
25304
d39c12f97298
patch 8.2.3189: Vim9: error when using "try|"
Bram Moolenaar <Bram@vim.org>
parents:
25298
diff
changeset
|
610 # no requirement for spaces before | |
d39c12f97298
patch 8.2.3189: Vim9: error when using "try|"
Bram Moolenaar <Bram@vim.org>
parents:
25298
diff
changeset
|
611 try|echo 0|catch|endtry |
d39c12f97298
patch 8.2.3189: Vim9: error when using "try|"
Bram Moolenaar <Bram@vim.org>
parents:
25298
diff
changeset
|
612 |
23994
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
613 # return in finally after empty catch |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
614 def ReturnInFinally(): number |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
615 try |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
616 finally |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
617 return 4 |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
618 endtry |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
619 return 2 |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
620 enddef |
3daeb2060f25
patch 8.2.2539: Vim9: return from finally block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
23980
diff
changeset
|
621 assert_equal(4, ReturnInFinally()) |
24934
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
622 |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
623 var lines =<< trim END |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
624 vim9script |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
625 try |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
626 acos('0.5') |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
627 ->setline(1) |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
628 catch |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
629 g:caught = v:exception |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
630 endtry |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
631 END |
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
632 CheckScriptSuccess(lines) |
25384
e8e2c4d33b9b
patch 8.2.3229: Vim9: runtime and compile time type checks are not the same
Bram Moolenaar <Bram@vim.org>
parents:
25368
diff
changeset
|
633 assert_match('E1219: Float or Number required for argument 1', g:caught) |
24934
75bd12f3bfeb
patch 8.2.3004: Vim9: error for missing colon given while skipping
Bram Moolenaar <Bram@vim.org>
parents:
24786
diff
changeset
|
634 unlet g:caught |
25124
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
635 |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
636 # missing catch and/or finally |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
637 lines =<< trim END |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
638 vim9script |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
639 try |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
640 echo 'something' |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
641 endtry |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
642 END |
075790758d11
patch 8.2.3099: Vim9: missing catch/finally not reported at script level
Bram Moolenaar <Bram@vim.org>
parents:
25082
diff
changeset
|
643 CheckScriptFailure(lines, 'E1032:') |
25537
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
644 |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
645 # skipping try-finally-endtry when try-finally-endtry is used in another block |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
646 lines =<< trim END |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
647 if v:true |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
648 try |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
649 finally |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
650 endtry |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
651 else |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
652 try |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
653 finally |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
654 endtry |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
655 endif |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
656 END |
e0d6268c153a
patch 8.2.3305: Vim9: :finally in skipped block not handled correctly
Bram Moolenaar <Bram@vim.org>
parents:
25489
diff
changeset
|
657 CheckDefAndScriptSuccess(lines) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
658 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
659 |
25078
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
660 def Test_try_in_catch() |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
661 var lines =<< trim END |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
662 vim9script |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
663 var seq = [] |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
664 def DoIt() |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
665 try |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
666 seq->add('throw 1') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
667 eval [][0] |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
668 seq->add('notreached') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
669 catch |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
670 seq->add('catch') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
671 try |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
672 seq->add('throw 2') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
673 eval [][0] |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
674 seq->add('notreached') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
675 catch /nothing/ |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
676 seq->add('notreached') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
677 endtry |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
678 seq->add('done') |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
679 endtry |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
680 enddef |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
681 DoIt() |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
682 assert_equal(['throw 1', 'catch', 'throw 2', 'done'], seq) |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
683 END |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
684 enddef |
eac6e5a94e9d
patch 8.2.3076: Vim9: using try in catch block causes a hang
Bram Moolenaar <Bram@vim.org>
parents:
25057
diff
changeset
|
685 |
25080
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
686 def Test_error_in_catch() |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
687 var lines =<< trim END |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
688 try |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
689 eval [][0] |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
690 catch /E684:/ |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
691 eval [][0] |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
692 endtry |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
693 END |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
694 CheckDefExecFailure(lines, 'E684:', 4) |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
695 enddef |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
696 |
24122
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
697 " :while at the very start of a function that :continue jumps to |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
698 def TryContinueFunc() |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
699 while g:Count < 2 |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
700 g:sequence ..= 't' |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
701 try |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
702 echoerr 'Test' |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
703 catch |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
704 g:Count += 1 |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
705 g:sequence ..= 'c' |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
706 continue |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
707 endtry |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
708 g:sequence ..= 'e' |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
709 g:Count += 1 |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
710 endwhile |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
711 enddef |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
712 |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
713 def Test_continue_in_try_in_while() |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
714 g:Count = 0 |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
715 g:sequence = '' |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
716 TryContinueFunc() |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
717 assert_equal('tctc', g:sequence) |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
718 unlet g:Count |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
719 unlet g:sequence |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
720 enddef |
e8b21a3bb0d5
patch 8.2.2602: Vim9: continue doesn't work if :while is very first command
Bram Moolenaar <Bram@vim.org>
parents:
24114
diff
changeset
|
721 |
24002
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
722 def Test_nocatch_return_in_try() |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
723 # return in try block returns normally |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
724 def ReturnInTry(): string |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
725 try |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
726 return '"some message"' |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
727 catch |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
728 endtry |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
729 return 'not reached' |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
730 enddef |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
731 exe 'echoerr ' .. ReturnInTry() |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
732 enddef |
5dbed4837ea3
patch 8.2.2543: Vim9: a return inside try/catch does not restore properly
Bram Moolenaar <Bram@vim.org>
parents:
23994
diff
changeset
|
733 |
23656
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
734 def Test_cnext_works_in_catch() |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
735 var lines =<< trim END |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
736 vim9script |
25202
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
737 au BufEnter * eval 1 + 2 |
23656
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
738 writefile(['text'], 'Xfile1') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
739 writefile(['text'], 'Xfile2') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
740 var items = [ |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
741 {lnum: 1, filename: 'Xfile1', valid: true}, |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
742 {lnum: 1, filename: 'Xfile2', valid: true} |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
743 ] |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
744 setqflist([], ' ', {items: items}) |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
745 cwindow |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
746 |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
747 def CnextOrCfirst() |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
748 # if cnext fails, cfirst is used |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
749 try |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
750 cnext |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
751 catch |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
752 cfirst |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
753 endtry |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
754 enddef |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
755 |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
756 CnextOrCfirst() |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
757 CnextOrCfirst() |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
758 writefile([getqflist({idx: 0}).idx], 'Xresult') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
759 qall |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
760 END |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
761 writefile(lines, 'XCatchCnext') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
762 RunVim([], [], '--clean -S XCatchCnext') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
763 assert_equal(['1'], readfile('Xresult')) |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
764 |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
765 delete('Xfile1') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
766 delete('Xfile2') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
767 delete('XCatchCnext') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
768 delete('Xresult') |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
769 enddef |
c6f7df86cd9d
patch 8.2.2370: Vim9: command fails in catch block
Bram Moolenaar <Bram@vim.org>
parents:
23618
diff
changeset
|
770 |
23576
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
771 def Test_throw_skipped() |
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
772 if 0 |
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
773 throw dontgethere |
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
774 endif |
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
775 enddef |
4cd173b3d572
patch 8.2.2330: Vim9: crash when using :trow in a not executed block
Bram Moolenaar <Bram@vim.org>
parents:
23571
diff
changeset
|
776 |
23618
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
777 def Test_nocatch_throw_silenced() |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
778 var lines =<< trim END |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
779 vim9script |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
780 def Func() |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
781 throw 'error' |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
782 enddef |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
783 silent! Func() |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
784 END |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
785 writefile(lines, 'XthrowSilenced') |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
786 source XthrowSilenced |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
787 delete('XthrowSilenced') |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
788 enddef |
d228ca435f3a
patch 8.2.2351: Vim9: error msg for "throw" in function called with "silent!"
Bram Moolenaar <Bram@vim.org>
parents:
23576
diff
changeset
|
789 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
790 def DeletedFunc(): list<any> |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
791 return ['delete me'] |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
792 enddef |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
793 defcompile |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
794 delfunc DeletedFunc |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
795 |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
796 def ThrowFromDef() |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
797 throw "getout" # comment |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
798 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
799 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
800 func CatchInFunc() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
801 try |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
802 call ThrowFromDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
803 catch |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
804 let g:thrown_func = v:exception |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
805 endtry |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
806 endfunc |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
807 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
808 def CatchInDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
809 try |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
810 ThrowFromDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
811 catch |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
812 g:thrown_def = v:exception |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
813 endtry |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
814 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
815 |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
816 def ReturnFinally(): string |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
817 try |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
818 return 'intry' |
22395
03249b8976a9
patch 8.2.1746: Vim9: cannot use "fina" for "finally"
Bram Moolenaar <Bram@vim.org>
parents:
22391
diff
changeset
|
819 finall |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
820 g:in_finally = 'finally' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
821 endtry |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
822 return 'end' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
823 enddef |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
824 |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
825 def Test_try_catch_nested() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
826 CatchInFunc() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
827 assert_equal('getout', g:thrown_func) |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
828 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
829 CatchInDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
830 assert_equal('getout', g:thrown_def) |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
831 |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
832 assert_equal('intry', ReturnFinally()) |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
833 assert_equal('finally', g:in_finally) |
25080
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
834 |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
835 var l = [] |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
836 try |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
837 l->add('1') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
838 throw 'bad' |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
839 l->add('x') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
840 catch /bad/ |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
841 l->add('2') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
842 try |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
843 l->add('3') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
844 throw 'one' |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
845 l->add('x') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
846 catch /one/ |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
847 l->add('4') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
848 try |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
849 l->add('5') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
850 throw 'more' |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
851 l->add('x') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
852 catch /more/ |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
853 l->add('6') |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
854 endtry |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
855 endtry |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
856 endtry |
146c9720e563
patch 8.2.3077: Vim9: an error in a catch block is not reported
Bram Moolenaar <Bram@vim.org>
parents:
25078
diff
changeset
|
857 assert_equal(['1', '2', '3', '4', '5', '6'], l) |
25082
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
858 |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
859 l = [] |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
860 try |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
861 try |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
862 l->add('1') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
863 throw 'foo' |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
864 l->add('x') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
865 catch |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
866 l->add('2') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
867 throw 'bar' |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
868 l->add('x') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
869 finally |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
870 l->add('3') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
871 endtry |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
872 l->add('x') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
873 catch /bar/ |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
874 l->add('4') |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
875 endtry |
5c7a09cf97a1
patch 8.2.3078: Vim9: profile test fails
Bram Moolenaar <Bram@vim.org>
parents:
25080
diff
changeset
|
876 assert_equal(['1', '2', '3', '4'], l) |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
877 enddef |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
878 |
22302
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
879 def TryOne(): number |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
880 try |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
881 return 0 |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
882 catch |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
883 endtry |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
884 return 0 |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
885 enddef |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
886 |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
887 def TryTwo(n: number): string |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
888 try |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
889 var x = {} |
22302
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
890 catch |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
891 endtry |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
892 return 'text' |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
893 enddef |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
894 |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
895 def Test_try_catch_twice() |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
896 assert_equal('text', TryOne()->TryTwo()) |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
897 enddef |
36e8e046c335
patch 8.2.1700: Vim9: try/catch causes wrong value to be returned
Bram Moolenaar <Bram@vim.org>
parents:
22296
diff
changeset
|
898 |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
899 def Test_try_catch_match() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
900 var seq = 'a' |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
901 try |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
902 throw 'something' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
903 catch /nothing/ |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
904 seq ..= 'x' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
905 catch /some/ |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
906 seq ..= 'b' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
907 catch /asdf/ |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
908 seq ..= 'x' |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
909 catch ?a\?sdf? |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
910 seq ..= 'y' |
19459
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
911 finally |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
912 seq ..= 'c' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
913 endtry |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
914 assert_equal('abc', seq) |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
915 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
916 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
917 def Test_try_catch_fails() |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
918 CheckDefFailure(['catch'], 'E603:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
919 CheckDefFailure(['try', 'echo 0', 'catch', 'catch'], 'E1033:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
920 CheckDefFailure(['try', 'echo 0', 'catch /pat'], 'E1067:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
921 CheckDefFailure(['finally'], 'E606:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
922 CheckDefFailure(['try', 'echo 0', 'finally', 'echo 1', 'finally'], 'E607:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
923 CheckDefFailure(['endtry'], 'E602:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
924 CheckDefFailure(['while 1', 'endtry'], 'E170:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
925 CheckDefFailure(['for i in range(5)', 'endtry'], 'E170:') |
22500
ef8a3177edc1
patch 8.2.1798: Vim9: trinary operator condition is too permissive
Bram Moolenaar <Bram@vim.org>
parents:
22458
diff
changeset
|
926 CheckDefFailure(['if 1', 'endtry'], 'E171:') |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
927 CheckDefFailure(['try', 'echo 1', 'endtry'], 'E1032:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
928 |
23183
4d5d12138b36
patch 8.2.2137: Vim9: :echo and :execute give error for empty argument
Bram Moolenaar <Bram@vim.org>
parents:
23179
diff
changeset
|
929 CheckDefFailure(['throw'], 'E1143:') |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
930 CheckDefFailure(['throw xxx'], 'E1001:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
931 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
932 |
23950
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
933 def Try_catch_skipped() |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
934 var l = [] |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
935 try |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
936 finally |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
937 endtry |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
938 |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
939 if 1 |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
940 else |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
941 try |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
942 endtry |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
943 endif |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
944 enddef |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
945 |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
946 " The skipped try/endtry was updating the wrong instruction. |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
947 def Test_try_catch_skipped() |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
948 var instr = execute('disassemble Try_catch_skipped') |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
949 assert_match("NEWLIST size 0\n", instr) |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
950 enddef |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
951 |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
952 |
4279c1c66df1
patch 8.2.2517: Vim9: fix for s390 not tested on other systems
Bram Moolenaar <Bram@vim.org>
parents:
23940
diff
changeset
|
953 |
21094
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
954 def Test_throw_vimscript() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
955 # only checks line continuation |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
956 var lines =<< trim END |
21094
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
957 vim9script |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
958 try |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
959 throw 'one' |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
960 .. 'two' |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
961 catch |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
962 assert_equal('onetwo', v:exception) |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
963 endtry |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
964 END |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
965 CheckScriptSuccess(lines) |
22612
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
966 |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
967 lines =<< trim END |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
968 vim9script |
22621
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
969 @r = '' |
22612
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
970 def Func() |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
971 throw @r |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
972 enddef |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
973 var result = '' |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
974 try |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
975 Func() |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
976 catch /E1129:/ |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
977 result = 'caught' |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
978 endtry |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
979 assert_equal('caught', result) |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
980 END |
b08f435d5b86
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Bram Moolenaar <Bram@vim.org>
parents:
22602
diff
changeset
|
981 CheckScriptSuccess(lines) |
21094
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
982 enddef |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
983 |
21757
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
984 def Test_error_in_nested_function() |
23940
949238ccbd50
patch 8.2.2512: Vim9: compiling error test sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
23927
diff
changeset
|
985 # an error in a nested :function aborts executing in the calling :def function |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
986 var lines =<< trim END |
21757
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
987 vim9script |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
988 def Func() |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
989 Error() |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
990 g:test_var = 1 |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
991 enddef |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
992 func Error() abort |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
993 eval [][0] |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
994 endfunc |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
995 Func() |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
996 END |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
997 g:test_var = 0 |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
998 CheckScriptFailure(lines, 'E684:') |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
999 assert_equal(0, g:test_var) |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
1000 enddef |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
1001 |
24555
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1002 def Test_abort_after_error() |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1003 var lines =<< trim END |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1004 vim9script |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1005 while true |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1006 echo notfound |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1007 endwhile |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1008 g:gotthere = true |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1009 END |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1010 g:gotthere = false |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1011 CheckScriptFailure(lines, 'E121:') |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1012 assert_false(g:gotthere) |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1013 unlet g:gotthere |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1014 enddef |
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
1015 |
21096
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1016 def Test_cexpr_vimscript() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1017 # only checks line continuation |
21096
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1018 set errorformat=File\ %f\ line\ %l |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1019 var lines =<< trim END |
21096
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1020 vim9script |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1021 cexpr 'File' |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1022 .. ' someFile' .. |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1023 ' line 19' |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1024 assert_equal(19, getqflist()[0].lnum) |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1025 END |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1026 CheckScriptSuccess(lines) |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1027 set errorformat& |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1028 enddef |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1029 |
21775
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1030 def Test_statusline_syntax() |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1031 # legacy syntax is used for 'statusline' |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1032 var lines =<< trim END |
21775
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1033 vim9script |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1034 func g:Status() |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1035 return '%{"x" is# "x"}' |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1036 endfunc |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1037 set laststatus=2 statusline=%!Status() |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1038 redrawstatus |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1039 set laststatus statusline= |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1040 END |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1041 CheckScriptSuccess(lines) |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1042 enddef |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1043 |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1044 def Test_list_vimscript() |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1045 # checks line continuation and comments |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1046 var lines =<< trim END |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1047 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1048 var mylist = [ |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1049 'one', |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1050 # comment |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1051 'two', # empty line follows |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1052 |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1053 'three', |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1054 ] |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1055 assert_equal(['one', 'two', 'three'], mylist) |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1056 END |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1057 CheckScriptSuccess(lines) |
21883
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1058 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1059 # check all lines from heredoc are kept |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1060 lines =<< trim END |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1061 # comment 1 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1062 two |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1063 # comment 3 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1064 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1065 five |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1066 # comment 6 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1067 END |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1068 assert_equal(['# comment 1', 'two', '# comment 3', '', 'five', '# comment 6'], lines) |
23703
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1069 |
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1070 lines =<< trim END |
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1071 [{ |
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1072 a: 0}]->string()->assert_equal("[{'a': 0}]") |
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1073 END |
6bfb302d8392
patch 8.2.2393: Vim9: error message when script line starts with "[{"
Bram Moolenaar <Bram@vim.org>
parents:
23658
diff
changeset
|
1074 CheckDefAndScriptSuccess(lines) |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1075 enddef |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1076 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1077 if has('channel') |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1078 let someJob = test_null_job() |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
1079 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1080 def FuncWithError() |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1081 echomsg g:someJob |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1082 enddef |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
1083 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1084 func Test_convert_emsg_to_exception() |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1085 try |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1086 call FuncWithError() |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1087 catch |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1088 call assert_match('Vim:E908:', v:exception) |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1089 endtry |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1090 endfunc |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1091 endif |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
1092 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1093 let s:export_script_lines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1094 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1095 var name: string = 'bob' |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1096 def Concat(arg: string): string |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1097 return name .. arg |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1098 enddef |
20401
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
1099 g:result = Concat('bie') |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
1100 g:localname = name |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1101 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1102 export const CONST = 1234 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1103 export var exported = 9876 |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1104 export var exp_name = 'John' |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1105 export def Exported(): string |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1106 return 'Exported' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1107 enddef |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1108 export def ExportedValue(): number |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1109 return exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1110 enddef |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1111 export def ExportedInc() |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1112 exported += 5 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1113 enddef |
24025
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1114 export final theList = [1] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1115 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1116 |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1117 def Undo_export_script_lines() |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1118 unlet g:result |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1119 unlet g:localname |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1120 enddef |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1121 |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1122 def Test_vim9_import_export() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1123 var import_script_lines =<< trim END |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1124 vim9script |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1125 import {exported, Exported, ExportedValue} from './Xexport.vim' |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1126 g:exported1 = exported |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1127 exported += 3 |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1128 g:exported2 = exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1129 g:exported3 = ExportedValue() |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1130 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1131 import ExportedInc from './Xexport.vim' |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1132 ExportedInc() |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1133 g:exported_i1 = exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1134 g:exported_i2 = ExportedValue() |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1135 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1136 exported = 11 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1137 g:exported_s1 = exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1138 g:exported_s2 = ExportedValue() |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1139 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1140 g:imported_func = Exported() |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1141 |
21473
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1142 def GetExported(): string |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
1143 var local_dict = {ref: Exported} |
21473
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1144 return local_dict.ref() |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1145 enddef |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1146 g:funcref_result = GetExported() |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1147 |
25282
9bce044c7643
patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Bram Moolenaar <Bram@vim.org>
parents:
25280
diff
changeset
|
1148 var dir = './' |
9bce044c7643
patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Bram Moolenaar <Bram@vim.org>
parents:
25280
diff
changeset
|
1149 var ext = ".vim" |
9bce044c7643
patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Bram Moolenaar <Bram@vim.org>
parents:
25280
diff
changeset
|
1150 import {exp_name} from dir .. 'Xexport' .. ext |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1151 g:imported_name = exp_name |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1152 exp_name ..= ' Doe' |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1153 g:imported_name_appended = exp_name |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1154 g:exported_later = exported |
24025
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1155 |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1156 import theList from './Xexport.vim' |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1157 theList->add(2) |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1158 assert_equal([1, 2], theList) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1159 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1160 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1161 writefile(import_script_lines, 'Ximport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1162 writefile(s:export_script_lines, 'Xexport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1163 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1164 source Ximport.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1165 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1166 assert_equal('bobbie', g:result) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1167 assert_equal('bob', g:localname) |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1168 assert_equal(9876, g:exported1) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1169 assert_equal(9879, g:exported2) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1170 assert_equal(9879, g:exported3) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1171 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1172 assert_equal(9884, g:exported_i1) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1173 assert_equal(9884, g:exported_i2) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1174 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1175 assert_equal(11, g:exported_s1) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1176 assert_equal(11, g:exported_s2) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1177 assert_equal(11, g:exported_later) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1178 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1179 assert_equal('Exported', g:imported_func) |
21473
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1180 assert_equal('Exported', g:funcref_result) |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1181 assert_equal('John', g:imported_name) |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1182 assert_equal('John Doe', g:imported_name_appended) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1183 assert_false(exists('g:name')) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1184 |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1185 Undo_export_script_lines() |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1186 unlet g:exported1 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1187 unlet g:exported2 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1188 unlet g:exported3 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1189 unlet g:exported_i1 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1190 unlet g:exported_i2 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1191 unlet g:exported_later |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1192 unlet g:imported_func |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1193 unlet g:imported_name g:imported_name_appended |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1194 delete('Ximport.vim') |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1195 |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1196 # similar, with line breaks |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1197 var import_line_break_script_lines =<< trim END |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1198 vim9script |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1199 import { |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1200 exported, |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1201 Exported, |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1202 } |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1203 from |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1204 './Xexport.vim' |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1205 g:exported = exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1206 exported += 7 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1207 g:exported_added = exported |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1208 g:imported_func = Exported() |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1209 END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1210 writefile(import_line_break_script_lines, 'Ximport_lbr.vim') |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1211 source Ximport_lbr.vim |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1212 |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1213 assert_equal(11, g:exported) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1214 assert_equal(18, g:exported_added) |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1215 assert_equal('Exported', g:imported_func) |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1216 |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1217 # exported script not sourced again |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1218 assert_false(exists('g:result')) |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1219 unlet g:exported |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1220 unlet g:exported_added |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1221 unlet g:imported_func |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1222 delete('Ximport_lbr.vim') |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1223 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1224 var import_star_as_lines =<< trim END |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1225 vim9script |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1226 import * as Export from './Xexport.vim' |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1227 def UseExport() |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1228 g:exported_def = Export.exported |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1229 enddef |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1230 g:exported_script = Export.exported |
24112
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1231 assert_equal(1, exists('Export.exported')) |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1232 assert_equal(0, exists('Export.notexported')) |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1233 UseExport() |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1234 END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1235 writefile(import_star_as_lines, 'Ximport.vim') |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1236 source Ximport.vim |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1237 |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1238 assert_equal(18, g:exported_def) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1239 assert_equal(18, g:exported_script) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1240 unlet g:exported_def |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1241 unlet g:exported_script |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1242 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1243 var import_star_as_lines_no_dot =<< trim END |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1244 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1245 import * as Export from './Xexport.vim' |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1246 def Func() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1247 var dummy = 1 |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1248 var imported = Export + dummy |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1249 enddef |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
1250 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1251 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1252 writefile(import_star_as_lines_no_dot, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1253 assert_fails('source Ximport.vim', 'E1060:', '', 2, 'Func') |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1254 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1255 var import_star_as_lines_dot_space =<< trim END |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1256 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1257 import * as Export from './Xexport.vim' |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1258 def Func() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1259 var imported = Export . exported |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1260 enddef |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
1261 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1262 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1263 writefile(import_star_as_lines_dot_space, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1264 assert_fails('source Ximport.vim', 'E1074:', '', 1, 'Func') |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1265 |
25423
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1266 var import_func_duplicated =<< trim END |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1267 vim9script |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1268 import ExportedInc from './Xexport.vim' |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1269 import ExportedInc from './Xexport.vim' |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1270 |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1271 ExportedInc() |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1272 END |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1273 writefile(import_func_duplicated, 'Ximport.vim') |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1274 assert_fails('source Ximport.vim', 'E1073:', '', 3, 'Ximport.vim') |
3e56078569ca
patch 8.2.3248: Vim9: error message for wrong input uses wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25384
diff
changeset
|
1275 |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1276 var import_star_as_duplicated =<< trim END |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1277 vim9script |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1278 import * as Export from './Xexport.vim' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1279 var some = 'other' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1280 import * as Export from './Xexport.vim' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1281 defcompile |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1282 END |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1283 writefile(import_star_as_duplicated, 'Ximport.vim') |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1284 assert_fails('source Ximport.vim', 'E1073:', '', 4, 'Ximport.vim') |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1285 |
24112
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1286 var import_star_as_lines_script_no_dot =<< trim END |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1287 vim9script |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1288 import * as Export from './Xexport.vim' |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1289 g:imported_script = Export exported |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1290 END |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1291 writefile(import_star_as_lines_script_no_dot, 'Ximport.vim') |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1292 assert_fails('source Ximport.vim', 'E1029:') |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1293 |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1294 var import_star_as_lines_script_space_after_dot =<< trim END |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1295 vim9script |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1296 import * as Export from './Xexport.vim' |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1297 g:imported_script = Export. exported |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1298 END |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1299 writefile(import_star_as_lines_script_space_after_dot, 'Ximport.vim') |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1300 assert_fails('source Ximport.vim', 'E1074:') |
0346a59ed5bf
patch 8.2.2597: Vim9: "import * as" does not work at script level
Bram Moolenaar <Bram@vim.org>
parents:
24081
diff
changeset
|
1301 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1302 var import_star_as_lines_missing_name =<< trim END |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1303 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1304 import * as Export from './Xexport.vim' |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1305 def Func() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1306 var imported = Export. |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1307 enddef |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
1308 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1309 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1310 writefile(import_star_as_lines_missing_name, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1311 assert_fails('source Ximport.vim', 'E1048:', '', 1, 'Func') |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1312 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1313 var import_star_as_lbr_lines =<< trim END |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1314 vim9script |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1315 import * |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1316 as Export |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1317 from |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1318 './Xexport.vim' |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1319 def UseExport() |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1320 g:exported = Export.exported |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1321 enddef |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1322 UseExport() |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1323 END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1324 writefile(import_star_as_lbr_lines, 'Ximport.vim') |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1325 source Ximport.vim |
25284
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1326 assert_equal(18, g:exported) |
29191571eceb
patch 8.2.3179: Vim9: cannot assign to an imported variable at script level
Bram Moolenaar <Bram@vim.org>
parents:
25282
diff
changeset
|
1327 unlet g:exported |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1328 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1329 var import_star_lines =<< trim END |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1330 vim9script |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1331 import * from './Xexport.vim' |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1332 END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1333 writefile(import_star_lines, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1334 assert_fails('source Ximport.vim', 'E1045:', '', 2, 'Ximport.vim') |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1335 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1336 # try to import something that exists but is not exported |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1337 var import_not_exported_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1338 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1339 import name from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1340 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1341 writefile(import_not_exported_lines, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1342 assert_fails('source Ximport.vim', 'E1049:', '', 2, 'Ximport.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1343 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1344 # try to import something that is already defined |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1345 var import_already_defined =<< trim END |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1346 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1347 var exported = 'something' |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1348 import exported from './Xexport.vim' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1349 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1350 writefile(import_already_defined, 'Ximport.vim') |
24033
308d29307910
patch 8.2.2558: no error if a lambda argument shadows a variable
Bram Moolenaar <Bram@vim.org>
parents:
24029
diff
changeset
|
1351 assert_fails('source Ximport.vim', 'E1054:', '', 3, 'Ximport.vim') |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1352 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1353 # try to import something that is already defined |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1354 import_already_defined =<< trim END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1355 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1356 var exported = 'something' |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1357 import * as exported from './Xexport.vim' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1358 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1359 writefile(import_already_defined, 'Ximport.vim') |
24033
308d29307910
patch 8.2.2558: no error if a lambda argument shadows a variable
Bram Moolenaar <Bram@vim.org>
parents:
24029
diff
changeset
|
1360 assert_fails('source Ximport.vim', 'E1054:', '', 3, 'Ximport.vim') |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1361 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1362 # try to import something that is already defined |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1363 import_already_defined =<< trim END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1364 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1365 var exported = 'something' |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1366 import {exported} from './Xexport.vim' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1367 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1368 writefile(import_already_defined, 'Ximport.vim') |
24033
308d29307910
patch 8.2.2558: no error if a lambda argument shadows a variable
Bram Moolenaar <Bram@vim.org>
parents:
24029
diff
changeset
|
1369 assert_fails('source Ximport.vim', 'E1054:', '', 3, 'Ximport.vim') |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1370 |
23106
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1371 # try changing an imported const |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1372 var import_assign_to_const =<< trim END |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1373 vim9script |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1374 import CONST from './Xexport.vim' |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1375 def Assign() |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1376 CONST = 987 |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1377 enddef |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1378 defcompile |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1379 END |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1380 writefile(import_assign_to_const, 'Ximport.vim') |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1381 assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') |
b0c88aa0175b
patch 8.2.2099: Vim9: some checks are not tested
Bram Moolenaar <Bram@vim.org>
parents:
23092
diff
changeset
|
1382 |
24025
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1383 # try changing an imported final |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1384 var import_assign_to_final =<< trim END |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1385 vim9script |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1386 import theList from './Xexport.vim' |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1387 def Assign() |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1388 theList = [2] |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1389 enddef |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1390 defcompile |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1391 END |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1392 writefile(import_assign_to_final, 'Ximport.vim') |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1393 assert_fails('source Ximport.vim', 'E46:', '', 1, '_Assign') |
edcb6cf55a26
patch 8.2.2554: Vim9: exporting a final is not tested
Bram Moolenaar <Bram@vim.org>
parents:
24002
diff
changeset
|
1394 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1395 # import a very long name, requires making a copy |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1396 var import_long_name_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1397 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1398 import name012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1399 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1400 writefile(import_long_name_lines, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1401 assert_fails('source Ximport.vim', 'E1048:', '', 2, 'Ximport.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1402 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1403 var import_no_from_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1404 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1405 import name './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1406 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1407 writefile(import_no_from_lines, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1408 assert_fails('source Ximport.vim', 'E1070:', '', 2, 'Ximport.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1409 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1410 var import_invalid_string_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1411 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1412 import name from Xexport.vim |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1413 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1414 writefile(import_invalid_string_lines, 'Ximport.vim') |
25282
9bce044c7643
patch 8.2.3178: Vim9: the file name of an :import cannot be an expression
Bram Moolenaar <Bram@vim.org>
parents:
25280
diff
changeset
|
1415 assert_fails('source Ximport.vim', 'E121:', '', 2, 'Ximport.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1416 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1417 var import_wrong_name_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1418 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1419 import name from './XnoExport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1420 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1421 writefile(import_wrong_name_lines, 'Ximport.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1422 assert_fails('source Ximport.vim', 'E1053:', '', 2, 'Ximport.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1423 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1424 var import_missing_comma_lines =<< trim END |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1425 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1426 import {exported name} from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1427 END |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1428 writefile(import_missing_comma_lines, 'Ximport3.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1429 assert_fails('source Ximport3.vim', 'E1046:', '', 2, 'Ximport3.vim') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1430 |
25298
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1431 var import_redefining_lines =<< trim END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1432 vim9script |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1433 import exported from './Xexport.vim' |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1434 var exported = 5 |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1435 END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1436 writefile(import_redefining_lines, 'Ximport.vim') |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1437 assert_fails('source Ximport.vim', 'E1213: Redefining imported item "exported"', '', 3) |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1438 |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1439 var import_assign_wrong_type_lines =<< trim END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1440 vim9script |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1441 import exported from './Xexport.vim' |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1442 exported = 'xxx' |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1443 END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1444 writefile(import_assign_wrong_type_lines, 'Ximport.vim') |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1445 assert_fails('source Ximport.vim', 'E1012: Type mismatch; expected number but got string', '', 3) |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1446 |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1447 var import_assign_const_lines =<< trim END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1448 vim9script |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1449 import CONST from './Xexport.vim' |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1450 CONST = 4321 |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1451 END |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1452 writefile(import_assign_const_lines, 'Ximport.vim') |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1453 assert_fails('source Ximport.vim', 'E741: Value is locked: CONST', '', 3) |
90fa50a31994
patch 8.2.3186: Vim9: not all failures for import tested
Bram Moolenaar <Bram@vim.org>
parents:
25284
diff
changeset
|
1454 |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1455 delete('Ximport.vim') |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1456 delete('Ximport3.vim') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1457 delete('Xexport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1458 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1459 # Check that in a Vim9 script 'cpo' is set to the Vim default. |
24150
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1460 # Flags added or removed are also applied to the restored value. |
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1461 set cpo=abcd |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1462 var lines =<< trim END |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1463 vim9script |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1464 g:cpo_in_vim9script = &cpo |
24150
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1465 set cpo+=f |
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1466 set cpo-=c |
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1467 g:cpo_after_vim9script = &cpo |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1468 END |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1469 writefile(lines, 'Xvim9_script') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1470 source Xvim9_script |
24150
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1471 assert_equal('fabd', &cpo) |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1472 set cpo&vim |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1473 assert_equal(&cpo, g:cpo_in_vim9script) |
24150
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1474 var newcpo = substitute(&cpo, 'c', '', '') .. 'f' |
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1475 assert_equal(newcpo, g:cpo_after_vim9script) |
4919f2d8d7fd
patch 8.2.2616: Vim9: if 'cpo' is change in Vim9 script it may be restored
Bram Moolenaar <Bram@vim.org>
parents:
24148
diff
changeset
|
1476 |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1477 delete('Xvim9_script') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1478 enddef |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1479 |
24029
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1480 def Test_import_as() |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1481 var export_lines =<< trim END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1482 vim9script |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1483 export var one = 1 |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1484 export var yes = 'yes' |
25186
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1485 export var slist: list<string> |
24029
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1486 END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1487 writefile(export_lines, 'XexportAs') |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1488 |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1489 var import_lines =<< trim END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1490 vim9script |
24469
e5db23a8ad98
patch 8.2.2774: Vim9: cannot import an existing name even when using "as"
Bram Moolenaar <Bram@vim.org>
parents:
24460
diff
changeset
|
1491 var one = 'notused' |
e5db23a8ad98
patch 8.2.2774: Vim9: cannot import an existing name even when using "as"
Bram Moolenaar <Bram@vim.org>
parents:
24460
diff
changeset
|
1492 var yes = 777 |
24029
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1493 import one as thatOne from './XexportAs' |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1494 assert_equal(1, thatOne) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1495 import yes as yesYes from './XexportAs' |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1496 assert_equal('yes', yesYes) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1497 END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1498 CheckScriptSuccess(import_lines) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1499 |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1500 import_lines =<< trim END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1501 vim9script |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1502 import {one as thatOne, yes as yesYes} from './XexportAs' |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1503 assert_equal(1, thatOne) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1504 assert_equal('yes', yesYes) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1505 assert_fails('echo one', 'E121:') |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1506 assert_fails('echo yes', 'E121:') |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1507 END |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1508 CheckScriptSuccess(import_lines) |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1509 |
25186
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1510 import_lines =<< trim END |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1511 vim9script |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1512 import {slist as impSlist} from './XexportAs' |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1513 impSlist->add(123) |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1514 END |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1515 CheckScriptFailure(import_lines, 'E1012: Type mismatch; expected string but got number') |
0a3b1c66d3f2
patch 8.2.3129: Vim9: imported uninitialized list does not get type checked
Bram Moolenaar <Bram@vim.org>
parents:
25180
diff
changeset
|
1516 |
24029
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1517 delete('XexportAs') |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1518 enddef |
429b4f8d2fac
patch 8.2.2556: Vim9: :import with "as" not fully supported
Bram Moolenaar <Bram@vim.org>
parents:
24027
diff
changeset
|
1519 |
21652
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1520 func g:Trigger() |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1521 source Ximport.vim |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1522 return "echo 'yes'\<CR>" |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1523 endfunc |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1524 |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1525 def Test_import_export_expr_map() |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1526 # check that :import and :export work when buffer is locked |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1527 var export_lines =<< trim END |
21652
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1528 vim9script |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1529 export def That(): string |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1530 return 'yes' |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1531 enddef |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1532 END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1533 writefile(export_lines, 'Xexport_that.vim') |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1534 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1535 var import_lines =<< trim END |
21652
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1536 vim9script |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1537 import That from './Xexport_that.vim' |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1538 assert_equal('yes', That()) |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1539 END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1540 writefile(import_lines, 'Ximport.vim') |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1541 |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1542 nnoremap <expr> trigger g:Trigger() |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1543 feedkeys('trigger', "xt") |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1544 |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1545 delete('Xexport_that.vim') |
21652
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1546 delete('Ximport.vim') |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1547 nunmap trigger |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1548 enddef |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1549 |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1550 def Test_import_in_filetype() |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1551 # check that :import works when the buffer is locked |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1552 mkdir('ftplugin', 'p') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1553 var export_lines =<< trim END |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1554 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1555 export var That = 'yes' |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1556 END |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1557 writefile(export_lines, 'ftplugin/Xexport_ft.vim') |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1558 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1559 var import_lines =<< trim END |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1560 vim9script |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1561 import That from './Xexport_ft.vim' |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1562 assert_equal('yes', That) |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1563 g:did_load_mytpe = 1 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1564 END |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1565 writefile(import_lines, 'ftplugin/qf.vim') |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1566 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1567 var save_rtp = &rtp |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1568 &rtp = getcwd() .. ',' .. &rtp |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1569 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1570 filetype plugin on |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1571 copen |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1572 assert_equal(1, g:did_load_mytpe) |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1573 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1574 quit! |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1575 delete('Xexport_ft.vim') |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1576 delete('ftplugin', 'rf') |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1577 &rtp = save_rtp |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1578 enddef |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1579 |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1580 def Test_use_import_in_mapping() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1581 var lines =<< trim END |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1582 vim9script |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1583 export def Funcx() |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1584 g:result = 42 |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1585 enddef |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1586 END |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1587 writefile(lines, 'XsomeExport.vim') |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1588 lines =<< trim END |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1589 vim9script |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1590 import Funcx from './XsomeExport.vim' |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1591 nnoremap <F3> :call <sid>Funcx()<cr> |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1592 END |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1593 writefile(lines, 'Xmapscript.vim') |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1594 |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1595 source Xmapscript.vim |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1596 feedkeys("\<F3>", "xt") |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1597 assert_equal(42, g:result) |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1598 |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1599 unlet g:result |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1600 delete('XsomeExport.vim') |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1601 delete('Xmapscript.vim') |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1602 nunmap <F3> |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1603 enddef |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1604 |
23974
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1605 def Test_vim9script_mix() |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1606 var lines =<< trim END |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1607 if has(g:feature) |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1608 " legacy script |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1609 let g:legacy = 1 |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1610 finish |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1611 endif |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1612 vim9script |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1613 g:legacy = 0 |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1614 END |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1615 g:feature = 'eval' |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1616 g:legacy = -1 |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1617 CheckScriptSuccess(lines) |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1618 assert_equal(1, g:legacy) |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1619 |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1620 g:feature = 'noteval' |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1621 g:legacy = -1 |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1622 CheckScriptSuccess(lines) |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1623 assert_equal(0, g:legacy) |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1624 enddef |
d4f7e4138544
patch 8.2.2529: Vim9: Not possible to use legacy and Vim9 script in one file
Bram Moolenaar <Bram@vim.org>
parents:
23954
diff
changeset
|
1625 |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1626 def Test_vim9script_fails() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1627 CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1628 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1629 CheckScriptFailure(['export var some = 123'], 'E1042:') |
20816
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
1630 CheckScriptFailure(['import some from "./Xexport.vim"'], 'E1048:') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1631 CheckScriptFailure(['vim9script', 'export var g:some'], 'E1022:') |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1632 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1633 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1634 CheckScriptFailure(['vim9script', 'var str: string', 'str = 1234'], 'E1012:') |
20919
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
1635 CheckScriptFailure(['vim9script', 'const str = "asdf"', 'str = "xxx"'], 'E46:') |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
1636 |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21987
diff
changeset
|
1637 assert_fails('vim9script', 'E1038:') |
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21987
diff
changeset
|
1638 assert_fails('export something', 'E1043:') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1639 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1640 |
20883
8bc11506d787
patch 8.2.0993: Vim9 script test fails with normal features
Bram Moolenaar <Bram@vim.org>
parents:
20881
diff
changeset
|
1641 func Test_import_fails_without_script() |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1642 CheckRunVimInTerminal |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1643 |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1644 " call indirectly to avoid compilation error for missing functions |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1645 call Run_Test_import_fails_on_command_line() |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1646 endfunc |
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1647 |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1648 def Run_Test_import_fails_on_command_line() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1649 var export =<< trim END |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1650 vim9script |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1651 export def Foo(): number |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1652 return 0 |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1653 enddef |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1654 END |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1655 writefile(export, 'XexportCmd.vim') |
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1656 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
1657 var buf = RunVimInTerminal('-c "import Foo from ''./XexportCmd.vim''"', { |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1658 rows: 6, wait_for_ruler: 0}) |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23364
diff
changeset
|
1659 WaitForAssert(() => assert_match('^E1094:', term_getline(buf, 5))) |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1660 |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1661 delete('XexportCmd.vim') |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1662 StopVimInTerminal(buf) |
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1663 enddef |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1664 |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1665 def Test_vim9script_reload_noclear() |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1666 var lines =<< trim END |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1667 vim9script |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1668 export var exported = 'thexport' |
25425
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1669 |
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1670 export def TheFunc(x = 0) |
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1671 enddef |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1672 END |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1673 writefile(lines, 'XExportReload') |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1674 lines =<< trim END |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1675 vim9script noclear |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1676 g:loadCount += 1 |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1677 var s:reloaded = 'init' |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1678 import exported from './XExportReload' |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1679 |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1680 def Again(): string |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1681 return 'again' |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1682 enddef |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1683 |
25425
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1684 import TheFunc from './XExportReload' |
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1685 TheFunc() |
effe5f2b4d01
patch 8.2.3249: Vim9: error for re-imported function with default argument
Bram Moolenaar <Bram@vim.org>
parents:
25423
diff
changeset
|
1686 |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1687 if exists('s:loaded') | finish | endif |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1688 var s:loaded = true |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1689 |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1690 var s:notReloaded = 'yes' |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1691 s:reloaded = 'first' |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1692 def g:Values(): list<string> |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1693 return [s:reloaded, s:notReloaded, Again(), Once(), exported] |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1694 enddef |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1695 |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1696 def Once(): string |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1697 return 'once' |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1698 enddef |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1699 END |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1700 writefile(lines, 'XReloaded') |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1701 g:loadCount = 0 |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1702 source XReloaded |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1703 assert_equal(1, g:loadCount) |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1704 assert_equal(['first', 'yes', 'again', 'once', 'thexport'], g:Values()) |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1705 source XReloaded |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1706 assert_equal(2, g:loadCount) |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1707 assert_equal(['init', 'yes', 'again', 'once', 'thexport'], g:Values()) |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1708 source XReloaded |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1709 assert_equal(3, g:loadCount) |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1710 assert_equal(['init', 'yes', 'again', 'once', 'thexport'], g:Values()) |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1711 |
23571
b02ac00aacbf
patch 8.2.2328: some test files may not be deleted
Bram Moolenaar <Bram@vim.org>
parents:
23440
diff
changeset
|
1712 delete('XReloaded') |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
1713 delete('XExportReload') |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1714 delfunc g:Values |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1715 unlet g:loadCount |
25057
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1716 |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1717 lines =<< trim END |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1718 vim9script |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1719 def Inner() |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1720 enddef |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1721 END |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1722 lines->writefile('XreloadScript.vim') |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1723 source XreloadScript.vim |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1724 |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1725 lines =<< trim END |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1726 vim9script |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1727 def Outer() |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1728 def Inner() |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1729 enddef |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1730 enddef |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1731 defcompile |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1732 END |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1733 lines->writefile('XreloadScript.vim') |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1734 source XreloadScript.vim |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1735 |
ffc3e1164652
patch 8.2.3065: Vim9: error when sourcing script twice and reusing function
Bram Moolenaar <Bram@vim.org>
parents:
25028
diff
changeset
|
1736 delete('XreloadScript.vim') |
23358
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1737 enddef |
b3142fc0a414
patch 8.2.2222: Vim9: cannot keep script variables when reloading
Bram Moolenaar <Bram@vim.org>
parents:
23342
diff
changeset
|
1738 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1739 def Test_vim9script_reload_import() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1740 var lines =<< trim END |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1741 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1742 const var = '' |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1743 var valone = 1234 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1744 def MyFunc(arg: string) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1745 valone = 5678 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1746 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1747 END |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1748 var morelines =<< trim END |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1749 var valtwo = 222 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1750 export def GetValtwo(): number |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1751 return valtwo |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1752 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1753 END |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1754 writefile(lines + morelines, 'Xreload.vim') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1755 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1756 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1757 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1758 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1759 # cannot declare a var twice |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1760 lines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1761 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1762 var valone = 1234 |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1763 var valone = 5678 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1764 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1765 writefile(lines, 'Xreload.vim') |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1766 assert_fails('source Xreload.vim', 'E1041:', '', 3, 'Xreload.vim') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1767 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1768 delete('Xreload.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1769 delete('Ximport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1770 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1771 |
23362
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1772 " if a script is reloaded with a script-local variable that changed its type, a |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1773 " compiled function using that variable must fail. |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1774 def Test_script_reload_change_type() |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1775 var lines =<< trim END |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1776 vim9script noclear |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1777 var str = 'string' |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1778 def g:GetStr(): string |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1779 return str .. 'xxx' |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1780 enddef |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1781 END |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1782 writefile(lines, 'Xreload.vim') |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1783 source Xreload.vim |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1784 echo g:GetStr() |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1785 |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1786 lines =<< trim END |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1787 vim9script noclear |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1788 var str = 1234 |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1789 END |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1790 writefile(lines, 'Xreload.vim') |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1791 source Xreload.vim |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1792 assert_fails('echo g:GetStr()', 'E1150:') |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1793 |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1794 delfunc g:GetStr |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1795 delete('Xreload.vim') |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1796 enddef |
f181fe2150ab
patch 8.2.2224: Vim9: crash if script reloaded with different variable type
Bram Moolenaar <Bram@vim.org>
parents:
23360
diff
changeset
|
1797 |
24146
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1798 " Define CallFunc so that the test can be compiled |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1799 command CallFunc echo 'nop' |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1800 |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1801 def Test_script_reload_from_function() |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1802 var lines =<< trim END |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1803 vim9script |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1804 |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1805 if exists('g:loaded') |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1806 finish |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1807 endif |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1808 g:loaded = 1 |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1809 delcommand CallFunc |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1810 command CallFunc Func() |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1811 def Func() |
24148
0edc315f2d0c
patch 8.2.2615: test is sourcing the wrong file
Bram Moolenaar <Bram@vim.org>
parents:
24146
diff
changeset
|
1812 so XreloadFunc.vim |
24146
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1813 g:didTheFunc = 1 |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1814 enddef |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1815 END |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1816 writefile(lines, 'XreloadFunc.vim') |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1817 source XreloadFunc.vim |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1818 CallFunc |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1819 assert_equal(1, g:didTheFunc) |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1820 |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1821 delete('XreloadFunc.vim') |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1822 delcommand CallFunc |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1823 unlet g:loaded |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1824 unlet g:didTheFunc |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1825 enddef |
03fc95628eb0
patch 8.2.2614: Vim9: function is deleted while executing
Bram Moolenaar <Bram@vim.org>
parents:
24122
diff
changeset
|
1826 |
24051
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1827 def Test_script_var_shadows_function() |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1828 var lines =<< trim END |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1829 vim9script |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1830 def Func(): number |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1831 return 123 |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1832 enddef |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1833 var Func = 1 |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1834 END |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1835 CheckScriptFailure(lines, 'E1041:', 5) |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1836 enddef |
da8347e453b4
patch 8.2.2567: Vim9: no error if variable is defined for existing function
Bram Moolenaar <Bram@vim.org>
parents:
24033
diff
changeset
|
1837 |
25202
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1838 def Test_script_var_shadows_command() |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1839 var lines =<< trim END |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1840 var undo = 1 |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1841 undo = 2 |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1842 assert_equal(2, undo) |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1843 END |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1844 CheckDefAndScriptSuccess(lines) |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1845 |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1846 lines =<< trim END |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1847 var undo = 1 |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1848 undo |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1849 END |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1850 CheckDefAndScriptFailure(lines, 'E1207:', 2) |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1851 enddef |
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
1852 |
21983
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1853 def s:RetSome(): string |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1854 return 'some' |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1855 enddef |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1856 |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1857 " Not exported function that is referenced needs to be accessed by the |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1858 " script-local name. |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1859 def Test_vim9script_funcref() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1860 var sortlines =<< trim END |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1861 vim9script |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1862 def Compare(i1: number, i2: number): number |
21204
3c91581cef33
patch 8.2.1153: Vim9: script test fails on some systems
Bram Moolenaar <Bram@vim.org>
parents:
21202
diff
changeset
|
1863 return i2 - i1 |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1864 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1865 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1866 export def FastSort(): list<number> |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1867 return range(5)->sort(Compare) |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1868 enddef |
24283
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1869 |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1870 export def GetString(arg: string): string |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1871 return arg |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1872 enddef |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1873 END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1874 writefile(sortlines, 'Xsort.vim') |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1875 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1876 var lines =<< trim END |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1877 vim9script |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1878 import FastSort from './Xsort.vim' |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1879 def Test() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1880 g:result = FastSort() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1881 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1882 Test() |
24283
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1883 |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1884 # using a function imported with "as" |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1885 import * as anAlias from './Xsort.vim' |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1886 assert_equal('yes', anAlias.GetString('yes')) |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1887 |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1888 # using the function from a compiled function |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1889 def TestMore(): string |
24295
7f634eae21fe
patch 8.2.2688: Vim9: crash when using s: for script variable
Bram Moolenaar <Bram@vim.org>
parents:
24283
diff
changeset
|
1890 var s = s:anAlias.GetString('foo') |
7f634eae21fe
patch 8.2.2688: Vim9: crash when using s: for script variable
Bram Moolenaar <Bram@vim.org>
parents:
24283
diff
changeset
|
1891 return s .. anAlias.GetString('bar') |
24283
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1892 enddef |
24295
7f634eae21fe
patch 8.2.2688: Vim9: crash when using s: for script variable
Bram Moolenaar <Bram@vim.org>
parents:
24283
diff
changeset
|
1893 assert_equal('foobar', TestMore()) |
24283
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1894 |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1895 # error when using a function that isn't exported |
bcfff560e089
patch 8.2.2682: Vim9: cannot find Name.Func from "import * as Name"
Bram Moolenaar <Bram@vim.org>
parents:
24279
diff
changeset
|
1896 assert_fails('anAlias.Compare(1, 2)', 'E1049:') |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1897 END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1898 writefile(lines, 'Xscript.vim') |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1899 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1900 source Xscript.vim |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1901 assert_equal([4, 3, 2, 1, 0], g:result) |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1902 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1903 unlet g:result |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1904 delete('Xsort.vim') |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1905 delete('Xscript.vim') |
21983
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1906 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1907 var Funcref = function('s:RetSome') |
21983
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1908 assert_equal('some', Funcref()) |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1909 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1910 |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1911 " Check that when searching for "FilterFunc" it finds the import in the |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1912 " script where FastFilter() is called from, both as a string and as a direct |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1913 " function reference. |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1914 def Test_vim9script_funcref_other_script() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1915 var filterLines =<< trim END |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1916 vim9script |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1917 export def FilterFunc(idx: number, val: number): bool |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1918 return idx % 2 == 1 |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1919 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1920 export def FastFilter(): list<number> |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1921 return range(10)->filter('FilterFunc') |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1922 enddef |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1923 export def FastFilterDirect(): list<number> |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1924 return range(10)->filter(FilterFunc) |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1925 enddef |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1926 END |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1927 writefile(filterLines, 'Xfilter.vim') |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1928 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1929 var lines =<< trim END |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1930 vim9script |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1931 import {FilterFunc, FastFilter, FastFilterDirect} from './Xfilter.vim' |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1932 def Test() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1933 var x: list<number> = FastFilter() |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1934 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1935 Test() |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1936 def TestDirect() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1937 var x: list<number> = FastFilterDirect() |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1938 enddef |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1939 TestDirect() |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1940 END |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1941 CheckScriptSuccess(lines) |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1942 delete('Xfilter.vim') |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1943 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1944 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1945 def Test_vim9script_reload_delfunc() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1946 var first_lines =<< trim END |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1947 vim9script |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1948 def FuncYes(): string |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1949 return 'yes' |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1950 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1951 END |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1952 var withno_lines =<< trim END |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1953 def FuncNo(): string |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1954 return 'no' |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1955 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1956 def g:DoCheck(no_exists: bool) |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1957 assert_equal('yes', FuncYes()) |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1958 assert_equal('no', FuncNo()) |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1959 enddef |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1960 END |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1961 var nono_lines =<< trim END |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1962 def g:DoCheck(no_exists: bool) |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1963 assert_equal('yes', FuncYes()) |
22165
c512e6f57ff2
patch 8.2.1632: not checking the context of test_fails()
Bram Moolenaar <Bram@vim.org>
parents:
22147
diff
changeset
|
1964 assert_fails('FuncNo()', 'E117:', '', 2, 'DoCheck') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1965 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1966 END |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1967 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1968 # FuncNo() is defined |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1969 writefile(first_lines + withno_lines, 'Xreloaded.vim') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1970 source Xreloaded.vim |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1971 g:DoCheck(true) |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1972 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1973 # FuncNo() is not redefined |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1974 writefile(first_lines + nono_lines, 'Xreloaded.vim') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1975 source Xreloaded.vim |
23252
35583da6397e
patch 8.2.2172: Vim9: number of arguments is not always checked
Bram Moolenaar <Bram@vim.org>
parents:
23247
diff
changeset
|
1976 g:DoCheck(false) |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1977 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1978 # FuncNo() is back |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1979 writefile(first_lines + withno_lines, 'Xreloaded.vim') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1980 source Xreloaded.vim |
23252
35583da6397e
patch 8.2.2172: Vim9: number of arguments is not always checked
Bram Moolenaar <Bram@vim.org>
parents:
23247
diff
changeset
|
1981 g:DoCheck(false) |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1982 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1983 delete('Xreloaded.vim') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1984 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1985 |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1986 def Test_vim9script_reload_delvar() |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1987 # write the script with a script-local variable |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1988 var lines =<< trim END |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1989 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1990 var name = 'string' |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1991 END |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1992 writefile(lines, 'XreloadVar.vim') |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1993 source XreloadVar.vim |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1994 |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1995 # now write the script using the same variable locally - works |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1996 lines =<< trim END |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1997 vim9script |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1998 def Func() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
1999 var name = 'string' |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2000 enddef |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2001 END |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2002 writefile(lines, 'XreloadVar.vim') |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2003 source XreloadVar.vim |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2004 |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2005 delete('XreloadVar.vim') |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2006 enddef |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
2007 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2008 def Test_import_absolute() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2009 var import_lines = [ |
20011
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2010 'vim9script', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2011 'import exported from "' .. escape(getcwd(), '\') .. '/Xexport_abs.vim"', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2012 'def UseExported()', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2013 ' g:imported_abs = exported', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2014 ' exported = 8888', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2015 ' g:imported_after = exported', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2016 'enddef', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2017 'UseExported()', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2018 'g:import_disassembled = execute("disass UseExported")', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2019 ] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2020 writefile(import_lines, 'Ximport_abs.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2021 writefile(s:export_script_lines, 'Xexport_abs.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2022 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2023 source Ximport_abs.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2024 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2025 assert_equal(9876, g:imported_abs) |
19285
86665583dc83
patch 8.2.0201: cannot assign to an imported variable
Bram Moolenaar <Bram@vim.org>
parents:
19283
diff
changeset
|
2026 assert_equal(8888, g:imported_after) |
22596
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2027 assert_match('<SNR>\d\+_UseExported\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2028 'g:imported_abs = exported\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2029 '0 LOADSCRIPT exported-2 from .*Xexport_abs.vim\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2030 '1 STOREG g:imported_abs\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2031 'exported = 8888\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2032 '2 PUSHNR 8888\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2033 '3 STORESCRIPT exported-2 in .*Xexport_abs.vim\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2034 'g:imported_after = exported\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2035 '4 LOADSCRIPT exported-2 from .*Xexport_abs.vim\_s*' .. |
107eae953b87
patch 8.2.1846: Vim9: block variables are not found in compiled function
Bram Moolenaar <Bram@vim.org>
parents:
22555
diff
changeset
|
2036 '5 STOREG g:imported_after', |
20011
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2037 g:import_disassembled) |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
2038 |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
2039 Undo_export_script_lines() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2040 unlet g:imported_abs |
19285
86665583dc83
patch 8.2.0201: cannot assign to an imported variable
Bram Moolenaar <Bram@vim.org>
parents:
19283
diff
changeset
|
2041 unlet g:import_disassembled |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2042 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2043 delete('Ximport_abs.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2044 delete('Xexport_abs.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2045 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2046 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2047 def Test_import_rtp() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2048 var import_lines = [ |
20011
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2049 'vim9script', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2050 'import exported from "Xexport_rtp.vim"', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2051 'g:imported_rtp = exported', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2052 ] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2053 writefile(import_lines, 'Ximport_rtp.vim') |
25188
8998dff30044
patch 8.2.3130: Vim9: import test fails
Bram Moolenaar <Bram@vim.org>
parents:
25186
diff
changeset
|
2054 mkdir('import', 'p') |
8998dff30044
patch 8.2.3130: Vim9: import test fails
Bram Moolenaar <Bram@vim.org>
parents:
25186
diff
changeset
|
2055 writefile(s:export_script_lines, 'import/Xexport_rtp.vim') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2056 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2057 var save_rtp = &rtp |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2058 &rtp = getcwd() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2059 source Ximport_rtp.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2060 &rtp = save_rtp |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2061 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2062 assert_equal(9876, g:imported_rtp) |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
2063 |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
2064 Undo_export_script_lines() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2065 unlet g:imported_rtp |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2066 delete('Ximport_rtp.vim') |
25188
8998dff30044
patch 8.2.3130: Vim9: import test fails
Bram Moolenaar <Bram@vim.org>
parents:
25186
diff
changeset
|
2067 delete('import', 'rf') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2068 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2069 |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2070 def Test_import_compile_error() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2071 var export_lines = [ |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2072 'vim9script', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2073 'export def ExpFunc(): string', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2074 ' return notDefined', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2075 'enddef', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2076 ] |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2077 writefile(export_lines, 'Xexported.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2078 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2079 var import_lines = [ |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2080 'vim9script', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2081 'import ExpFunc from "./Xexported.vim"', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2082 'def ImpFunc()', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2083 ' echo ExpFunc()', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2084 'enddef', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2085 'defcompile', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2086 ] |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2087 writefile(import_lines, 'Ximport.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2088 |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2089 try |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2090 source Ximport.vim |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2091 catch /E1001/ |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2092 # Error should be fore the Xexported.vim file. |
22296
006b8ab9d554
patch 8.2.1697: inconsistent capitalization of error messages
Bram Moolenaar <Bram@vim.org>
parents:
22284
diff
changeset
|
2093 assert_match('E1001: Variable not found: notDefined', v:exception) |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2094 assert_match('function <SNR>\d\+_ImpFunc\[1\]..<SNR>\d\+_ExpFunc, line 1', v:throwpoint) |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2095 endtry |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2096 |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2097 delete('Xexported.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2098 delete('Ximport.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2099 enddef |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
2100 |
21791
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2101 def Test_func_redefine_error() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2102 var lines = [ |
21791
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2103 'vim9script', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2104 'def Func()', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2105 ' eval [][0]', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2106 'enddef', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2107 'Func()', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2108 ] |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2109 writefile(lines, 'Xtestscript.vim') |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2110 |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2111 for count in range(3) |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2112 try |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2113 source Xtestscript.vim |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2114 catch /E684/ |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2115 # function name should contain <SNR> every time |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2116 assert_match('E684: list index out of range', v:exception) |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2117 assert_match('function <SNR>\d\+_Func, line 1', v:throwpoint) |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2118 endtry |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2119 endfor |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2120 |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2121 delete('Xtestscript.vim') |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2122 enddef |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
2123 |
21598
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2124 def Test_func_overrules_import_fails() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2125 var export_lines =<< trim END |
21598
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2126 vim9script |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2127 export def Func() |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2128 echo 'imported' |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2129 enddef |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2130 END |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2131 writefile(export_lines, 'XexportedFunc.vim') |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2132 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2133 var lines =<< trim END |
21598
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2134 vim9script |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2135 import Func from './XexportedFunc.vim' |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2136 def Func() |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2137 echo 'local to function' |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2138 enddef |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2139 END |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2140 CheckScriptFailure(lines, 'E1073:') |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2141 |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2142 lines =<< trim END |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2143 vim9script |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2144 import Func from './XexportedFunc.vim' |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2145 def Outer() |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2146 def Func() |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2147 echo 'local to function' |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2148 enddef |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2149 enddef |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2150 defcompile |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2151 END |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2152 CheckScriptFailure(lines, 'E1073:') |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2153 |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2154 delete('XexportedFunc.vim') |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2155 enddef |
7b5b9558500a
patch 8.2.1349: Vim9: can define a function with the name of an import
Bram Moolenaar <Bram@vim.org>
parents:
21584
diff
changeset
|
2156 |
21600
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2157 def Test_func_redefine_fails() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2158 var lines =<< trim END |
21600
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2159 vim9script |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2160 def Func() |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2161 echo 'one' |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2162 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2163 def Func() |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2164 echo 'two' |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2165 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2166 END |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2167 CheckScriptFailure(lines, 'E1073:') |
21683
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2168 |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2169 lines =<< trim END |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2170 vim9script |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2171 def Foo(): string |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2172 return 'foo' |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2173 enddef |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2174 def Func() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2175 var Foo = {-> 'lambda'} |
21683
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2176 enddef |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2177 defcompile |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2178 END |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
2179 CheckScriptFailure(lines, 'E1073:') |
21600
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2180 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
2181 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2182 def Test_fixed_size_list() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2183 # will be allocated as one piece of memory, check that changes work |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2184 var l = [1, 2, 3, 4] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2185 l->remove(0) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2186 l->add(5) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2187 l->insert(99, 1) |
19281
9fcdeaa18bd1
patch 8.2.0199: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19253
diff
changeset
|
2188 assert_equal([2, 99, 3, 4, 5], l) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2189 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2190 |
21516
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2191 def Test_no_insert_xit() |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2192 CheckDefExecFailure(['a = 1'], 'E1100:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2193 CheckDefExecFailure(['c = 1'], 'E1100:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2194 CheckDefExecFailure(['i = 1'], 'E1100:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2195 CheckDefExecFailure(['t = 1'], 'E1100:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2196 CheckDefExecFailure(['x = 1'], 'E1100:') |
21516
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2197 |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2198 CheckScriptFailure(['vim9script', 'a = 1'], 'E488:') |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2199 CheckScriptFailure(['vim9script', 'a'], 'E1100:') |
21584
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
2200 CheckScriptFailure(['vim9script', 'c = 1'], 'E488:') |
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
2201 CheckScriptFailure(['vim9script', 'c'], 'E1100:') |
21516
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2202 CheckScriptFailure(['vim9script', 'i = 1'], 'E488:') |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2203 CheckScriptFailure(['vim9script', 'i'], 'E1100:') |
24114
291c57cf4731
patch 8.2.2598: Vim9: :open does not need to be supported
Bram Moolenaar <Bram@vim.org>
parents:
24112
diff
changeset
|
2204 CheckScriptFailure(['vim9script', 'o = 1'], 'E1100:') |
291c57cf4731
patch 8.2.2598: Vim9: :open does not need to be supported
Bram Moolenaar <Bram@vim.org>
parents:
24112
diff
changeset
|
2205 CheckScriptFailure(['vim9script', 'o'], 'E1100:') |
21584
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
2206 CheckScriptFailure(['vim9script', 't'], 'E1100:') |
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
2207 CheckScriptFailure(['vim9script', 't = 1'], 'E1100:') |
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
2208 CheckScriptFailure(['vim9script', 'x = 1'], 'E1100:') |
21516
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2209 enddef |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
2210 |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2211 def IfElse(what: number): string |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2212 var res = '' |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2213 if what == 1 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2214 res = "one" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2215 elseif what == 2 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2216 res = "two" |
19253
a8d2d3c8f0b3
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Bram Moolenaar <Bram@vim.org>
parents:
19185
diff
changeset
|
2217 else |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2218 res = "three" |
19253
a8d2d3c8f0b3
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Bram Moolenaar <Bram@vim.org>
parents:
19185
diff
changeset
|
2219 endif |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2220 return res |
19253
a8d2d3c8f0b3
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Bram Moolenaar <Bram@vim.org>
parents:
19185
diff
changeset
|
2221 enddef |
a8d2d3c8f0b3
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Bram Moolenaar <Bram@vim.org>
parents:
19185
diff
changeset
|
2222 |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2223 def Test_if_elseif_else() |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2224 assert_equal('one', IfElse(1)) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2225 assert_equal('two', IfElse(2)) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2226 assert_equal('three', IfElse(3)) |
19281
9fcdeaa18bd1
patch 8.2.0199: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19253
diff
changeset
|
2227 enddef |
9fcdeaa18bd1
patch 8.2.0199: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19253
diff
changeset
|
2228 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2229 def Test_if_elseif_else_fails() |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2230 CheckDefFailure(['elseif true'], 'E582:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2231 CheckDefFailure(['else'], 'E581:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2232 CheckDefFailure(['endif'], 'E580:') |
23723
14e92f4c98c9
patch 8.2.2403: Vim9: profiling if/elseif/endif not correct
Bram Moolenaar <Bram@vim.org>
parents:
23703
diff
changeset
|
2233 CheckDefFailure(['if g:abool', 'elseif xxx'], 'E1001:') |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2234 CheckDefFailure(['if true', 'echo 1'], 'E171:') |
23882
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2235 |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2236 var lines =<< trim END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2237 var s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2238 if s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2239 endif |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2240 END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2241 CheckDefFailure(lines, 'E488:') |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2242 |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2243 lines =<< trim END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2244 var s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2245 if s == '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2246 elseif s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2247 endif |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2248 END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
2249 CheckDefFailure(lines, 'E488:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2250 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2251 |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2252 let g:bool_true = v:true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2253 let g:bool_false = v:false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2254 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2255 def Test_if_const_expr() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2256 var res = false |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2257 if true ? true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2258 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2259 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2260 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2261 |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2262 g:glob = 2 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2263 if false |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
2264 execute('g:glob = 3') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2265 endif |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2266 assert_equal(2, g:glob) |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2267 if true |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
2268 execute('g:glob = 3') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2269 endif |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2270 assert_equal(3, g:glob) |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2271 |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2272 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2273 if g:bool_true ? true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2274 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2275 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2276 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2277 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2278 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2279 if true ? g:bool_true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2280 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2281 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2282 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2283 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2284 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2285 if true ? true : g:bool_false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2286 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2287 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2288 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2289 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2290 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2291 if true ? false : true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2292 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2293 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2294 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2295 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2296 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2297 if false ? false : true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2298 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2299 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2300 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2301 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2302 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2303 if false ? true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2304 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2305 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2306 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2307 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2308 res = false |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2309 if has('xyz') ? true : false |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2310 res = true |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2311 endif |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2312 assert_equal(false, res) |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2313 |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2314 res = false |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2315 if true && true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2316 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2317 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2318 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2319 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2320 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2321 if true && false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2322 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2323 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2324 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2325 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2326 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2327 if g:bool_true && false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2328 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2329 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2330 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2331 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2332 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2333 if true && g:bool_false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2334 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2335 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2336 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2337 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2338 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2339 if false && false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2340 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2341 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2342 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2343 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2344 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2345 if true || false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2346 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2347 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2348 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2349 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2350 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2351 if g:bool_true || false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2352 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2353 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2354 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2355 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2356 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2357 if true || g:bool_false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2358 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2359 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2360 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2361 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2362 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2363 if false || false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2364 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2365 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2366 assert_equal(false, res) |
21957
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2367 |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2368 # with constant "false" expression may be invalid so long as the syntax is OK |
25202
e5d85e83a887
patch 8.2.3137: Vim9: no error when a line only has a variable name
Bram Moolenaar <Bram@vim.org>
parents:
25188
diff
changeset
|
2369 if false | eval 1 + 2 | endif |
21957
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2370 if false | eval burp + 234 | endif |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2371 if false | echo burp 234 'asd' | endif |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2372 if false |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2373 burp |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2374 endif |
25551
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2375 |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2376 # expression with line breaks skipped |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2377 if false |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2378 ('aaa' |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2379 .. 'bbb' |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2380 .. 'ccc' |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2381 )->setline(1) |
5ab75ca75d21
patch 8.2.3312: Vim9: after "if false" line breaks in expression not skipped
Bram Moolenaar <Bram@vim.org>
parents:
25541
diff
changeset
|
2382 endif |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2383 enddef |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2384 |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2385 def Test_if_const_expr_fails() |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2386 CheckDefFailure(['if "aaa" == "bbb'], 'E114:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2387 CheckDefFailure(["if 'aaa' == 'bbb"], 'E115:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2388 CheckDefFailure(["if has('aaa'"], 'E110:') |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2389 CheckDefFailure(["if has('aaa') ? true false"], 'E109:') |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2390 enddef |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2391 |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2392 def RunNested(i: number): number |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2393 var x: number = 0 |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2394 if i % 2 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2395 if 1 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2396 # comment |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2397 else |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2398 # comment |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2399 endif |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2400 x += 1 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2401 else |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2402 x += 1000 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2403 endif |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2404 return x |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2405 enddef |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2406 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2407 def Test_nested_if() |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2408 assert_equal(1, RunNested(1)) |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2409 assert_equal(1000, RunNested(2)) |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2410 enddef |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2411 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2412 def Test_execute_cmd() |
23183
4d5d12138b36
patch 8.2.2137: Vim9: :echo and :execute give error for empty argument
Bram Moolenaar <Bram@vim.org>
parents:
23179
diff
changeset
|
2413 # missing argument is ignored |
4d5d12138b36
patch 8.2.2137: Vim9: :echo and :execute give error for empty argument
Bram Moolenaar <Bram@vim.org>
parents:
23179
diff
changeset
|
2414 execute |
4d5d12138b36
patch 8.2.2137: Vim9: :echo and :execute give error for empty argument
Bram Moolenaar <Bram@vim.org>
parents:
23179
diff
changeset
|
2415 execute # comment |
4d5d12138b36
patch 8.2.2137: Vim9: :echo and :execute give error for empty argument
Bram Moolenaar <Bram@vim.org>
parents:
23179
diff
changeset
|
2416 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2417 new |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2418 setline(1, 'default') |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2419 execute 'setline(1, "execute-string")' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2420 assert_equal('execute-string', getline(1)) |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2421 |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2422 execute "setline(1, 'execute-string')" |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2423 assert_equal('execute-string', getline(1)) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2424 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2425 var cmd1 = 'setline(1,' |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2426 var cmd2 = '"execute-var")' |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2427 execute cmd1 cmd2 # comment |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2428 assert_equal('execute-var', getline(1)) |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2429 |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2430 execute cmd1 cmd2 '|setline(1, "execute-var-string")' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2431 assert_equal('execute-var-string', getline(1)) |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2432 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2433 var cmd_first = 'call ' |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2434 var cmd_last = 'setline(1, "execute-var-var")' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2435 execute cmd_first .. cmd_last |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2436 assert_equal('execute-var-var', getline(1)) |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2437 bwipe! |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2438 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2439 var n = true |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
2440 execute 'echomsg' (n ? '"true"' : '"no"') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
2441 assert_match('^true$', Screenline(&lines)) |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
2442 |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
2443 echomsg [1, 2, 3] {a: 1, b: 2} |
21835
b530ead4265a
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
Bram Moolenaar <Bram@vim.org>
parents:
21833
diff
changeset
|
2444 assert_match('^\[1, 2, 3\] {''a'': 1, ''b'': 2}$', Screenline(&lines)) |
b530ead4265a
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
Bram Moolenaar <Bram@vim.org>
parents:
21833
diff
changeset
|
2445 |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2446 CheckDefFailure(['execute xxx'], 'E1001:', 1) |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2447 CheckDefExecFailure(['execute "tabnext " .. 8'], 'E475:', 1) |
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2448 CheckDefFailure(['execute "cmd"# comment'], 'E488:', 1) |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2449 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2450 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2451 def Test_execute_cmd_vimscript() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2452 # only checks line continuation |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2453 var lines =<< trim END |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2454 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2455 execute 'g:someVar' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2456 .. ' = ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2457 '28' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2458 assert_equal(28, g:someVar) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2459 unlet g:someVar |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2460 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2461 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2462 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2463 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2464 def Test_echo_cmd() |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2465 echo 'some' # comment |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2466 echon 'thing' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2467 assert_match('^something$', Screenline(&lines)) |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2468 |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2469 echo "some" # comment |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2470 echon "thing" |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2471 assert_match('^something$', Screenline(&lines)) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2472 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2473 var str1 = 'some' |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2474 var str2 = 'more' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2475 echo str1 str2 |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2476 assert_match('^some more$', Screenline(&lines)) |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2477 |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2478 CheckDefFailure(['echo "xxx"# comment'], 'E488:') |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2479 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2480 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2481 def Test_echomsg_cmd() |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2482 echomsg 'some' 'more' # comment |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2483 assert_match('^some more$', Screenline(&lines)) |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2484 echo 'clear' |
20982
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
2485 :1messages |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2486 assert_match('^some more$', Screenline(&lines)) |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2487 |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
2488 CheckDefFailure(['echomsg "xxx"# comment'], 'E488:') |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2489 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2490 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2491 def Test_echomsg_cmd_vimscript() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2492 # only checks line continuation |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2493 var lines =<< trim END |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2494 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2495 echomsg 'here' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2496 .. ' is ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2497 'a message' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2498 assert_match('^here is a message$', Screenline(&lines)) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2499 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2500 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2501 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2502 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2503 def Test_echoerr_cmd() |
25541
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2504 var local = 'local' |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2505 try |
25541
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2506 echoerr 'something' local 'wrong' # comment |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2507 catch |
25541
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2508 assert_match('something local wrong', v:exception) |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2509 endtry |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2510 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2511 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2512 def Test_echoerr_cmd_vimscript() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2513 # only checks line continuation |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2514 var lines =<< trim END |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2515 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2516 try |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2517 echoerr 'this' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2518 .. ' is ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2519 'wrong' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2520 catch |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2521 assert_match('this is wrong', v:exception) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2522 endtry |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2523 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2524 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2525 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2526 |
25541
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2527 def Test_echoconsole_cmd() |
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2528 var local = 'local' |
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2529 echoconsole 'something' local # comment |
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2530 # output goes anywhere |
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2531 enddef |
2ae1d5a4ae5c
patch 8.2.3307: Vim9: :echoconsole cannot access local variables
Bram Moolenaar <Bram@vim.org>
parents:
25537
diff
changeset
|
2532 |
19568
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2533 def Test_for_outside_of_function() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
2534 var lines =<< trim END |
19568
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2535 vim9script |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2536 new |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2537 for var in range(0, 3) |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2538 append(line('$'), var) |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2539 endfor |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2540 assert_equal(['', '0', '1', '2', '3'], getline(1, '$')) |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2541 bwipe! |
24232
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2542 |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2543 var result = '' |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2544 for i in [1, 2, 3] |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2545 var loop = ' loop ' .. i |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2546 result ..= loop |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2547 endfor |
3058ed6db36f
patch 8.2.2657: Vim9: error message for declaring variable in for loop
Bram Moolenaar <Bram@vim.org>
parents:
24158
diff
changeset
|
2548 assert_equal(' loop 1 loop 2 loop 3', result) |
19568
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2549 END |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2550 writefile(lines, 'Xvim9for.vim') |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2551 source Xvim9for.vim |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2552 delete('Xvim9for.vim') |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2553 enddef |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2554 |
25656
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2555 def Test_for_skipped_block() |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2556 # test skipped blocks at outside of function |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2557 var lines =<< trim END |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2558 var result = [] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2559 if true |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2560 for n in [1, 2] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2561 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2562 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2563 else |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2564 for n in [3, 4] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2565 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2566 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2567 endif |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2568 assert_equal([1, 2], result) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2569 |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2570 result = [] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2571 if false |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2572 for n in [1, 2] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2573 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2574 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2575 else |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2576 for n in [3, 4] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2577 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2578 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2579 endif |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2580 assert_equal([3, 4], result) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2581 END |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2582 CheckDefAndScriptSuccess(lines) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2583 |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2584 # test skipped blocks at inside of function |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2585 lines =<< trim END |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2586 def DefTrue() |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2587 var result = [] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2588 if true |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2589 for n in [1, 2] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2590 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2591 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2592 else |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2593 for n in [3, 4] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2594 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2595 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2596 endif |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2597 assert_equal([1, 2], result) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2598 enddef |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2599 DefTrue() |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2600 |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2601 def DefFalse() |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2602 var result = [] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2603 if false |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2604 for n in [1, 2] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2605 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2606 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2607 else |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2608 for n in [3, 4] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2609 result += [n] |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2610 endfor |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2611 endif |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2612 assert_equal([3, 4], result) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2613 enddef |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2614 DefFalse() |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2615 END |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2616 CheckDefAndScriptSuccess(lines) |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2617 enddef |
fe7f45e2895e
patch 8.2.3364: Vim9: crash when :for is skipped
Bram Moolenaar <Bram@vim.org>
parents:
25654
diff
changeset
|
2618 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2619 def Test_for_loop() |
24438
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2620 var lines =<< trim END |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2621 var result = '' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2622 for cnt in range(7) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2623 if cnt == 4 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2624 break |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2625 endif |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2626 if cnt == 2 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2627 continue |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2628 endif |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2629 result ..= cnt .. '_' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2630 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2631 assert_equal('0_1_3_', result) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2632 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2633 var concat = '' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2634 for str in eval('["one", "two"]') |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2635 concat ..= str |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2636 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2637 assert_equal('onetwo', concat) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2638 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2639 var total = 0 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2640 for nr in |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2641 [1, 2, 3] |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2642 total += nr |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2643 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2644 assert_equal(6, total) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2645 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2646 total = 0 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2647 for nr |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2648 in [1, 2, 3] |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2649 total += nr |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2650 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2651 assert_equal(6, total) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2652 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2653 total = 0 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2654 for nr |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2655 in |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2656 [1, 2, 3] |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2657 total += nr |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2658 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2659 assert_equal(6, total) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2660 |
24446
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2661 # with type |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2662 total = 0 |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2663 for n: number in [1, 2, 3] |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2664 total += n |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2665 endfor |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2666 assert_equal(6, total) |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2667 |
24460
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2668 var chars = '' |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2669 for s: string in 'foobar' |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2670 chars ..= s |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2671 endfor |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2672 assert_equal('foobar', chars) |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2673 |
25164
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2674 chars = '' |
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2675 for x: string in {a: 'a', b: 'b'}->values() |
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2676 chars ..= x |
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2677 endfor |
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2678 assert_equal('ab', chars) |
0e08e34fa0b8
patch 8.2.3118: Vim9: "any" type not handled correctly in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25162
diff
changeset
|
2679 |
24446
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2680 # unpack with type |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2681 var res = '' |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2682 for [n: number, s: string] in [[1, 'a'], [2, 'b']] |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2683 res ..= n .. s |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2684 endfor |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2685 assert_equal('1a2b', res) |
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2686 |
25028
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2687 # unpack with one var |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2688 var reslist = [] |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2689 for [x] in [['aaa'], ['bbb']] |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2690 reslist->add(x) |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2691 endfor |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2692 assert_equal(['aaa', 'bbb'], reslist) |
faa3de7aed8b
patch 8.2.3051: Vim9: for loop with one list variable does not work
Bram Moolenaar <Bram@vim.org>
parents:
24968
diff
changeset
|
2693 |
24438
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2694 # loop over string |
24446
f388a033e568
patch 8.2.2763: Vim9: cannot use type in for loop unpack at script level
Bram Moolenaar <Bram@vim.org>
parents:
24440
diff
changeset
|
2695 res = '' |
24438
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2696 for c in 'aéc̀d' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2697 res ..= c .. '-' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2698 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2699 assert_equal('a-é-c̀-d-', res) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2700 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2701 res = '' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2702 for c in '' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2703 res ..= c .. '-' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2704 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2705 assert_equal('', res) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2706 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2707 res = '' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2708 for c in test_null_string() |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2709 res ..= c .. '-' |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2710 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2711 assert_equal('', res) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2712 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2713 var foo: list<dict<any>> = [ |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2714 {a: 'Cat'} |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2715 ] |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2716 for dd in foo |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2717 dd.counter = 12 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2718 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2719 assert_equal([{a: 'Cat', counter: 12}], foo) |
25280
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2720 |
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2721 reslist = [] |
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2722 for _ in range(3) |
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2723 reslist->add('x') |
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2724 endfor |
ca7a8ea2eb5f
patch 8.2.3177: Vim9: can not use "for _ in expr" at script level
Bram Moolenaar <Bram@vim.org>
parents:
25260
diff
changeset
|
2725 assert_equal(['x', 'x', 'x'], reslist) |
24438
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2726 END |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2727 CheckDefAndScriptSuccess(lines) |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2728 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2729 |
25358
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2730 def Test_for_loop_with_closure() |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2731 var lines =<< trim END |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2732 var flist: list<func> |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2733 for i in range(5) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2734 var inloop = i |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2735 flist[i] = () => inloop |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2736 endfor |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2737 for i in range(5) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2738 assert_equal(4, flist[i]()) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2739 endfor |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2740 END |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2741 CheckDefAndScriptSuccess(lines) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2742 |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2743 lines =<< trim END |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2744 var flist: list<func> |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2745 for i in range(5) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2746 var inloop = i |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2747 flist[i] = () => { |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2748 return inloop |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2749 } |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2750 endfor |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2751 for i in range(5) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2752 assert_equal(4, flist[i]()) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2753 endfor |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2754 END |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2755 CheckDefAndScriptSuccess(lines) |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2756 enddef |
f03271631eb5
patch 8.2.3216: Vim9: crash when using variable in a loop at script level
Bram Moolenaar <Bram@vim.org>
parents:
25304
diff
changeset
|
2757 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2758 def Test_for_loop_fails() |
25153
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2759 CheckDefAndScriptFailure2(['for '], 'E1097:', 'E690:') |
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2760 CheckDefAndScriptFailure2(['for x'], 'E1097:', 'E690:') |
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2761 CheckDefAndScriptFailure2(['for x in'], 'E1097:', 'E15:') |
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2762 CheckDefAndScriptFailure(['for # in range(5)'], 'E690:') |
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2763 CheckDefAndScriptFailure(['for i In range(5)'], 'E690:') |
610e15e8778d
patch 8.2.3113: no error when for loop variable shadows script variable
Bram Moolenaar <Bram@vim.org>
parents:
25149
diff
changeset
|
2764 CheckDefAndScriptFailure2(['var x = 5', 'for x in range(5)', 'endfor'], 'E1017:', 'E1041:') |
25180
6523cd41fa54
patch 8.2.3126: Vim9: for loop error reports wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
25176
diff
changeset
|
2765 CheckScriptFailure(['vim9script', 'var x = 5', 'for x in range(5)', '# comment', 'endfor'], 'E1041:', 3) |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
2766 CheckScriptFailure(['def Func(arg: any)', 'for arg in range(5)', 'enddef', 'defcompile'], 'E1006:') |
23092
c713358da074
patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents:
23084
diff
changeset
|
2767 delfunc! g:Func |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2768 CheckDefFailure(['for i in xxx'], 'E1001:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2769 CheckDefFailure(['endfor'], 'E588:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2770 CheckDefFailure(['for i in range(3)', 'echo 3'], 'E170:') |
24234
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2771 |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2772 # wrong type detected at compile time |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2773 CheckDefFailure(['for i in {a: 1}', 'echo 3', 'endfor'], 'E1177: For loop on dict not supported') |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2774 |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2775 # wrong type detected at runtime |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2776 g:adict = {a: 1} |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2777 CheckDefExecFailure(['for i in g:adict', 'echo 3', 'endfor'], 'E1177: For loop on dict not supported') |
7ffc795288dd
patch 8.2.2658: :for cannot loop over a string
Bram Moolenaar <Bram@vim.org>
parents:
24232
diff
changeset
|
2778 unlet g:adict |
24440
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2779 |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2780 var lines =<< trim END |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2781 var d: list<dict<any>> = [{a: 0}] |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2782 for e in d |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2783 e = {a: 0, b: ''} |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2784 endfor |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2785 END |
d2f9bdd938fa
patch 8.2.2760: Vim9: no error for changing a for loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24438
diff
changeset
|
2786 CheckDefAndScriptFailure2(lines, 'E1018:', 'E46:', 3) |
24460
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2787 |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2788 lines =<< trim END |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2789 for nr: number in ['foo'] |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2790 endfor |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2791 END |
f0a3adf16f01
patch 8.2.2770: Vim9: type of loop variable is not used
Bram Moolenaar <Bram@vim.org>
parents:
24446
diff
changeset
|
2792 CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected number but got string', 1) |
25149
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2793 |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2794 lines =<< trim END |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2795 for n : number in [1, 2] |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2796 echo n |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2797 endfor |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2798 END |
18b31f0a4bb5
patch 8.2.3111: Vim9: confusing error with extra whitespace before colon
Bram Moolenaar <Bram@vim.org>
parents:
25124
diff
changeset
|
2799 CheckDefAndScriptFailure(lines, 'E1059:', 1) |
25162
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2800 |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2801 lines =<< trim END |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2802 var d: dict<number> = {a: 1, b: 2} |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2803 for [k: job, v: job] in d->items() |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2804 echo k v |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2805 endfor |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2806 END |
c44d6ac81c42
patch 8.2.3117: Vim9: type not properly checked in for loop
Bram Moolenaar <Bram@vim.org>
parents:
25153
diff
changeset
|
2807 CheckDefExecAndScriptFailure(lines, 'E1012: Type mismatch; expected job but got string', 2) |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2808 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2809 |
23068
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2810 def Test_for_loop_script_var() |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2811 # cannot use s:var in a :def function |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2812 CheckDefFailure(['for s:var in range(3)', 'echo 3'], 'E1101:') |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2813 |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2814 # can use s:var in Vim9 script, with or without s: |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2815 var lines =<< trim END |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2816 vim9script |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2817 var total = 0 |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2818 for s:var in [1, 2, 3] |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2819 total += s:var |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2820 endfor |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2821 assert_equal(6, total) |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2822 |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2823 total = 0 |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2824 for var in [1, 2, 3] |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2825 total += var |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2826 endfor |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2827 assert_equal(6, total) |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2828 END |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2829 enddef |
2f034cb0a046
patch 8.2.2080: Vim9: no proper error message for using s:var in for loop
Bram Moolenaar <Bram@vim.org>
parents:
23066
diff
changeset
|
2830 |
22975
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2831 def Test_for_loop_unpack() |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2832 var lines =<< trim END |
23054
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2833 var result = [] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2834 for [v1, v2] in [[1, 2], [3, 4]] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2835 result->add(v1) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2836 result->add(v2) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2837 endfor |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2838 assert_equal([1, 2, 3, 4], result) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2839 |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2840 result = [] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2841 for [v1, v2; v3] in [[1, 2], [3, 4, 5, 6]] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2842 result->add(v1) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2843 result->add(v2) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2844 result->add(v3) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2845 endfor |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2846 assert_equal([1, 2, [], 3, 4, [5, 6]], result) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2847 |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2848 result = [] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2849 for [&ts, &sw] in [[1, 2], [3, 4]] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2850 result->add(&ts) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2851 result->add(&sw) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2852 endfor |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2853 assert_equal([1, 2, 3, 4], result) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2854 |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2855 var slist: list<string> |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2856 for [$LOOPVAR, @r, v:errmsg] in [['a', 'b', 'c'], ['d', 'e', 'f']] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2857 slist->add($LOOPVAR) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2858 slist->add(@r) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2859 slist->add(v:errmsg) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2860 endfor |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2861 assert_equal(['a', 'b', 'c', 'd', 'e', 'f'], slist) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2862 |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2863 slist = [] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2864 for [g:globalvar, b:bufvar, w:winvar, t:tabvar] in [['global', 'buf', 'win', 'tab'], ['1', '2', '3', '4']] |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2865 slist->add(g:globalvar) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2866 slist->add(b:bufvar) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2867 slist->add(w:winvar) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2868 slist->add(t:tabvar) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2869 endfor |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2870 assert_equal(['global', 'buf', 'win', 'tab', '1', '2', '3', '4'], slist) |
23084
49c9aa9e40d4
patch 8.2.2088: Vim9: script test sometimes fails
Bram Moolenaar <Bram@vim.org>
parents:
23072
diff
changeset
|
2871 unlet! g:globalvar b:bufvar w:winvar t:tabvar |
24679
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2872 |
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2873 var res = [] |
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2874 for [_, n, _] in [[1, 2, 3], [4, 5, 6]] |
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2875 res->add(n) |
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2876 endfor |
80422f66978a
patch 8.2.2878: Vim9: for loop list unpack only allows for one "_"
Bram Moolenaar <Bram@vim.org>
parents:
24555
diff
changeset
|
2877 assert_equal([2, 5], res) |
23054
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2878 END |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2879 CheckDefAndScriptSuccess(lines) |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2880 |
df0548b649c1
patch 8.2.2073: Vim9: for with unpack only works for local variables
Bram Moolenaar <Bram@vim.org>
parents:
22975
diff
changeset
|
2881 lines =<< trim END |
22975
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2882 for [v1, v2] in [[1, 2, 3], [3, 4]] |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2883 echo v1 v2 |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2884 endfor |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2885 END |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2886 CheckDefExecFailure(lines, 'E710:', 1) |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2887 |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2888 lines =<< trim END |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2889 for [v1, v2] in [[1], [3, 4]] |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2890 echo v1 v2 |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2891 endfor |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2892 END |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2893 CheckDefExecFailure(lines, 'E711:', 1) |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2894 |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2895 lines =<< trim END |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2896 for [v1, v1] in [[1, 2], [3, 4]] |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2897 echo v1 |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2898 endfor |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2899 END |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2900 CheckDefExecFailure(lines, 'E1017:', 1) |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2901 enddef |
a943b175586a
patch 8.2.2034: Vim9: list unpack in for statement not compiled yet
Bram Moolenaar <Bram@vim.org>
parents:
22936
diff
changeset
|
2902 |
23927
5e5780e3f75d
patch 8.2.2506: Vim9: :continue does not work correctly in a :try block
Bram Moolenaar <Bram@vim.org>
parents:
23921
diff
changeset
|
2903 def Test_for_loop_with_try_continue() |
24438
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2904 var lines =<< trim END |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2905 var looped = 0 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2906 var cleanup = 0 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2907 for i in range(3) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2908 looped += 1 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2909 try |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2910 eval [][0] |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2911 catch |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2912 continue |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2913 finally |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2914 cleanup += 1 |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2915 endtry |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2916 endfor |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2917 assert_equal(3, looped) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2918 assert_equal(3, cleanup) |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2919 END |
5c6ccab68d1e
patch 8.2.2759: Vim9: for loop infers type of loop variable
Bram Moolenaar <Bram@vim.org>
parents:
24418
diff
changeset
|
2920 CheckDefAndScriptSuccess(lines) |
23927
5e5780e3f75d
patch 8.2.2506: Vim9: :continue does not work correctly in a :try block
Bram Moolenaar <Bram@vim.org>
parents:
23921
diff
changeset
|
2921 enddef |
5e5780e3f75d
patch 8.2.2506: Vim9: :continue does not work correctly in a :try block
Bram Moolenaar <Bram@vim.org>
parents:
23921
diff
changeset
|
2922 |
25650
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2923 def Test_while_skipped_block() |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2924 # test skipped blocks at outside of function |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2925 var lines =<< trim END |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2926 var result = [] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2927 var n = 0 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2928 if true |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2929 n = 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2930 while n < 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2931 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2932 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2933 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2934 else |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2935 n = 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2936 while n < 5 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2937 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2938 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2939 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2940 endif |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2941 assert_equal([1, 2], result) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2942 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2943 result = [] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2944 if false |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2945 n = 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2946 while n < 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2947 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2948 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2949 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2950 else |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2951 n = 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2952 while n < 5 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2953 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2954 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2955 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2956 endif |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2957 assert_equal([3, 4], result) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2958 END |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2959 CheckDefAndScriptSuccess(lines) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2960 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2961 # test skipped blocks at inside of function |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2962 lines =<< trim END |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2963 def DefTrue() |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2964 var result = [] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2965 var n = 0 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2966 if true |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2967 n = 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2968 while n < 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2969 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2970 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2971 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2972 else |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2973 n = 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2974 while n < 5 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2975 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2976 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2977 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2978 endif |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2979 assert_equal([1, 2], result) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2980 enddef |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2981 DefTrue() |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2982 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2983 def DefFalse() |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2984 var result = [] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2985 var n = 0 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2986 if false |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2987 n = 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2988 while n < 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2989 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2990 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2991 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2992 else |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2993 n = 3 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2994 while n < 5 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2995 result += [n] |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2996 n += 1 |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2997 endwhile |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2998 endif |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
2999 assert_equal([3, 4], result) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3000 enddef |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3001 DefFalse() |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3002 END |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3003 CheckDefAndScriptSuccess(lines) |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3004 enddef |
6ed39aa92cb9
patch 8.2.3361: Vim9: crash with nested :while
Bram Moolenaar <Bram@vim.org>
parents:
25634
diff
changeset
|
3005 |
19593
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3006 def Test_while_loop() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3007 var result = '' |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3008 var cnt = 0 |
19593
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3009 while cnt < 555 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3010 if cnt == 3 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3011 break |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3012 endif |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3013 cnt += 1 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3014 if cnt == 2 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3015 continue |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3016 endif |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3017 result ..= cnt .. '_' |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3018 endwhile |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3019 assert_equal('1_3_', result) |
23884
00e904bdb8a5
patch 8.2.2484: Vim9: Cannot use a comment starting with #{
Bram Moolenaar <Bram@vim.org>
parents:
23882
diff
changeset
|
3020 |
00e904bdb8a5
patch 8.2.2484: Vim9: Cannot use a comment starting with #{
Bram Moolenaar <Bram@vim.org>
parents:
23882
diff
changeset
|
3021 var s = '' |
24158
93e69703a290
patch 8.2.2620: Vim9: Using #{ for a dictionary gives strange errors
Bram Moolenaar <Bram@vim.org>
parents:
24150
diff
changeset
|
3022 while s == 'x' # {comment} |
23884
00e904bdb8a5
patch 8.2.2484: Vim9: Cannot use a comment starting with #{
Bram Moolenaar <Bram@vim.org>
parents:
23882
diff
changeset
|
3023 endwhile |
19593
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3024 enddef |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
3025 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
3026 def Test_while_loop_fails() |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3027 CheckDefFailure(['while xxx'], 'E1001:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3028 CheckDefFailure(['endwhile'], 'E588:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3029 CheckDefFailure(['continue'], 'E586:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3030 CheckDefFailure(['if true', 'continue'], 'E586:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3031 CheckDefFailure(['break'], 'E587:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3032 CheckDefFailure(['if true', 'break'], 'E587:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
3033 CheckDefFailure(['while 1', 'echo 3'], 'E170:') |
23882
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3034 |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3035 var lines =<< trim END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3036 var s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3037 while s = '' |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3038 endwhile |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3039 END |
a4df35126d9c
patch 8.2.2483: Vim9: type error for misformed expression
Bram Moolenaar <Bram@vim.org>
parents:
23827
diff
changeset
|
3040 CheckDefFailure(lines, 'E488:') |
19862
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19860
diff
changeset
|
3041 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19860
diff
changeset
|
3042 |
19730
fe8ba2f82f59
patch 8.2.0421: interrupting with CTRL-C does not always work
Bram Moolenaar <Bram@vim.org>
parents:
19728
diff
changeset
|
3043 def Test_interrupt_loop() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3044 var caught = false |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3045 var x = 0 |
19736
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3046 try |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3047 while 1 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3048 x += 1 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3049 if x == 100 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3050 feedkeys("\<C-C>", 'Lt') |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3051 endif |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3052 endwhile |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3053 catch |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3054 caught = true |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3055 assert_equal(100, x) |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3056 endtry |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
3057 assert_true(caught, 'should have caught an exception') |
21987
c33cec63cf53
patch 8.2.1543: Vim9: test with invalid SID is skipped in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21985
diff
changeset
|
3058 # consume the CTRL-C |
c33cec63cf53
patch 8.2.1543: Vim9: test with invalid SID is skipped in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21985
diff
changeset
|
3059 getchar(0) |
19730
fe8ba2f82f59
patch 8.2.0421: interrupting with CTRL-C does not always work
Bram Moolenaar <Bram@vim.org>
parents:
19728
diff
changeset
|
3060 enddef |
19726
ad37a198a708
patch 8.2.0419: various memory leaks in Vim9 script code
Bram Moolenaar <Bram@vim.org>
parents:
19623
diff
changeset
|
3061 |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3062 def Test_automatic_line_continuation() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3063 var mylist = [ |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3064 'one', |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3065 'two', |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3066 'three', |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3067 ] # comment |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3068 assert_equal(['one', 'two', 'three'], mylist) |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3069 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3070 var mydict = { |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3071 ['one']: 1, |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3072 ['two']: 2, |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3073 ['three']: |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3074 3, |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3075 } # comment |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3076 assert_equal({one: 1, two: 2, three: 3}, mydict) |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3077 mydict = { |
20023
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3078 one: 1, # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3079 two: # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3080 2, # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3081 three: 3 # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3082 } |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3083 assert_equal({one: 1, two: 2, three: 3}, mydict) |
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3084 mydict = { |
20023
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3085 one: 1, |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3086 two: |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3087 2, |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
3088 three: 3 |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3089 } |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
3090 assert_equal({one: 1, two: 2, three: 3}, mydict) |
20011
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
3091 |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
3092 assert_equal( |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
3093 ['one', 'two', 'three'], |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
3094 split('one two three') |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
3095 ) |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3096 enddef |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
3097 |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3098 def Test_vim9_comment() |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3099 CheckScriptSuccess([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3100 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3101 '# something', |
23179
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3102 '#something', |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3103 '#{something', |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3104 ]) |
23179
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3105 |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3106 split Xfile |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3107 CheckScriptSuccess([ |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3108 'vim9script', |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3109 'edit #something', |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3110 ]) |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3111 CheckScriptSuccess([ |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3112 'vim9script', |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3113 'edit #{something', |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3114 ]) |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3115 close |
821701ecbde7
patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Bram Moolenaar <Bram@vim.org>
parents:
23162
diff
changeset
|
3116 |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3117 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3118 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3119 ':# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3120 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3121 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3122 '# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3123 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3124 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3125 ':# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3126 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3127 |
20061
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3128 { # block start |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3129 } # block end |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3130 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3131 '{# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3132 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3133 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3134 '{', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3135 '}# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3136 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3137 |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3138 echo "yes" # comment |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3139 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3140 'echo "yes"# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3141 ], 'E488:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3142 CheckScriptSuccess([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3143 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3144 'echo "yes" # something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3145 ]) |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3146 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3147 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3148 'echo "yes"# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3149 ], 'E121:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3150 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3151 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3152 'echo# something', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3153 ], 'E1144:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3154 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3155 'echo "yes" # something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3156 ], 'E121:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3157 |
20061
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3158 exe "echo" # comment |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3159 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3160 'exe "echo"# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3161 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3162 CheckScriptSuccess([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3163 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3164 'exe "echo" # something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3165 ]) |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3166 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3167 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3168 'exe "echo"# something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3169 ], 'E121:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3170 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3171 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3172 'exe# something', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3173 ], 'E1144:') |
20061
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3174 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3175 'exe "echo" # something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3176 ], 'E121:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
3177 |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3178 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3179 'try# comment', |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3180 ' echo "yes"', |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3181 'catch', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3182 'endtry', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3183 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3184 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3185 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3186 'try# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3187 'echo "yes"', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3188 ], 'E1144:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3189 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3190 'try', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3191 ' throw#comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3192 'catch', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3193 'endtry', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3194 ], 'E1144:') |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3195 CheckDefFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3196 'try', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3197 ' throw "yes"#comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3198 'catch', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3199 'endtry', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3200 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3201 CheckDefFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3202 'try', |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3203 ' echo "yes"', |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3204 'catch# comment', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3205 'endtry', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3206 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3207 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3208 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3209 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3210 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3211 'catch# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3212 'endtry', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3213 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3214 CheckDefFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3215 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3216 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3217 'catch /pat/# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3218 'endtry', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3219 ], 'E488:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3220 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3221 'try', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3222 'echo "yes"', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3223 'catch', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3224 'endtry# comment', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3225 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3226 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3227 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3228 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3229 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3230 'catch', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3231 'endtry# comment', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3232 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3233 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3234 CheckScriptSuccess([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3235 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3236 'hi # comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3237 ]) |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3238 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3239 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3240 'hi# comment', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3241 ], 'E1144:') |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3242 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3243 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3244 'hi Search # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3245 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3246 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3247 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3248 'hi Search# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3249 ], 'E416:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3250 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3251 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3252 'hi link This Search # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3253 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3254 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3255 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3256 'hi link This That# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3257 ], 'E413:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3258 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3259 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3260 'hi clear This # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3261 'hi clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3262 ]) |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3263 # not tested, because it doesn't give an error but a warning: |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3264 # hi clear This# comment', |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3265 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3266 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3267 'hi clear# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3268 ], 'E416:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3269 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3270 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3271 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3272 'hi Group term=bold', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3273 'match Group /todo/ # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3274 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3275 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3276 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3277 'hi Group term=bold', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3278 'match Group /todo/# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3279 ], 'E488:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3280 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3281 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3282 'match # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3283 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3284 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3285 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3286 'match# comment', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3287 ], 'E1144:') |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3288 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3289 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3290 'match none # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3291 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3292 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3293 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3294 'match none# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3295 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3296 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3297 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3298 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3299 'menutrans clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3300 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3301 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3302 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3303 'menutrans clear# comment text', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3304 ], 'E474:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3305 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3306 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3307 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3308 'syntax clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3309 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3310 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3311 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3312 'syntax clear# comment text', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3313 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3314 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3315 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3316 'syntax keyword Word some', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3317 'syntax clear Word # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3318 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3319 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3320 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3321 'syntax keyword Word some', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3322 'syntax clear Word# comment text', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3323 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3324 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3325 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3326 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3327 'syntax list # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3328 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3329 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3330 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3331 'syntax list# comment text', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3332 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3333 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3334 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3335 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3336 'syntax match Word /pat/ oneline # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3337 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3338 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3339 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3340 'syntax match Word /pat/ oneline# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3341 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3342 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3343 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3344 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3345 'syntax keyword Word word # comm[ent', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3346 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3347 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3348 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3349 'syntax keyword Word word# comm[ent', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3350 ], 'E789:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3351 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3352 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3353 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3354 'syntax match Word /pat/ # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3355 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3356 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3357 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3358 'syntax match Word /pat/# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3359 ], 'E402:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3360 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3361 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3362 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3363 'syntax match Word /pat/ contains=Something # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3364 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3365 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3366 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3367 'syntax match Word /pat/ contains=Something# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3368 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3369 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3370 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3371 'syntax match Word /pat/ contains= # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3372 ], 'E406:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3373 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3374 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3375 'syntax match Word /pat/ contains=# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3376 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3377 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3378 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3379 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3380 'syntax region Word start=/pat/ end=/pat/ # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3381 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3382 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3383 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3384 'syntax region Word start=/pat/ end=/pat/# comment', |
21375
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
3385 ], 'E402:') |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3386 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3387 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3388 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3389 'syntax sync # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3390 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3391 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3392 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3393 'syntax sync# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3394 ], 'E404:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3395 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3396 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3397 'syntax sync ccomment # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3398 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3399 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3400 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3401 'syntax sync ccomment# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3402 ], 'E404:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3403 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3404 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3405 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3406 'syntax cluster Some contains=Word # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3407 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3408 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3409 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3410 'syntax cluster Some contains=Word# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
3411 ], 'E475:') |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3412 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3413 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3414 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3415 'command Echo echo # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3416 'command Echo # comment', |
23092
c713358da074
patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents:
23084
diff
changeset
|
3417 'delcommand Echo', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3418 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3419 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3420 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3421 'command Echo echo# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3422 'Echo', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3423 ], 'E1144:') |
23092
c713358da074
patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents:
23084
diff
changeset
|
3424 delcommand Echo |
23162
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3425 |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3426 var curdir = getcwd() |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3427 CheckScriptSuccess([ |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3428 'command Echo cd " comment', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3429 'Echo', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3430 'delcommand Echo', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3431 ]) |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3432 CheckScriptSuccess([ |
23247
f2d05fb28e54
patch 8.2.2169: Vim9: test leaves file behind
Bram Moolenaar <Bram@vim.org>
parents:
23237
diff
changeset
|
3433 'vim9script', |
23162
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3434 'command Echo cd # comment', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3435 'Echo', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3436 'delcommand Echo', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3437 ]) |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3438 CheckScriptFailure([ |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3439 'vim9script', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3440 'command Echo cd " comment', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3441 'Echo', |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3442 ], 'E344:') |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3443 delcommand Echo |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3444 chdir(curdir) |
c923f1888a77
patch 8.2.2127: Vim9: executing user command from Vim9 script not tested
Bram Moolenaar <Bram@vim.org>
parents:
23152
diff
changeset
|
3445 |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3446 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3447 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3448 'command Echo# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3449 ], 'E182:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3450 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3451 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3452 'command Echo echo', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3453 'command Echo# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3454 ], 'E182:') |
23092
c713358da074
patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents:
23084
diff
changeset
|
3455 delcommand Echo |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3456 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3457 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3458 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3459 'function # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3460 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3461 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3462 'vim9script', |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3463 'function " comment', |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3464 ], 'E129:') |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3465 CheckScriptFailure([ |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3466 'vim9script', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3467 'function# comment', |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3468 ], 'E1144:') |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3469 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3470 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3471 'function CheckScriptSuccess # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3472 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3473 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3474 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3475 'function CheckScriptSuccess# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3476 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3477 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3478 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3479 'vim9script', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
3480 'func g:DeleteMeA()', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3481 'endfunc', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
3482 'delfunction g:DeleteMeA # comment', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3483 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3484 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3485 'vim9script', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
3486 'func g:DeleteMeB()', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3487 'endfunc', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
3488 'delfunction g:DeleteMeB# comment', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3489 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3490 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3491 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3492 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3493 'call execute("ls") # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3494 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3495 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3496 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3497 'call execute("ls")# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
3498 ], 'E488:') |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3499 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3500 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3501 'def Test() " comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3502 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3503 ], 'E488:') |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3504 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3505 'vim9script', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3506 'def Test() " comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3507 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3508 ], 'E488:') |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3509 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3510 CheckScriptSuccess([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3511 'func Test() " comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3512 'endfunc', |
23092
c713358da074
patch 8.2.2092: Vim9: unpredictable errors for script tests
Bram Moolenaar <Bram@vim.org>
parents:
23084
diff
changeset
|
3513 'delfunc Test', |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3514 ]) |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3515 CheckScriptSuccess([ |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3516 'vim9script', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3517 'func Test() " comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3518 'endfunc', |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
3519 ]) |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3520 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3521 CheckScriptSuccess([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3522 'def Test() # comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3523 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3524 ]) |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3525 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3526 'func Test() # comment', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3527 'endfunc', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
3528 ], 'E488:') |
24774
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3529 |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3530 var lines =<< trim END |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3531 vim9script |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3532 syn region Text |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3533 \ start='foo' |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3534 #\ comment |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3535 \ end='bar' |
24786
524120691c3d
patch 8.2.2931: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24774
diff
changeset
|
3536 syn region Text start='foo' |
524120691c3d
patch 8.2.2931: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24774
diff
changeset
|
3537 #\ comment |
524120691c3d
patch 8.2.2931: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24774
diff
changeset
|
3538 \ end='bar' |
24774
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3539 END |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3540 CheckScriptSuccess(lines) |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3541 |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3542 lines =<< trim END |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3543 vim9script |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3544 syn region Text |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3545 \ start='foo' |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3546 "\ comment |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3547 \ end='bar' |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3548 END |
8bf9726097d8
patch 8.2.2925: Vim9: line continuation comment uses legacy syntax
Bram Moolenaar <Bram@vim.org>
parents:
24699
diff
changeset
|
3549 CheckScriptFailure(lines, 'E399:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3550 enddef |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3551 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3552 def Test_vim9_comment_gui() |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3553 CheckCanRunGui |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3554 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3555 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3556 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3557 'gui#comment' |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
3558 ], 'E1144:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3559 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3560 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
3561 'gui -f#comment' |
25654
ef38fc02faaa
patch 8.2.3363: when :edit reuses the current buffer the alternate file is set
Bram Moolenaar <Bram@vim.org>
parents:
25650
diff
changeset
|
3562 ], 'E194:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3563 enddef |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
3564 |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3565 def Test_vim9_comment_not_compiled() |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3566 au TabEnter *.vim g:entered = 1 |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3567 au TabEnter *.x g:entered = 2 |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3568 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3569 edit test.vim |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3570 doautocmd TabEnter #comment |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3571 assert_equal(1, g:entered) |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3572 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3573 doautocmd TabEnter f.x |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3574 assert_equal(2, g:entered) |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3575 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3576 g:entered = 0 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3577 doautocmd TabEnter f.x #comment |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3578 assert_equal(2, g:entered) |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3579 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3580 assert_fails('doautocmd Syntax#comment', 'E216:') |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3581 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3582 au! TabEnter |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3583 unlet g:entered |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3584 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3585 CheckScriptSuccess([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3586 'vim9script', |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3587 'g:var = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3588 'b:var = 456', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3589 'w:var = 777', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3590 't:var = 888', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3591 'unlet g:var w:var # something', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3592 ]) |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3593 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3594 CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3595 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3596 'let var = 123', |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3597 ], 'E1126: Cannot use :let in Vim9 script') |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3598 |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3599 CheckScriptFailure([ |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3600 'vim9script', |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3601 'var g:var = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3602 ], 'E1016: Cannot declare a global variable:') |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3603 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3604 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3605 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3606 'var b:var = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3607 ], 'E1016: Cannot declare a buffer variable:') |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3608 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3609 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3610 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3611 'var w:var = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3612 ], 'E1016: Cannot declare a window variable:') |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3613 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3614 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3615 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3616 'var t:var = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3617 ], 'E1016: Cannot declare a tab variable:') |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3618 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3619 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3620 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3621 'var v:version = 123', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3622 ], 'E1016: Cannot declare a v: variable:') |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3623 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3624 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3625 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3626 'var $VARIABLE = "text"', |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
3627 ], 'E1016: Cannot declare an environment variable:') |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3628 |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3629 CheckScriptFailure([ |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3630 'vim9script', |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3631 'g:var = 123', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3632 'unlet g:var# comment1', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3633 ], 'E108:') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3634 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3635 CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3636 'let g:var = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3637 'unlet g:var # something', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
3638 ], 'E488:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3639 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3640 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3641 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3642 'if 1 # comment2', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3643 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3644 'elseif 2 #comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3645 ' echo "no"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3646 'endif', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3647 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3648 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3649 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3650 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3651 'if 1# comment3', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3652 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3653 'endif', |
24958
21ec48d542a8
patch 8.2.3016: confusing error when expression is followed by comma
Bram Moolenaar <Bram@vim.org>
parents:
24934
diff
changeset
|
3654 ], 'E488:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3655 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3656 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3657 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3658 'if 0 # comment4', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3659 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3660 'elseif 2#comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3661 ' echo "no"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3662 'endif', |
24958
21ec48d542a8
patch 8.2.3016: confusing error when expression is followed by comma
Bram Moolenaar <Bram@vim.org>
parents:
24934
diff
changeset
|
3663 ], 'E488:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3664 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3665 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3666 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3667 'var v = 1 # comment5', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3668 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3669 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3670 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3671 'vim9script', |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3672 'var v = 1# comment6', |
24958
21ec48d542a8
patch 8.2.3016: confusing error when expression is followed by comma
Bram Moolenaar <Bram@vim.org>
parents:
24934
diff
changeset
|
3673 ], 'E488:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3674 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3675 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3676 'vim9script', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3677 'new' |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3678 'setline(1, ["# define pat", "last"])', |
20982
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
3679 ':$', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3680 'dsearch /pat/ #comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3681 'bwipe!', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3682 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
3683 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3684 CheckScriptFailure([ |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3685 'vim9script', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3686 'new' |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
3687 'setline(1, ["# define pat", "last"])', |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3688 ':$', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3689 'dsearch /pat/#comment', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3690 'bwipe!', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3691 ], 'E488:') |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3692 |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3693 CheckScriptFailure([ |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3694 'vim9script', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3695 'func! SomeFunc()', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3696 ], 'E477:') |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3697 enddef |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
3698 |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3699 def Test_finish() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3700 var lines =<< trim END |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3701 vim9script |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3702 g:res = 'one' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3703 if v:false | finish | endif |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3704 g:res = 'two' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3705 finish |
20945
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
3706 g:res = 'three' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3707 END |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3708 writefile(lines, 'Xfinished') |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3709 source Xfinished |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3710 assert_equal('two', g:res) |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3711 |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3712 unlet g:res |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3713 delete('Xfinished') |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3714 enddef |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
3715 |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3716 def Test_forward_declaration() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3717 var lines =<< trim END |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3718 vim9script |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3719 def GetValue(): string |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3720 return theVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3721 enddef |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3722 var theVal = 'something' |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
3723 g:initVal = GetValue() |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3724 theVal = 'else' |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3725 g:laterVal = GetValue() |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3726 END |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3727 writefile(lines, 'Xforward') |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3728 source Xforward |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3729 assert_equal('something', g:initVal) |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3730 assert_equal('else', g:laterVal) |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3731 |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3732 unlet g:initVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3733 unlet g:laterVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3734 delete('Xforward') |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3735 enddef |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3736 |
20816
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3737 def Test_source_vim9_from_legacy() |
23364
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3738 var vim9_lines =<< trim END |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3739 vim9script |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3740 var local = 'local' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3741 g:global = 'global' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3742 export var exported = 'exported' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3743 export def GetText(): string |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3744 return 'text' |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3745 enddef |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3746 END |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3747 writefile(vim9_lines, 'Xvim9_script.vim') |
17a0e32eefd4
patch 8.2.2225: Vim9: error when using :import in legacy script twice
Bram Moolenaar <Bram@vim.org>
parents:
23362
diff
changeset
|
3748 |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3749 var legacy_lines =<< trim END |
20816
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3750 source Xvim9_script.vim |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3751 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3752 call assert_false(exists('local')) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3753 call assert_false(exists('exported')) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3754 call assert_false(exists('s:exported')) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3755 call assert_equal('global', global) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3756 call assert_equal('global', g:global) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3757 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3758 " imported variable becomes script-local |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3759 import exported from './Xvim9_script.vim' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3760 call assert_equal('exported', s:exported) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3761 call assert_false(exists('exported')) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3762 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3763 " imported function becomes script-local |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3764 import GetText from './Xvim9_script.vim' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3765 call assert_equal('text', s:GetText()) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3766 call assert_false(exists('*GetText')) |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3767 END |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3768 writefile(legacy_lines, 'Xlegacy_script.vim') |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3769 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3770 source Xlegacy_script.vim |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3771 assert_equal('global', g:global) |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3772 unlet g:global |
20816
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3773 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3774 delete('Xlegacy_script.vim') |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3775 delete('Xvim9_script.vim') |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3776 enddef |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3777 |
24279
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3778 def Test_declare_script_in_func() |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3779 var lines =<< trim END |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3780 vim9script |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3781 func Declare() |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3782 let s:local = 123 |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3783 endfunc |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3784 Declare() |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3785 assert_equal(123, local) |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3786 |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3787 var error: string |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3788 try |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3789 local = 'asdf' |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3790 catch |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3791 error = v:exception |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3792 endtry |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3793 assert_match('E1012: Type mismatch; expected number but got string', error) |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3794 |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3795 lockvar local |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3796 try |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3797 local = 999 |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3798 catch |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3799 error = v:exception |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3800 endtry |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3801 assert_match('E741: Value is locked: local', error) |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3802 END |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3803 CheckScriptSuccess(lines) |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3804 enddef |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3805 |
e3dbf2e58c6a
patch 8.2.2680: Vim9: problem defining a script variable from legacy function
Bram Moolenaar <Bram@vim.org>
parents:
24234
diff
changeset
|
3806 |
21801
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3807 func Test_vim9script_not_global() |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3808 " check that items defined in Vim9 script are script-local, not global |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3809 let vim9lines =<< trim END |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3810 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3811 var name = 'local' |
21801
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3812 func TheFunc() |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3813 echo 'local' |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3814 endfunc |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3815 def DefFunc() |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3816 echo 'local' |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3817 enddef |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3818 END |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3819 call writefile(vim9lines, 'Xvim9script.vim') |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3820 source Xvim9script.vim |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3821 try |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3822 echo g:var |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3823 assert_report('did not fail') |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3824 catch /E121:/ |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3825 " caught |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3826 endtry |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3827 try |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3828 call TheFunc() |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3829 assert_report('did not fail') |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3830 catch /E117:/ |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3831 " caught |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3832 endtry |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3833 try |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3834 call DefFunc() |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3835 assert_report('did not fail') |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3836 catch /E117:/ |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3837 " caught |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3838 endtry |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3839 |
21987
c33cec63cf53
patch 8.2.1543: Vim9: test with invalid SID is skipped in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21985
diff
changeset
|
3840 call delete('Xvim9script.vim') |
21801
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3841 endfunc |
1344d45ca6f2
patch 8.2.1450: Vim9: no check that script-local items don't become global
Bram Moolenaar <Bram@vim.org>
parents:
21791
diff
changeset
|
3842 |
21150
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3843 def Test_vim9_copen() |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3844 # this was giving an error for setting w:quickfix_title |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3845 copen |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3846 quit |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3847 enddef |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3848 |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3849 " test using an auto-loaded function and variable |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3850 def Test_vim9_autoload() |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3851 var lines =<< trim END |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3852 vim9script |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3853 def some#gettest(): string |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3854 return 'test' |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3855 enddef |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3856 g:some#name = 'name' |
24555
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
3857 g:some#dict = {key: 'value'} |
24077
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3858 |
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3859 def some#varargs(a1: string, ...l: list<string>): string |
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3860 return a1 .. l[0] .. l[1] |
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3861 enddef |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3862 END |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3863 |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3864 mkdir('Xdir/autoload', 'p') |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3865 writefile(lines, 'Xdir/autoload/some.vim') |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3866 var save_rtp = &rtp |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3867 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3868 |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3869 assert_equal('test', g:some#gettest()) |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3870 assert_equal('name', g:some#name) |
24555
83877a1b66fd
patch 8.2.2817: Vim9: script sourcing continues after an error
Bram Moolenaar <Bram@vim.org>
parents:
24471
diff
changeset
|
3871 assert_equal('value', g:some#dict.key) |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3872 g:some#other = 'other' |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3873 assert_equal('other', g:some#other) |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3874 |
24077
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3875 assert_equal('abc', some#varargs('a', 'b', 'c')) |
5006d95ef82d
patch 8.2.2580: Vim9: checking vararg type may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
24051
diff
changeset
|
3876 |
23237
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3877 # upper case script name works |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3878 lines =<< trim END |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3879 vim9script |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3880 def Other#getOther(): string |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3881 return 'other' |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3882 enddef |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3883 END |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3884 writefile(lines, 'Xdir/autoload/Other.vim') |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3885 assert_equal('other', g:Other#getOther()) |
033b2a97d59b
patch 8.2.2164: Vim9: autoload function doesn't work in uppercased script
Bram Moolenaar <Bram@vim.org>
parents:
23233
diff
changeset
|
3886 |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3887 delete('Xdir', 'rf') |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3888 &rtp = save_rtp |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3889 enddef |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3890 |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3891 " test using a vim9script that is auto-loaded from an autocmd |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3892 def Test_vim9_aucmd_autoload() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3893 var lines =<< trim END |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3894 vim9script |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3895 def foo#test() |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3896 echomsg getreg('"') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3897 enddef |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3898 END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3899 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3900 mkdir('Xdir/autoload', 'p') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3901 writefile(lines, 'Xdir/autoload/foo.vim') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3902 var save_rtp = &rtp |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3903 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3904 augroup test |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3905 autocmd TextYankPost * call foo#test() |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3906 augroup END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3907 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3908 normal Y |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3909 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3910 augroup test |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3911 autocmd! |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3912 augroup END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3913 delete('Xdir', 'rf') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3914 &rtp = save_rtp |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3915 enddef |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3916 |
22310
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3917 " This was causing a crash because suppress_errthrow wasn't reset. |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3918 def Test_vim9_autoload_error() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3919 var lines =<< trim END |
22310
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3920 vim9script |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3921 def crash#func() |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3922 try |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3923 for x in List() |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3924 endfor |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3925 catch |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3926 endtry |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3927 g:ok = true |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3928 enddef |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3929 fu List() |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3930 invalid |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3931 endfu |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3932 try |
23571
b02ac00aacbf
patch 8.2.2328: some test files may not be deleted
Bram Moolenaar <Bram@vim.org>
parents:
23440
diff
changeset
|
3933 alsoinvalid |
22310
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3934 catch /wontmatch/ |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3935 endtry |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3936 END |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3937 call mkdir('Xruntime/autoload', 'p') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3938 call writefile(lines, 'Xruntime/autoload/crash.vim') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3939 |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3940 # run in a separate Vim to avoid the side effects of assert_fails() |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3941 lines =<< trim END |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3942 exe 'set rtp^=' .. getcwd() .. '/Xruntime' |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3943 call crash#func() |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3944 call writefile(['ok'], 'Xdidit') |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
3945 qall! |
22310
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3946 END |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3947 writefile(lines, 'Xscript') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3948 RunVim([], [], '-S Xscript') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3949 assert_equal(['ok'], readfile('Xdidit')) |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3950 |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3951 delete('Xdidit') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3952 delete('Xscript') |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3953 delete('Xruntime', 'rf') |
23233
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3954 |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3955 lines =<< trim END |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3956 vim9script |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3957 var foo#bar = 'asdf' |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3958 END |
657216220293
patch 8.2.2162: Vim9: Cannot load or store autoload variables
Bram Moolenaar <Bram@vim.org>
parents:
23197
diff
changeset
|
3959 CheckScriptFailure(lines, 'E461: Illegal variable name: foo#bar', 2) |
22310
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3960 enddef |
74d0a7a30583
patch 8.2.1704: Vim9: crash in for loop when autoload script has an error
Bram Moolenaar <Bram@vim.org>
parents:
22302
diff
changeset
|
3961 |
21907
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3962 def Test_script_var_in_autocmd() |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3963 # using a script variable from an autocommand, defined in a :def function in a |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3964 # legacy Vim script, cannot check the variable type. |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
3965 var lines =<< trim END |
21907
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3966 let s:counter = 1 |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3967 def s:Func() |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3968 au! CursorHold |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3969 au CursorHold * s:counter += 1 |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3970 enddef |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3971 call s:Func() |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3972 doau CursorHold |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3973 call assert_equal(2, s:counter) |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3974 au! CursorHold |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3975 END |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3976 CheckScriptSuccess(lines) |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3977 enddef |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3978 |
25260
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3979 def Test_error_in_autoload_script() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3980 var save_rtp = &rtp |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3981 var dir = getcwd() .. '/Xruntime' |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3982 &rtp = dir |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3983 mkdir(dir .. '/autoload', 'p') |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3984 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3985 var lines =<< trim END |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3986 vim9script noclear |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3987 def script#autoloaded() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3988 enddef |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3989 def Broken() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3990 var x: any = '' |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3991 eval x != 0 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3992 enddef |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3993 Broken() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3994 END |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3995 writefile(lines, dir .. '/autoload/script.vim') |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3996 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3997 lines =<< trim END |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3998 vim9script |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
3999 def CallAutoloaded() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4000 script#autoloaded() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4001 enddef |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4002 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4003 function Legacy() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4004 try |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4005 call s:CallAutoloaded() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4006 catch |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4007 call assert_match('E1030: Using a String as a Number', v:exception) |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4008 endtry |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4009 endfunction |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4010 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4011 Legacy() |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4012 END |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4013 CheckScriptSuccess(lines) |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4014 |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4015 &rtp = save_rtp |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4016 delete(dir, 'rf') |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4017 enddef |
a60895011da9
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"
Bram Moolenaar <Bram@vim.org>
parents:
25230
diff
changeset
|
4018 |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4019 def Test_cmdline_win() |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4020 # if the Vim syntax highlighting uses Vim9 constructs they can be used from |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4021 # the command line window. |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4022 mkdir('rtp/syntax', 'p') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4023 var export_lines =<< trim END |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4024 vim9script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4025 export var That = 'yes' |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4026 END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4027 writefile(export_lines, 'rtp/syntax/Xexport.vim') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4028 var import_lines =<< trim END |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4029 vim9script |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4030 import That from './Xexport.vim' |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4031 END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4032 writefile(import_lines, 'rtp/syntax/vim.vim') |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4033 var save_rtp = &rtp |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4034 &rtp = getcwd() .. '/rtp' .. ',' .. &rtp |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4035 syntax on |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4036 augroup CmdWin |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4037 autocmd CmdwinEnter * g:got_there = 'yes' |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4038 augroup END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4039 # this will open and also close the cmdline window |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4040 feedkeys('q:', 'xt') |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4041 assert_equal('yes', g:got_there) |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4042 |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4043 augroup CmdWin |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4044 au! |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4045 augroup END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4046 &rtp = save_rtp |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4047 delete('rtp', 'rf') |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4048 enddef |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
4049 |
21979
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4050 def Test_invalid_sid() |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4051 assert_fails('func <SNR>1234_func', 'E123:') |
21987
c33cec63cf53
patch 8.2.1543: Vim9: test with invalid SID is skipped in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21985
diff
changeset
|
4052 |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4053 if RunVim([], ['wq! Xdidit'], '+"func <SNR>1_func"') |
22147
d55008685870
patch 8.2.1623: Vim9: using :call where it is not needed
Bram Moolenaar <Bram@vim.org>
parents:
22087
diff
changeset
|
4054 assert_equal([], readfile('Xdidit')) |
21979
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4055 endif |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4056 delete('Xdidit') |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4057 enddef |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
4058 |
23152
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4059 def Test_restoring_cpo() |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4060 writefile(['vim9script', 'set nocp'], 'Xsourced') |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4061 writefile(['call writefile(["done"], "Xdone")', 'quit!'], 'Xclose') |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4062 if RunVim([], [], '-u NONE +"set cpo+=a" -S Xsourced -S Xclose') |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4063 assert_equal(['done'], readfile('Xdone')) |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4064 endif |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4065 delete('Xsourced') |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4066 delete('Xclose') |
23247
f2d05fb28e54
patch 8.2.2169: Vim9: test leaves file behind
Bram Moolenaar <Bram@vim.org>
parents:
23237
diff
changeset
|
4067 delete('Xdone') |
23886
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4068 |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4069 writefile(['vim9script'], 'XanotherScript') |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4070 set cpo=aABceFsMny> |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4071 edit XanotherScript |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4072 so % |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4073 assert_equal('aABceFsMny>', &cpo) |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4074 :1del |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4075 w |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4076 so % |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4077 assert_equal('aABceFsMny>', &cpo) |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4078 |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4079 delete('XanotherScript') |
eef0cffbdb94
patch 8.2.2485: when sourcing a script again the script version isn't reset
Bram Moolenaar <Bram@vim.org>
parents:
23884
diff
changeset
|
4080 set cpo&vim |
23152
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4081 enddef |
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4082 |
24081
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4083 " Use :function so we can use Check commands |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4084 func Test_no_redraw_when_restoring_cpo() |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4085 CheckScreendump |
24081
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4086 CheckFeature timers |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4087 |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4088 let lines =<< trim END |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4089 vim9script |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4090 def script#func() |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4091 enddef |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4092 END |
24081
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4093 call mkdir('Xdir/autoload', 'p') |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4094 call writefile(lines, 'Xdir/autoload/script.vim') |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4095 |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4096 let lines =<< trim END |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4097 vim9script |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4098 set cpo+=M |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4099 exe 'set rtp^=' .. getcwd() .. '/Xdir' |
24398
bed5ec739304
patch 8.2.2739: Vim9: a lambda accepts too many arguments at the script level
Bram Moolenaar <Bram@vim.org>
parents:
24295
diff
changeset
|
4100 au CmdlineEnter : ++once timer_start(0, (_) => script#func()) |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4101 setline(1, 'some text') |
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4102 END |
24081
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4103 call writefile(lines, 'XTest_redraw_cpo') |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4104 let buf = RunVimInTerminal('-S XTest_redraw_cpo', {'rows': 6}) |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4105 call term_sendkeys(buf, "V:") |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4106 call VerifyScreenDump(buf, 'Test_vim9_no_redraw', {}) |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4107 |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4108 " clean up |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4109 call term_sendkeys(buf, "\<Esc>u") |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4110 call StopVimInTerminal(buf) |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4111 call delete('XTest_redraw_cpo') |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4112 call delete('Xdir', 'rf') |
7d28bac98927
patch 8.2.2582: Vim9: screendump test fails on MS-Windows
Bram Moolenaar <Bram@vim.org>
parents:
24079
diff
changeset
|
4113 endfunc |
24079
a9ff8368d35f
patch 8.2.2581: Vim9: sourcing Vim9 script triggers a redraw
Bram Moolenaar <Bram@vim.org>
parents:
24077
diff
changeset
|
4114 |
23152
1c94e4c9db00
patch 8.2.2122: Vim9: crash when sourcing vim9script early
Bram Moolenaar <Bram@vim.org>
parents:
23106
diff
changeset
|
4115 |
22250
dd42235ed626
patch 8.2.1674: Vim9: internal error when using variable that was not set
Bram Moolenaar <Bram@vim.org>
parents:
22202
diff
changeset
|
4116 def Test_unset_any_variable() |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4117 var lines =<< trim END |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4118 var name: any |
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4119 assert_equal(0, name) |
22250
dd42235ed626
patch 8.2.1674: Vim9: internal error when using variable that was not set
Bram Moolenaar <Bram@vim.org>
parents:
22202
diff
changeset
|
4120 END |
dd42235ed626
patch 8.2.1674: Vim9: internal error when using variable that was not set
Bram Moolenaar <Bram@vim.org>
parents:
22202
diff
changeset
|
4121 CheckDefAndScriptSuccess(lines) |
dd42235ed626
patch 8.2.1674: Vim9: internal error when using variable that was not set
Bram Moolenaar <Bram@vim.org>
parents:
22202
diff
changeset
|
4122 enddef |
dd42235ed626
patch 8.2.1674: Vim9: internal error when using variable that was not set
Bram Moolenaar <Bram@vim.org>
parents:
22202
diff
changeset
|
4123 |
22387
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4124 func Test_define_func_at_command_line() |
22383
82d92f6c756c
patch 8.2.1740: test fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22381
diff
changeset
|
4125 CheckRunVimInTerminal |
82d92f6c756c
patch 8.2.1740: test fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22381
diff
changeset
|
4126 |
22387
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4127 " call indirectly to avoid compilation error for missing functions |
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4128 call Run_Test_define_func_at_command_line() |
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4129 endfunc |
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4130 |
36f13f35bd78
patch 8.2.1742: test still fails without the terminal feature
Bram Moolenaar <Bram@vim.org>
parents:
22383
diff
changeset
|
4131 def Run_Test_define_func_at_command_line() |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4132 # run in a separate Vim instance to avoid the script context |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4133 var lines =<< trim END |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4134 func CheckAndQuit() |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4135 call assert_fails('call Afunc()', 'E117: Unknown function: Bfunc') |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4136 call writefile(['errors: ' .. string(v:errors)], 'Xdidcmd') |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4137 endfunc |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4138 END |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4139 writefile([''], 'Xdidcmd') |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4140 writefile(lines, 'XcallFunc') |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
4141 var buf = RunVimInTerminal('-S XcallFunc', {rows: 6}) |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4142 # define Afunc() on the command line |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4143 term_sendkeys(buf, ":def Afunc()\<CR>Bfunc()\<CR>enddef\<CR>") |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4144 term_sendkeys(buf, ":call CheckAndQuit()\<CR>") |
23428
5807e3958e38
patch 8.2.2257: Vim9: using -> for lambda is ambiguous
Bram Moolenaar <Bram@vim.org>
parents:
23364
diff
changeset
|
4145 WaitForAssert(() => assert_equal(['errors: []'], readfile('Xdidcmd'))) |
22381
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4146 |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4147 call StopVimInTerminal(buf) |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4148 delete('XcallFunc') |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4149 delete('Xdidcmd') |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4150 enddef |
6fe9536694ff
patch 8.2.1739: Vim9: crash when compiling a manually defined function
Bram Moolenaar <Bram@vim.org>
parents:
22351
diff
changeset
|
4151 |
22551
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4152 def Test_script_var_scope() |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4153 var lines =<< trim END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4154 vim9script |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4155 if true |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4156 if true |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4157 var one = 'one' |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4158 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4159 endif |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4160 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4161 endif |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4162 END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4163 CheckScriptFailure(lines, 'E121:', 7) |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4164 |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4165 lines =<< trim END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4166 vim9script |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4167 if true |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4168 if false |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4169 var one = 'one' |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4170 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4171 else |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4172 var one = 'one' |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4173 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4174 endif |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4175 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4176 endif |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4177 END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4178 CheckScriptFailure(lines, 'E121:', 10) |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4179 |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4180 lines =<< trim END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4181 vim9script |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4182 while true |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4183 var one = 'one' |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4184 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4185 break |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4186 endwhile |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4187 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4188 END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4189 CheckScriptFailure(lines, 'E121:', 7) |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4190 |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4191 lines =<< trim END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4192 vim9script |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4193 for i in range(1) |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4194 var one = 'one' |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4195 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4196 endfor |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4197 echo one |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4198 END |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4199 CheckScriptFailure(lines, 'E121:', 6) |
22555
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4200 |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4201 lines =<< trim END |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4202 vim9script |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4203 { |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4204 var one = 'one' |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4205 assert_equal('one', one) |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4206 } |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4207 assert_false(exists('one')) |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4208 assert_false(exists('s:one')) |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4209 END |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4210 CheckScriptSuccess(lines) |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4211 |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4212 lines =<< trim END |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4213 vim9script |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4214 { |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4215 var one = 'one' |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4216 echo one |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4217 } |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4218 echo one |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4219 END |
7d25264c246c
patch 8.2.1826: Vim9: cannot use a {} block at script level
Bram Moolenaar <Bram@vim.org>
parents:
22551
diff
changeset
|
4220 CheckScriptFailure(lines, 'E121:', 6) |
22551
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4221 enddef |
86a115a80262
patch 8.2.1824: Vim9: variables at the script level escape their scope
Bram Moolenaar <Bram@vim.org>
parents:
22529
diff
changeset
|
4222 |
22621
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4223 def Test_catch_exception_in_callback() |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4224 var lines =<< trim END |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4225 vim9script |
24400
62e978382fa0
patch 8.2.2740: Vim9: lambda with varargs doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
24398
diff
changeset
|
4226 def Callback(...l: list<any>) |
22621
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4227 try |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4228 var x: string |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4229 var y: string |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4230 # this error should be caught with CHECKLEN |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4231 [x, y] = [''] |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4232 catch |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4233 g:caught = 'yes' |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4234 endtry |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4235 enddef |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
4236 popup_menu('popup', {callback: Callback}) |
22621
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4237 feedkeys("\r", 'xt') |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4238 END |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4239 CheckScriptSuccess(lines) |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4240 |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4241 unlet g:caught |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4242 enddef |
576a69fc0066
patch 8.2.1859: Vim9: crash in unpack assignment
Bram Moolenaar <Bram@vim.org>
parents:
22612
diff
changeset
|
4243 |
22810
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4244 def Test_no_unknown_error_after_error() |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4245 if !has('unix') || !has('job') |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4246 throw 'Skipped: not unix of missing +job feature' |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4247 endif |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4248 var lines =<< trim END |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4249 vim9script |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4250 var source: list<number> |
24400
62e978382fa0
patch 8.2.2740: Vim9: lambda with varargs doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
24398
diff
changeset
|
4251 def Out_cb(...l: list<any>) |
22810
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4252 eval [][0] |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4253 enddef |
24400
62e978382fa0
patch 8.2.2740: Vim9: lambda with varargs doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
24398
diff
changeset
|
4254 def Exit_cb(...l: list<any>) |
22810
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4255 sleep 1m |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4256 source += l |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4257 enddef |
23072
4b398a229b0b
patch 8.2.2082: Vim9: can still use the depricated #{} dict syntax
Bram Moolenaar <Bram@vim.org>
parents:
23068
diff
changeset
|
4258 var myjob = job_start('echo burp', {out_cb: Out_cb, exit_cb: Exit_cb, mode: 'raw'}) |
23268
65fd662b434d
patch 8.2.2180: Vim9: test for error after error is flaky
Bram Moolenaar <Bram@vim.org>
parents:
23252
diff
changeset
|
4259 while job_status(myjob) == 'run' |
65fd662b434d
patch 8.2.2180: Vim9: test for error after error is flaky
Bram Moolenaar <Bram@vim.org>
parents:
23252
diff
changeset
|
4260 sleep 10m |
65fd662b434d
patch 8.2.2180: Vim9: test for error after error is flaky
Bram Moolenaar <Bram@vim.org>
parents:
23252
diff
changeset
|
4261 endwhile |
23790
e2ebd45d4db0
patch 8.2.2436: Vim9 script test is a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
23723
diff
changeset
|
4262 # wait for Exit_cb() to be called |
24418
baf4913fe21c
patch 8.2.2749: Vim9: test for error can be a bit flaky
Bram Moolenaar <Bram@vim.org>
parents:
24400
diff
changeset
|
4263 sleep 200m |
22810
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4264 END |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4265 writefile(lines, 'Xdef') |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4266 assert_fails('so Xdef', ['E684:', 'E1012:']) |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4267 delete('Xdef') |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4268 enddef |
2d05dd71aac3
patch 8.2.1953: Vim9: extra "unknown" error after other error
Bram Moolenaar <Bram@vim.org>
parents:
22732
diff
changeset
|
4269 |
23056
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4270 def InvokeNormal() |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4271 exe "norm! :m+1\r" |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4272 enddef |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4273 |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4274 def Test_invoke_normal_in_visual_mode() |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4275 xnoremap <F3> <Cmd>call <SID>InvokeNormal()<CR> |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4276 new |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4277 setline(1, ['aaa', 'bbb']) |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4278 feedkeys("V\<F3>", 'xt') |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4279 assert_equal(['bbb', 'aaa'], getline(1, 2)) |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4280 xunmap <F3> |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4281 enddef |
57b6427c18e4
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Bram Moolenaar <Bram@vim.org>
parents:
23054
diff
changeset
|
4282 |
23185
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4283 def Test_white_space_after_command() |
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4284 var lines =<< trim END |
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4285 exit_cb: Func}) |
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4286 END |
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4287 CheckDefAndScriptFailure(lines, 'E1144:', 1) |
23342
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
4288 |
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
4289 lines =<< trim END |
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
4290 e# |
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
4291 END |
13572a262b15
patch 8.2.2214: ":e#" does not give a warning for missing white space
Bram Moolenaar <Bram@vim.org>
parents:
23330
diff
changeset
|
4292 CheckDefAndScriptFailure(lines, 'E1144:', 1) |
23185
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4293 enddef |
055fa9db6f39
patch 8.2.2138: Vim9: "exit_cb" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
23183
diff
changeset
|
4294 |
23330
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4295 def Test_script_var_gone_when_sourced_twice() |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4296 var lines =<< trim END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4297 vim9script |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4298 if exists('g:guard') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4299 finish |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4300 endif |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4301 g:guard = 1 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4302 var name = 'thename' |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4303 def g:GetName(): string |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4304 return name |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4305 enddef |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4306 def g:SetName(arg: string) |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4307 name = arg |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4308 enddef |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4309 END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4310 writefile(lines, 'XscriptTwice.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4311 so XscriptTwice.vim |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4312 assert_equal('thename', g:GetName()) |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4313 g:SetName('newname') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4314 assert_equal('newname', g:GetName()) |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4315 so XscriptTwice.vim |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4316 assert_fails('call g:GetName()', 'E1149:') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4317 assert_fails('call g:SetName("x")', 'E1149:') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4318 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4319 delfunc g:GetName |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4320 delfunc g:SetName |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4321 delete('XscriptTwice.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4322 unlet g:guard |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4323 enddef |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4324 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4325 def Test_import_gone_when_sourced_twice() |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4326 var exportlines =<< trim END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4327 vim9script |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4328 if exists('g:guard') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4329 finish |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4330 endif |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4331 g:guard = 1 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4332 export var name = 'someName' |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4333 END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4334 writefile(exportlines, 'XexportScript.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4335 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4336 var lines =<< trim END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4337 vim9script |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4338 import name from './XexportScript.vim' |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4339 def g:GetName(): string |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4340 return name |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4341 enddef |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4342 END |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4343 writefile(lines, 'XscriptImport.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4344 so XscriptImport.vim |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4345 assert_equal('someName', g:GetName()) |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4346 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4347 so XexportScript.vim |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4348 assert_fails('call g:GetName()', 'E1149:') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4349 |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4350 delfunc g:GetName |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4351 delete('XexportScript.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4352 delete('XscriptImport.vim') |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4353 unlet g:guard |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4354 enddef |
e8eb4fd44902
patch 8.2.2208: Vim9: after reloading a script variable index may be invalid
Bram Moolenaar <Bram@vim.org>
parents:
23268
diff
changeset
|
4355 |
23978
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4356 def Test_unsupported_commands() |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4357 var lines =<< trim END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4358 ka |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4359 END |
24699
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24679
diff
changeset
|
4360 CheckDefFailure(lines, 'E476:') |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24679
diff
changeset
|
4361 CheckScriptFailure(['vim9script'] + lines, 'E492:') |
23978
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4362 |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4363 lines =<< trim END |
23980
bee8c78c0c6a
patch 8.2.2532: Vim9: confusing error if :k is used with a range
Bram Moolenaar <Bram@vim.org>
parents:
23978
diff
changeset
|
4364 :1ka |
bee8c78c0c6a
patch 8.2.2532: Vim9: confusing error if :k is used with a range
Bram Moolenaar <Bram@vim.org>
parents:
23978
diff
changeset
|
4365 END |
24699
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24679
diff
changeset
|
4366 CheckDefFailure(lines, 'E476:') |
b19c8150ee9d
patch 8.2.2888: Vim9: "k" command recognized in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
24679
diff
changeset
|
4367 CheckScriptFailure(['vim9script'] + lines, 'E492:') |
23980
bee8c78c0c6a
patch 8.2.2532: Vim9: confusing error if :k is used with a range
Bram Moolenaar <Bram@vim.org>
parents:
23978
diff
changeset
|
4368 |
bee8c78c0c6a
patch 8.2.2532: Vim9: confusing error if :k is used with a range
Bram Moolenaar <Bram@vim.org>
parents:
23978
diff
changeset
|
4369 lines =<< trim END |
23978
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4370 t |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4371 END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4372 CheckDefFailure(lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4373 CheckScriptFailure(['vim9script'] + lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4374 |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4375 lines =<< trim END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4376 x |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4377 END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4378 CheckDefFailure(lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4379 CheckScriptFailure(['vim9script'] + lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4380 |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4381 lines =<< trim END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4382 xit |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4383 END |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4384 CheckDefFailure(lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4385 CheckScriptFailure(['vim9script'] + lines, 'E1100:') |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4386 enddef |
54b2aa1f0d42
patch 8.2.2531: Vim9: the :k command is obscure
Bram Moolenaar <Bram@vim.org>
parents:
23974
diff
changeset
|
4387 |
24471
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4388 def Test_mapping_line_number() |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4389 var lines =<< trim END |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4390 vim9script |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4391 def g:FuncA() |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4392 # Some comment |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4393 FuncB(0) |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4394 enddef |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4395 # Some comment |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4396 def FuncB( |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4397 # Some comment |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4398 n: number |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4399 ) |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4400 exe 'nno ' |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4401 # Some comment |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4402 .. '<F3> a' |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4403 .. 'b' |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4404 .. 'c' |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4405 enddef |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4406 END |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4407 CheckScriptSuccess(lines) |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4408 var res = execute('verbose nmap <F3>') |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4409 assert_match('No mapping found', res) |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4410 |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4411 g:FuncA() |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4412 res = execute('verbose nmap <F3>') |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4413 assert_match(' <F3> .* abc.*Last set from .*XScriptSuccess\d\+ line 11', res) |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4414 |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4415 nunmap <F3> |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4416 delfunc g:FuncA |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4417 enddef |
baf75c8e1b7b
patch 8.2.2775: Vim9: wrong line number used for some commands
Bram Moolenaar <Bram@vim.org>
parents:
24469
diff
changeset
|
4418 |
25176
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4419 def Test_option_set() |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4420 # legacy script allows for white space |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4421 var lines =<< trim END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4422 set foldlevel =11 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4423 call assert_equal(11, &foldlevel) |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4424 END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4425 CheckScriptSuccess(lines) |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4426 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4427 set foldlevel |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4428 set foldlevel=12 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4429 assert_equal(12, &foldlevel) |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4430 set foldlevel+=2 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4431 assert_equal(14, &foldlevel) |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4432 set foldlevel-=3 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4433 assert_equal(11, &foldlevel) |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4434 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4435 lines =<< trim END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4436 set foldlevel =1 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4437 END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4438 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: =1') |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4439 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4440 lines =<< trim END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4441 set foldlevel +=1 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4442 END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4443 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: +=1') |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4444 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4445 lines =<< trim END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4446 set foldlevel ^=1 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4447 END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4448 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: ^=1') |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4449 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4450 lines =<< trim END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4451 set foldlevel -=1 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4452 END |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4453 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: -=1') |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4454 |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4455 set foldlevel& |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4456 enddef |
af3d0198faad
patch 8.2.3124: Vim9: no error for white space between option and "=9"
Bram Moolenaar <Bram@vim.org>
parents:
25174
diff
changeset
|
4457 |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4458 def Test_option_modifier() |
25174
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4459 # legacy script allows for white space |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4460 var lines =<< trim END |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4461 set hlsearch & hlsearch ! |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4462 call assert_equal(1, &hlsearch) |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4463 END |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4464 CheckScriptSuccess(lines) |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4465 |
25174
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4466 set hlsearch |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4467 set hlsearch! |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4468 assert_equal(false, &hlsearch) |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4469 |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4470 set hlsearch |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4471 set hlsearch& |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4472 assert_equal(false, &hlsearch) |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4473 |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4474 lines =<< trim END |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4475 set hlsearch & |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4476 END |
25174
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4477 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: &') |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4478 |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4479 lines =<< trim END |
25174
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4480 set hlsearch ! |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4481 END |
25174
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4482 CheckDefExecAndScriptFailure(lines, 'E1205: No white space allowed between option and: !') |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4483 |
b32c83317492
patch 8.2.3123: Vim9: confusing error when using white space after option
Bram Moolenaar <Bram@vim.org>
parents:
25164
diff
changeset
|
4484 set hlsearch& |
24968
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4485 enddef |
d81a5c3a3aa6
patch 8.2.3021: spaces allowed between option name and "!", "?", etc.
Bram Moolenaar <Bram@vim.org>
parents:
24958
diff
changeset
|
4486 |
25220
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4487 " This must be called last, it may cause following :def functions to fail |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4488 def Test_xxx_echoerr_line_number() |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4489 var lines =<< trim END |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4490 echoerr 'some' |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4491 .. ' error' |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4492 .. ' continued' |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4493 END |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4494 CheckDefExecAndScriptFailure(lines, 'some error continued', 1) |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4495 enddef |
89b39ce243e2
patch 8.2.3146: Vim9: line number wrong for :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
25218
diff
changeset
|
4496 |
25222
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4497 def ProfiledWithLambda() |
25214
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4498 var n = 3 |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4499 echo [[1, 2], [3, 4]]->filter((_, l) => l[0] == n) |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4500 enddef |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4501 |
25222
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4502 def ProfiledNested() |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4503 var x = 0 |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4504 def Nested(): any |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4505 return x |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4506 enddef |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4507 Nested() |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4508 enddef |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4509 |
25230
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4510 def ProfiledNestedProfiled() |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4511 var x = 0 |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4512 def Nested(): any |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4513 return x |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4514 enddef |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4515 Nested() |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4516 enddef |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4517 |
25214
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4518 " Execute this near the end, profiling doesn't stop until Vim exists. |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4519 " This only tests that it works, not the profiling output. |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4520 def Test_xx_profile_with_lambda() |
25218
645c7963a586
patch 8.2.3145: Vim9: profile test fails without profile feature
Bram Moolenaar <Bram@vim.org>
parents:
25214
diff
changeset
|
4521 CheckFeature profile |
645c7963a586
patch 8.2.3145: Vim9: profile test fails without profile feature
Bram Moolenaar <Bram@vim.org>
parents:
25214
diff
changeset
|
4522 |
25214
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4523 profile start Xprofile.log |
25222
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4524 profile func ProfiledWithLambda |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4525 ProfiledWithLambda() |
25230
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4526 |
25222
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4527 profile func ProfiledNested |
fbb530e081ca
patch 8.2.3147: Vim9: profiling does not work with a nested function
Bram Moolenaar <Bram@vim.org>
parents:
25220
diff
changeset
|
4528 ProfiledNested() |
25230
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4529 |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4530 # Also profile the nested function. Use a different function, although the |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4531 # contents is the same, to make sure it was not already compiled. |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4532 profile func * |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4533 ProfiledNestedProfiled() |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4534 |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4535 profdel func * |
658dfd6be868
patch 8.2.3151: Vim9: profiling fails if nested function is also profiled
Bram Moolenaar <Bram@vim.org>
parents:
25222
diff
changeset
|
4536 profile pause |
25214
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4537 enddef |
218df177cff8
patch 8.2.3143: Vim9: wrong context if lambda called from profiled function
Bram Moolenaar <Bram@vim.org>
parents:
25202
diff
changeset
|
4538 |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4539 " Keep this last, it messes up highlighting. |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4540 def Test_substitute_cmd() |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4541 new |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4542 setline(1, 'something') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4543 :substitute(some(other( |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4544 assert_equal('otherthing', getline(1)) |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4545 bwipe! |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4546 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
4547 # also when the context is Vim9 script |
22415
1cefe1c013ac
patch 8.2.1756: Vim9: :let will soon be disallowed
Bram Moolenaar <Bram@vim.org>
parents:
22395
diff
changeset
|
4548 var lines =<< trim END |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4549 vim9script |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4550 new |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4551 setline(1, 'something') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4552 :substitute(some(other( |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4553 assert_equal('otherthing', getline(1)) |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4554 bwipe! |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4555 END |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4556 writefile(lines, 'Xvim9lines') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4557 source Xvim9lines |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4558 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4559 delete('Xvim9lines') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4560 enddef |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
4561 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4562 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |