Mercurial > vim
annotate src/testdir/test_vim9_script.vim @ 22127:9d3dfd420a45 v8.2.1613
patch 8.2.1613: Vim9: cannot pass "true" to prop_type_add()
Commit: https://github.com/vim/vim/commit/fa2e38df76b3e0919dc01dd1836257dce0ba62b1
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Sep 5 21:00:00 2020 +0200
patch 8.2.1613: Vim9: cannot pass "true" to prop_type_add()
Problem: Vim9: cannot pass "true" to prop_type_add().
Solution: Use tv_get_bool(). (closes https://github.com/vim/vim/issues/6850)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 05 Sep 2020 21:15:04 +0200 |
parents | ff21e2962490 |
children | d55008685870 |
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 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 def Test_syntax() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 let var = 234 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 let other: list<string> = ['asdf'] |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 |
21901
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
14 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
|
15 new |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
16 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
|
17 :/Blah/ |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
18 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
|
19 bwipe! |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
20 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
21 # 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
|
22 new |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
23 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
|
24 :2 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
25 print |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
26 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
|
27 :3 |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
28 list |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
29 assert_equal('three$', Screenline(&lines)) |
8350bdbdbb28
patch 8.2.1519: Vim9: Ex command default range is not set
Bram Moolenaar <Bram@vim.org>
parents:
21937
diff
changeset
|
30 bwipe! |
21901
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
31 enddef |
1ebcce655dd3
patch 8.2.1500: Vim9: error when using address without a command
Bram Moolenaar <Bram@vim.org>
parents:
21883
diff
changeset
|
32 |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
33 let s:appendToMe = 'xxx' |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
34 let s:addToMe = 111 |
19449
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
35 let g:existing = 'yes' |
19872
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
36 let g:inc_counter = 1 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
37 let $SOME_ENV_VAR = 'some' |
20419
d54dfb5f12db
patch 8.2.0764: Vim9: assigning to option not fully tested
Bram Moolenaar <Bram@vim.org>
parents:
20401
diff
changeset
|
38 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
|
39 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
|
40 let g:anumber = 123 |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
41 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 def Test_assignment() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 let bool1: bool = true |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 assert_equal(v:true, bool1) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 let bool2: bool = false |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 assert_equal(v:false, bool2) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
48 call CheckDefFailure(['let x:string'], 'E1069:') |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
49 call CheckDefFailure(['let x:string = "x"'], 'E1069:') |
20349
e29b2ec8d4d2
patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents:
20347
diff
changeset
|
50 call CheckDefFailure(['let a:string = "x"'], 'E1069:') |
21691
f41c646cb8b9
patch 8.2.1395: Vim9: no error if declaring a funcref with lower case letter
Bram Moolenaar <Bram@vim.org>
parents:
21689
diff
changeset
|
51 call CheckDefFailure(['let lambda = {-> "lambda"}'], 'E704:') |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
52 |
21443
66386ca8a69f
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
Bram Moolenaar <Bram@vim.org>
parents:
21435
diff
changeset
|
53 let nr: number = 1234 |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
54 call CheckDefFailure(['let nr: number = "asdf"'], 'E1012:') |
21443
66386ca8a69f
patch 8.2.1272: Vim9: type not checked if declaration also assigns value
Bram Moolenaar <Bram@vim.org>
parents:
21435
diff
changeset
|
55 |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
56 let a: number = 6 #comment |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
57 assert_equal(6, a) |
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
58 |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
59 if has('channel') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
60 let chan1: channel |
19564
06f29b6ea04a
patch 8.2.0339: Vim9: function return type may depend on arguments
Bram Moolenaar <Bram@vim.org>
parents:
19558
diff
changeset
|
61 let job1: job |
19572
6b6e97d0185e
patch 8.2.0343: Vim9: using wrong instruction, limited test coverage
Bram Moolenaar <Bram@vim.org>
parents:
19568
diff
changeset
|
62 let job2: job = job_start('willfail') |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
63 endif |
19564
06f29b6ea04a
patch 8.2.0339: Vim9: function return type may depend on arguments
Bram Moolenaar <Bram@vim.org>
parents:
19558
diff
changeset
|
64 if has('float') |
06f29b6ea04a
patch 8.2.0339: Vim9: function return type may depend on arguments
Bram Moolenaar <Bram@vim.org>
parents:
19558
diff
changeset
|
65 let float1: float = 3.4 |
06f29b6ea04a
patch 8.2.0339: Vim9: function return type may depend on arguments
Bram Moolenaar <Bram@vim.org>
parents:
19558
diff
changeset
|
66 endif |
19912
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
67 let Funky1: func |
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
68 let Funky2: func = function('len') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
69 let Party2: func = funcref('g:Test_syntax') |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
70 |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
71 g:newvar = 'new' #comment |
19449
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
72 assert_equal('new', g:newvar) |
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
73 |
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
74 assert_equal('yes', g:existing) |
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
75 g:existing = 'no' |
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
76 assert_equal('no', g:existing) |
f8408ba21982
patch 8.2.0282: Vim9: setting number option not tested
Bram Moolenaar <Bram@vim.org>
parents:
19445
diff
changeset
|
77 |
19283
9dc843109c97
patch 8.2.0200: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19281
diff
changeset
|
78 v:char = 'abc' |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
79 assert_equal('abc', v:char) |
19283
9dc843109c97
patch 8.2.0200: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19281
diff
changeset
|
80 |
9dc843109c97
patch 8.2.0200: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19281
diff
changeset
|
81 $ENVVAR = 'foobar' |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
82 assert_equal('foobar', $ENVVAR) |
19283
9dc843109c97
patch 8.2.0200: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19281
diff
changeset
|
83 $ENVVAR = '' |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
84 |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
85 let lines =<< trim END |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
86 vim9script |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
87 $ENVVAR = 'barfoo' |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
88 assert_equal('barfoo', $ENVVAR) |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
89 $ENVVAR = '' |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
90 END |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
91 call CheckScriptSuccess(lines) |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
92 |
19451
b26e96f7c12f
patch 8.2.0283: Vim9: failing to load script var not tested
Bram Moolenaar <Bram@vim.org>
parents:
19449
diff
changeset
|
93 s:appendToMe ..= 'yyy' |
b26e96f7c12f
patch 8.2.0283: Vim9: failing to load script var not tested
Bram Moolenaar <Bram@vim.org>
parents:
19449
diff
changeset
|
94 assert_equal('xxxyyy', s:appendToMe) |
b26e96f7c12f
patch 8.2.0283: Vim9: failing to load script var not tested
Bram Moolenaar <Bram@vim.org>
parents:
19449
diff
changeset
|
95 s:addToMe += 222 |
b26e96f7c12f
patch 8.2.0283: Vim9: failing to load script var not tested
Bram Moolenaar <Bram@vim.org>
parents:
19449
diff
changeset
|
96 assert_equal(333, s:addToMe) |
19455
655631882288
patch 8.2.0285: unused error message; cannot create s:var
Bram Moolenaar <Bram@vim.org>
parents:
19451
diff
changeset
|
97 s:newVar = 'new' |
655631882288
patch 8.2.0285: unused error message; cannot create s:var
Bram Moolenaar <Bram@vim.org>
parents:
19451
diff
changeset
|
98 assert_equal('new', s:newVar) |
19872
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
99 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
100 set ts=7 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
101 &ts += 1 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
102 assert_equal(8, &ts) |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
103 &ts -= 3 |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
104 assert_equal(5, &ts) |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
105 &ts *= 2 |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
106 assert_equal(10, &ts) |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
107 &ts /= 3 |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
108 assert_equal(3, &ts) |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
109 set ts=10 |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
110 &ts %= 4 |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
111 assert_equal(2, &ts) |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
112 |
21881
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
113 if has('float') |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
114 let f100: float = 100.0 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
115 f100 /= 5 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
116 assert_equal(20.0, f100) |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
117 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
118 let f200: float = 200.0 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
119 f200 /= 5.0 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
120 assert_equal(40.0, f200) |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
121 |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
122 CheckDefFailure(['let nr: number = 200', 'nr /= 5.0'], 'E1012:') |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
123 endif |
675bf9475fff
patch 8.2.1490: Vim9: using /= with float and number doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21839
diff
changeset
|
124 |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
125 lines =<< trim END |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
126 &ts = 6 |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
127 &ts += 3 |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
128 assert_equal(9, &ts) |
21937
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
129 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
130 &l:ts = 6 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
131 assert_equal(6, &ts) |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
132 &l:ts += 2 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
133 assert_equal(8, &ts) |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
134 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
135 &g:ts = 6 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
136 assert_equal(6, &g:ts) |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
137 &g:ts += 2 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
138 assert_equal(8, &g:ts) |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
139 END |
21937
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
140 CheckDefAndScriptSuccess(lines) |
21839
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
141 |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
142 CheckDefFailure(['¬ex += 3'], 'E113:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
143 CheckDefFailure(['&ts ..= "xxx"'], 'E1019:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
144 CheckDefFailure(['&ts = [7]'], 'E1012:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
145 CheckDefExecFailure(['&ts = g:alist'], 'E1029: Expected number but got list') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
146 CheckDefFailure(['&ts = "xx"'], 'E1012:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
147 CheckDefExecFailure(['&ts = g:astring'], 'E1029: Expected number but got string') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
148 CheckDefFailure(['&path += 3'], 'E1012:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
149 CheckDefExecFailure(['&bs = "asdf"'], 'E474:') |
20055
686deb5959c2
patch 8.2.0583: Vim9: # comment not recognized in :def function
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
150 # test freeing ISN_STOREOPT |
21839
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
151 CheckDefFailure(['&ts = 3', 'let asdf'], 'E1022:') |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
152 &ts = 8 |
19872
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
153 |
21839
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
154 lines =<< trim END |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
155 let save_TI = &t_TI |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
156 &t_TI = '' |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
157 assert_equal('', &t_TI) |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
158 &t_TI = 'xxx' |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
159 assert_equal('xxx', &t_TI) |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
160 &t_TI = save_TI |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
161 END |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
162 CheckDefSuccess(lines) |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
163 CheckScriptSuccess(['vim9script'] + lines) |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
164 |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
165 CheckDefFailure(['&t_TI = 123'], 'E1012:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
166 CheckScriptFailure(['vim9script', '&t_TI = 123'], 'E928:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
167 |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
168 CheckDefFailure(['let s:var = 123'], 'E1101:') |
c7699985db00
patch 8.2.1469: Vim9: cannot assign string to string option
Bram Moolenaar <Bram@vim.org>
parents:
21835
diff
changeset
|
169 CheckDefFailure(['let s:var: number'], 'E1101:') |
21540
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
170 |
21646
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
171 lines =<< trim END |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
172 vim9script |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
173 def SomeFunc() |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
174 s:var = 123 |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
175 enddef |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
176 defcompile |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
177 END |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
178 call CheckScriptFailure(lines, 'E1089:') |
a640bc762196
patch 8.2.1373: Vim9: no error for assigning to non-existing script var
Bram Moolenaar <Bram@vim.org>
parents:
21618
diff
changeset
|
179 |
19872
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
180 g:inc_counter += 1 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
181 assert_equal(2, g:inc_counter) |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
182 |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
183 $SOME_ENV_VAR ..= 'more' |
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
184 assert_equal('somemore', $SOME_ENV_VAR) |
21677
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
185 call CheckDefFailure(['$SOME_ENV_VAR += "more"'], 'E1051:') |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
186 call CheckDefFailure(['$SOME_ENV_VAR += 123'], 'E1012:') |
19872
8a7bede7b138
patch 8.2.0492: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19862
diff
changeset
|
187 |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
188 lines =<< trim END |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
189 @c = 'areg' |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
190 @c ..= 'add' |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
191 assert_equal('aregadd', @c) |
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
192 END |
21937
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
193 CheckDefAndScriptSuccess(lines) |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
194 |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
195 call CheckDefFailure(['@a += "more"'], 'E1051:') |
b931df03adcc
patch 8.2.1518: Vim9: cannot assign to local option
Bram Moolenaar <Bram@vim.org>
parents:
21933
diff
changeset
|
196 call CheckDefFailure(['@a += 123'], 'E1012:') |
21526
a7afee13873d
patch 8.2.1313: Vim9 script: cannot assign to environment variable
Bram Moolenaar <Bram@vim.org>
parents:
21516
diff
changeset
|
197 |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
198 v:errmsg = 'none' |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
199 v:errmsg ..= 'again' |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
200 assert_equal('noneagain', v:errmsg) |
21677
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
201 call CheckDefFailure(['v:errmsg += "more"'], 'E1051:') |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
202 call CheckDefFailure(['v:errmsg += 123'], 'E1012:') |
21540
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
203 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
204 # single letter variables |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
205 a = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
206 assert_equal(123, a) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
207 let b: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
208 b = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
209 assert_equal(123, b) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
210 let g: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
211 g = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
212 assert_equal(123, g) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
213 let s: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
214 s = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
215 assert_equal(123, s) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
216 let t: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
217 t = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
218 assert_equal(123, t) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
219 let v: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
220 v = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
221 assert_equal(123, v) |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
222 let w: number |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
223 w = 123 |
8e278698b1fe
patch 8.2.1320: Vim9: cannot declare some single letter variables
Bram Moolenaar <Bram@vim.org>
parents:
21528
diff
changeset
|
224 assert_equal(123, w) |
19912
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
225 enddef |
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
226 |
20921
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
227 def Test_vim9_single_char_vars() |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
228 let lines =<< trim END |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
229 vim9script |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
230 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
231 # single character variable declarations work |
20921
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
232 let a: string |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
233 let b: number |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
234 let l: list<any> |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
235 let s: string |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
236 let t: number |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
237 let v: number |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
238 let w: number |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
239 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
240 # script-local variables can be used without s: prefix |
20921
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
241 a = 'script-a' |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
242 b = 111 |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
243 l = [1, 2, 3] |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
244 s = 'script-s' |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
245 t = 222 |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
246 v = 333 |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
247 w = 444 |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
248 |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
249 assert_equal('script-a', a) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
250 assert_equal(111, b) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
251 assert_equal([1, 2, 3], l) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
252 assert_equal('script-s', s) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
253 assert_equal(222, t) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
254 assert_equal(333, v) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
255 assert_equal(444, w) |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
256 END |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
257 writefile(lines, 'Xsinglechar') |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
258 source Xsinglechar |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
259 delete('Xsinglechar') |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
260 enddef |
187c3fb42c8f
patch 8.2.1012: Vim9: cannot declare single character script variables
Bram Moolenaar <Bram@vim.org>
parents:
20919
diff
changeset
|
261 |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
262 def Test_assignment_list() |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
263 let list1: list<bool> = [false, true, false] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
264 let list2: list<number> = [1, 2, 3] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
265 let list3: list<string> = ['sdf', 'asdf'] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
266 let list4: list<any> = ['yes', true, 1234] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
267 let list5: list<blob> = [0z01, 0z02] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
268 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
269 let listS: list<string> = [] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
270 let listN: list<number> = [] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
271 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
272 assert_equal([1, 2, 3], list2) |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
273 list2[-1] = 99 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
274 assert_equal([1, 2, 99], list2) |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
275 list2[-2] = 88 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
276 assert_equal([1, 88, 99], list2) |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
277 list2[-3] = 77 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
278 assert_equal([77, 88, 99], list2) |
21677
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
279 list2 += [100] |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
280 assert_equal([77, 88, 99, 100], list2) |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
281 |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
282 list3 += ['end'] |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
283 assert_equal(['sdf', 'asdf', 'end'], list3) |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
284 |
84d38f98e5de
patch 8.2.1388: Vim9: += only works for numbers
Bram Moolenaar <Bram@vim.org>
parents:
21674
diff
changeset
|
285 |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
286 call CheckDefExecFailure(['let ll = [1, 2, 3]', 'll[-4] = 6'], 'E684:') |
20915
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
287 call CheckDefExecFailure(['let [v1, v2] = [1, 2]'], 'E1092:') |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
288 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
289 # type becomes list<any> |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
290 let somelist = rand() > 0 ? [1, 2, 3] : ['a', 'b', 'c'] |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
291 enddef |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
292 |
21413
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
293 def Test_assignment_list_vim9script() |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
294 let lines =<< trim END |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
295 vim9script |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
296 let v1: number |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
297 let v2: number |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
298 let v3: number |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
299 [v1, v2, v3] = [1, 2, 3] |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
300 assert_equal([1, 2, 3], [v1, v2, v3]) |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
301 END |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
302 call CheckScriptSuccess(lines) |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
303 enddef |
8992d4f63761
patch 8.2.1257: Vim9: list unpack doesn't work at the script level
Bram Moolenaar <Bram@vim.org>
parents:
21391
diff
changeset
|
304 |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
305 def Test_assignment_dict() |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
306 let dict1: dict<bool> = #{one: false, two: true} |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
307 let dict2: dict<number> = #{one: 1, two: 2} |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
308 let dict3: dict<string> = #{key: 'value'} |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
309 let dict4: dict<any> = #{one: 1, two: '2'} |
20504
7fb80f486aad
patch 8.2.0806: using "func!" after vim9script gives confusing error
Bram Moolenaar <Bram@vim.org>
parents:
20472
diff
changeset
|
310 let dict5: dict<blob> = #{one: 0z01, two: 0z02} |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
311 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
312 # overwrite |
20919
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
313 dict3['key'] = 'another' |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
314 |
21574
b8b15e8cbf5f
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Bram Moolenaar <Bram@vim.org>
parents:
21548
diff
changeset
|
315 # empty key can be used |
b8b15e8cbf5f
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Bram Moolenaar <Bram@vim.org>
parents:
21548
diff
changeset
|
316 let dd = {} |
b8b15e8cbf5f
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Bram Moolenaar <Bram@vim.org>
parents:
21548
diff
changeset
|
317 dd[""] = 6 |
b8b15e8cbf5f
patch 8.2.1337: Vim9: cannot use empty key in dict assignment
Bram Moolenaar <Bram@vim.org>
parents:
21548
diff
changeset
|
318 assert_equal({'': 6}, dd) |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
319 |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
320 # type becomes dict<any> |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
321 let somedict = rand() > 0 ? #{a: 1, b: 2} : #{a: 'a', b: 'b'} |
21576
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
322 |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
323 # assignment to script-local dict |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
324 let lines =<< trim END |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
325 vim9script |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
326 let test: dict<any> = {} |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
327 def FillDict(): dict<any> |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
328 test['a'] = 43 |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
329 return test |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
330 enddef |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
331 assert_equal(#{a: 43}, FillDict()) |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
332 END |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
333 call CheckScriptSuccess(lines) |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
334 |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
335 lines =<< trim END |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
336 vim9script |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
337 let test: dict<any> |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
338 def FillDict(): dict<any> |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
339 test['a'] = 43 |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
340 return test |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
341 enddef |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
342 FillDict() |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
343 END |
f4252efe370e
patch 8.2.1338: Vim9: assigning to script-local variable doesn't check type
Bram Moolenaar <Bram@vim.org>
parents:
21574
diff
changeset
|
344 call CheckScriptFailure(lines, 'E1103:') |
21578
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
345 |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
346 # assignment to global dict |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
347 lines =<< trim END |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
348 vim9script |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
349 g:test = {} |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
350 def FillDict(): dict<any> |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
351 g:test['a'] = 43 |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
352 return g:test |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
353 enddef |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
354 assert_equal(#{a: 43}, FillDict()) |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
355 END |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
356 call CheckScriptSuccess(lines) |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
357 |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
358 # assignment to buffer dict |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
359 lines =<< trim END |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
360 vim9script |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
361 b:test = {} |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
362 def FillDict(): dict<any> |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
363 b:test['a'] = 43 |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
364 return b:test |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
365 enddef |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
366 assert_equal(#{a: 43}, FillDict()) |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
367 END |
7417cb54cb24
patch 8.2.1339: Vim9: assigning to global dict variable doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21576
diff
changeset
|
368 call CheckScriptSuccess(lines) |
20472
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
369 enddef |
1338b4dcb885
patch 8.2.0790: Vim9: list index not well tested
Bram Moolenaar <Bram@vim.org>
parents:
20435
diff
changeset
|
370 |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
371 def Test_assignment_local() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
372 # Test in a separated file in order not to the current buffer/window/tab is |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
373 # changed. |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
374 let script_lines: list<string> =<< trim END |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
375 let b:existing = 'yes' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
376 let w:existing = 'yes' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
377 let t:existing = 'yes' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
378 |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
379 def Test_assignment_local_internal() |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
380 b:newvar = 'new' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
381 assert_equal('new', b:newvar) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
382 assert_equal('yes', b:existing) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
383 b:existing = 'no' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
384 assert_equal('no', b:existing) |
20338
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
385 b:existing ..= 'NO' |
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
386 assert_equal('noNO', b:existing) |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
387 |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
388 w:newvar = 'new' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
389 assert_equal('new', w:newvar) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
390 assert_equal('yes', w:existing) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
391 w:existing = 'no' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
392 assert_equal('no', w:existing) |
20338
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
393 w:existing ..= 'NO' |
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
394 assert_equal('noNO', w:existing) |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
395 |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
396 t:newvar = 'new' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
397 assert_equal('new', t:newvar) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
398 assert_equal('yes', t:existing) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
399 t:existing = 'no' |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
400 assert_equal('no', t:existing) |
20338
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
401 t:existing ..= 'NO' |
ff4ae3f09307
patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Bram Moolenaar <Bram@vim.org>
parents:
20301
diff
changeset
|
402 assert_equal('noNO', t:existing) |
20089
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
403 enddef |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
404 call Test_assignment_local_internal() |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
405 END |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
406 call CheckScriptSuccess(script_lines) |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
407 enddef |
7fc5d62fe2a5
patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Bram Moolenaar <Bram@vim.org>
parents:
20079
diff
changeset
|
408 |
19912
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
409 def Test_assignment_default() |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
410 |
20055
686deb5959c2
patch 8.2.0583: Vim9: # comment not recognized in :def function
Bram Moolenaar <Bram@vim.org>
parents:
20029
diff
changeset
|
411 # Test default values. |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
412 let thebool: bool |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
413 assert_equal(v:false, thebool) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
414 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
415 let thenumber: number |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
416 assert_equal(0, thenumber) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
417 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
418 if has('float') |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
419 let thefloat: float |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
420 assert_equal(0.0, thefloat) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
421 endif |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
422 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
423 let thestring: string |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
424 assert_equal('', thestring) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
425 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
426 let theblob: blob |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
427 assert_equal(0z, theblob) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
428 |
19912
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
429 let Thefunc: func |
d4fa9db88d16
patch 8.2.0512: Vim9: no optional arguments in func type
Bram Moolenaar <Bram@vim.org>
parents:
19904
diff
changeset
|
430 assert_equal(test_null_function(), Thefunc) |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
431 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
432 let thelist: list<any> |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
433 assert_equal([], thelist) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
434 |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
435 let thedict: dict<any> |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
436 assert_equal({}, thedict) |
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
437 |
19890
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
438 if has('channel') |
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
439 let thejob: job |
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
440 assert_equal(test_null_job(), thejob) |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
441 |
19890
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
442 let thechannel: channel |
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
443 assert_equal(test_null_channel(), thechannel) |
20919
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
444 |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
445 if has('unix') && executable('cat') |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
446 # check with non-null job and channel, types must match |
20919
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
447 thejob = job_start("cat ", #{}) |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
448 thechannel = job_getchannel(thejob) |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
449 job_stop(thejob, 'kill') |
96bf2b304932
patch 8.2.1011: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
20915
diff
changeset
|
450 endif |
19890
2b117844f784
patch 8.2.0501: Vim9: script test fails when channel feature is missing
Bram Moolenaar <Bram@vim.org>
parents:
19878
diff
changeset
|
451 endif |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
452 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
453 let nr = 1234 | nr = 5678 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
454 assert_equal(5678, nr) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
455 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
456 |
20859
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
457 def Test_assignment_var_list() |
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
458 let v1: string |
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
459 let v2: string |
20871
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
460 let vrem: list<string> |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
461 [v1] = ['aaa'] |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
462 assert_equal('aaa', v1) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
463 |
20859
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
464 [v1, v2] = ['one', 'two'] |
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
465 assert_equal('one', v1) |
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
466 assert_equal('two', v2) |
20871
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
467 |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
468 [v1, v2; vrem] = ['one', 'two'] |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
469 assert_equal('one', v1) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
470 assert_equal('two', v2) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
471 assert_equal([], vrem) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
472 |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
473 [v1, v2; vrem] = ['one', 'two', 'three'] |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
474 assert_equal('one', v1) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
475 assert_equal('two', v2) |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
476 assert_equal(['three'], vrem) |
21681
877321650f7f
patch 8.2.1390: Vim9: type error after storing an option value
Bram Moolenaar <Bram@vim.org>
parents:
21677
diff
changeset
|
477 |
877321650f7f
patch 8.2.1390: Vim9: type error after storing an option value
Bram Moolenaar <Bram@vim.org>
parents:
21677
diff
changeset
|
478 [&ts, &sw] = [3, 4] |
877321650f7f
patch 8.2.1390: Vim9: type error after storing an option value
Bram Moolenaar <Bram@vim.org>
parents:
21677
diff
changeset
|
479 assert_equal(3, &ts) |
877321650f7f
patch 8.2.1390: Vim9: type error after storing an option value
Bram Moolenaar <Bram@vim.org>
parents:
21677
diff
changeset
|
480 assert_equal(4, &sw) |
877321650f7f
patch 8.2.1390: Vim9: type error after storing an option value
Bram Moolenaar <Bram@vim.org>
parents:
21677
diff
changeset
|
481 set ts=8 sw=4 |
20859
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
482 enddef |
876e16c48bd1
patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Bram Moolenaar <Bram@vim.org>
parents:
20846
diff
changeset
|
483 |
21548
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
484 def Test_assignment_vim9script() |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
485 let lines =<< trim END |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
486 vim9script |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
487 def Func(): list<number> |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
488 return [1, 2] |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
489 enddef |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
490 let var1: number |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
491 let var2: number |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
492 [var1, var2] = |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
493 Func() |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
494 assert_equal(1, var1) |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
495 assert_equal(2, var2) |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
496 let ll = |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
497 Func() |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
498 assert_equal([1, 2], ll) |
21618
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
499 |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
500 @/ = 'text' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
501 assert_equal('text', @/) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
502 @0 = 'zero' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
503 assert_equal('zero', @0) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
504 @1 = 'one' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
505 assert_equal('one', @1) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
506 @9 = 'nine' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
507 assert_equal('nine', @9) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
508 @- = 'minus' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
509 assert_equal('minus', @-) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
510 if has('clipboard_working') |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
511 @* = 'star' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
512 assert_equal('star', @*) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
513 @+ = 'plus' |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
514 assert_equal('plus', @+) |
9ab43576a13b
patch 8.2.1359: Vim9: cannot assign to / register in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
21616
diff
changeset
|
515 endif |
21674
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
516 |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
517 let a: number = 123 |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
518 assert_equal(123, a) |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
519 let s: string = 'yes' |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
520 assert_equal('yes', s) |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
521 let b: number = 42 |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
522 assert_equal(42, b) |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
523 let w: number = 43 |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
524 assert_equal(43, w) |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
525 let t: number = 44 |
f303d6a01a3e
patch 8.2.1387: Vim9: cannot assign to single letter variable with type
Bram Moolenaar <Bram@vim.org>
parents:
21664
diff
changeset
|
526 assert_equal(44, t) |
21548
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
527 END |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
528 CheckScriptSuccess(lines) |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
529 enddef |
4e679db1c404
patch 8.2.1324: Vim9: line break after "=" does not work
Bram Moolenaar <Bram@vim.org>
parents:
21540
diff
changeset
|
530 |
19962
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
531 def Mess(): string |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
532 v:foldstart = 123 |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
533 return 'xxx' |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
534 enddef |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
535 |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
536 def Test_assignment_failure() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
537 call CheckDefFailure(['let var=234'], 'E1004:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
538 call CheckDefFailure(['let var =234'], 'E1004:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
539 call CheckDefFailure(['let var= 234'], 'E1004:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
540 |
21447
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
541 call CheckScriptFailure(['vim9script', 'let var=234'], 'E1004:') |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
542 call CheckScriptFailure(['vim9script', 'let var=234'], "before and after '='") |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
543 call CheckScriptFailure(['vim9script', 'let var =234'], 'E1004:') |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
544 call CheckScriptFailure(['vim9script', 'let var= 234'], 'E1004:') |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
545 call CheckScriptFailure(['vim9script', 'let var = 234', 'var+=234'], 'E1004:') |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
546 call CheckScriptFailure(['vim9script', 'let var = 234', 'var+=234'], "before and after '+='") |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
547 call CheckScriptFailure(['vim9script', 'let var = "x"', 'var..="y"'], 'E1004:') |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
548 call CheckScriptFailure(['vim9script', 'let var = "x"', 'var..="y"'], "before and after '..='") |
369cde0d5771
patch 8.2.1274: Vim9: no error for missing white space at script level
Bram Moolenaar <Bram@vim.org>
parents:
21443
diff
changeset
|
549 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
550 call CheckDefFailure(['let true = 1'], 'E1034:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
551 call CheckDefFailure(['let false = 1'], 'E1034:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
552 |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21216
diff
changeset
|
553 call CheckDefFailure(['[a; b; c] = g:list'], 'E452:') |
20871
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
554 call CheckDefExecFailure(['let a: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
555 '[a] = test_null_list()'], 'E1093:') |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
556 call CheckDefExecFailure(['let a: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
557 '[a] = []'], 'E1093:') |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
558 call CheckDefExecFailure(['let x: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
559 'let y: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
560 '[x, y] = [1]'], 'E1093:') |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
561 call CheckDefExecFailure(['let x: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
562 'let y: number', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
563 'let z: list<number>', |
65d9189d4dca
patch 8.2.0987: Vim9: cannot assign to [var; var]
Bram Moolenaar <Bram@vim.org>
parents:
20859
diff
changeset
|
564 '[x, y; z] = [1]'], 'E1093:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
565 |
19874
f92435f0f449
patch 8.2.0493: Vim9: some error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19872
diff
changeset
|
566 call CheckDefFailure(['let somevar'], "E1022:") |
21610
586241ee8096
patch 8.2.1355: Vim9: no error using :let for options and registers
Bram Moolenaar <Bram@vim.org>
parents:
21600
diff
changeset
|
567 call CheckDefFailure(['let &tabstop = 4'], 'E1052:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
568 call CheckDefFailure(['&g:option = 5'], 'E113:') |
21610
586241ee8096
patch 8.2.1355: Vim9: no error using :let for options and registers
Bram Moolenaar <Bram@vim.org>
parents:
21600
diff
changeset
|
569 call CheckScriptFailure(['vim9script', 'let &tabstop = 4'], 'E1052:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
570 |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
571 call CheckDefFailure(['let $VAR = 5'], 'E1016: Cannot declare an environment variable:') |
21610
586241ee8096
patch 8.2.1355: Vim9: no error using :let for options and registers
Bram Moolenaar <Bram@vim.org>
parents:
21600
diff
changeset
|
572 call CheckScriptFailure(['vim9script', 'let $ENV = "xxx"'], 'E1016:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
573 |
21616
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
574 if has('dnd') |
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
575 call CheckDefFailure(['let @~ = 5'], 'E1066:') |
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
576 else |
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
577 call CheckDefFailure(['let @~ = 5'], 'E354:') |
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
578 call CheckDefFailure(['@~ = 5'], 'E354:') |
6af96a5f09f0
patch 8.2.1358: Vim9: test fails with +dnd is not available
Bram Moolenaar <Bram@vim.org>
parents:
21614
diff
changeset
|
579 endif |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
580 call CheckDefFailure(['let @a = 5'], 'E1066:') |
21614
d0128ecd4341
patch 8.2.1357: Vim9: cannot assign to / register
Bram Moolenaar <Bram@vim.org>
parents:
21610
diff
changeset
|
581 call CheckDefFailure(['let @/ = "x"'], 'E1066:') |
21610
586241ee8096
patch 8.2.1355: Vim9: no error using :let for options and registers
Bram Moolenaar <Bram@vim.org>
parents:
21600
diff
changeset
|
582 call CheckScriptFailure(['vim9script', 'let @a = "abc"'], 'E1066:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
583 |
20953
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
584 call CheckDefFailure(['let g:var = 5'], '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
|
585 call CheckDefFailure(['let w:var = 5'], '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
|
586 call CheckDefFailure(['let b:var = 5'], '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
|
587 call CheckDefFailure(['let t:var = 5'], 'E1016: Cannot declare a tab variable:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
588 |
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
589 call CheckDefFailure(['let anr = 4', 'anr ..= "text"'], 'E1019:') |
21905
2474c6b0c5de
patch 8.2.1502: Vim9: can use += with a :let command at script level
Bram Moolenaar <Bram@vim.org>
parents:
21901
diff
changeset
|
590 call CheckDefFailure(['let xnr += 4'], 'E1020:', 1) |
2474c6b0c5de
patch 8.2.1502: Vim9: can use += with a :let command at script level
Bram Moolenaar <Bram@vim.org>
parents:
21901
diff
changeset
|
591 call CheckScriptFailure(['vim9script', 'let xnr += 4'], 'E1020:') |
2474c6b0c5de
patch 8.2.1502: Vim9: can use += with a :let command at script level
Bram Moolenaar <Bram@vim.org>
parents:
21901
diff
changeset
|
592 call CheckDefFailure(["let xnr = xnr + 1"], 'E1001:', 1) |
2474c6b0c5de
patch 8.2.1502: Vim9: can use += with a :let command at script level
Bram Moolenaar <Bram@vim.org>
parents:
21901
diff
changeset
|
593 call CheckScriptFailure(['vim9script', 'let xnr = xnr + 4'], 'E121:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
594 |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
595 call CheckScriptFailure(['vim9script', 'def Func()', 'let dummy = s:notfound', 'enddef', 'defcompile'], 'E1108:') |
19822
fc3cdc819d80
patch 8.2.0467: Vim9: some errors are not tested
Bram Moolenaar <Bram@vim.org>
parents:
19818
diff
changeset
|
596 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
597 call CheckDefFailure(['let var: list<string> = [123]'], 'expected list<string> but got list<number>') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
598 call CheckDefFailure(['let var: list<number> = ["xx"]'], 'expected list<number> but got list<string>') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
599 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
600 call CheckDefFailure(['let var: dict<string> = #{key: 123}'], 'expected dict<string> but got dict<number>') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
601 call CheckDefFailure(['let var: dict<number> = #{key: "xx"}'], 'expected dict<number> but got dict<string>') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
602 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
603 call CheckDefFailure(['let var = feedkeys("0")'], 'E1031:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
604 call CheckDefFailure(['let var: number = feedkeys("0")'], 'expected number but got void') |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
605 |
19904
bd4f91762d0f
patch 8.2.0508: Vim9: func and partial types not done yet
Bram Moolenaar <Bram@vim.org>
parents:
19894
diff
changeset
|
606 call CheckDefFailure(['let var: dict <number>'], 'E1068:') |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
607 call CheckDefFailure(['let var: dict<number'], 'E1009:') |
19962
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
608 |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
609 call assert_fails('s/^/\=Mess()/n', 'E794:') |
12fa79cac39b
patch 8.2.0537: Vim9: no check for sandbox when setting v:var
Bram Moolenaar <Bram@vim.org>
parents:
19932
diff
changeset
|
610 call CheckDefFailure(['let var: dict<number'], 'E1009:') |
21471
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
611 |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
612 call CheckDefFailure(['w:foo: number = 10'], |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
613 'E488: Trailing characters: : number = 1') |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
614 call CheckDefFailure(['t:foo: bool = true'], |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
615 'E488: Trailing characters: : bool = true') |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
616 call CheckDefFailure(['b:foo: string = "x"'], |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
617 'E488: Trailing characters: : string = "x"') |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
618 call CheckDefFailure(['g:foo: number = 123'], |
126dcb0411ed
patch 8.2.1286: Vim9: No error when using a type to a window variable
Bram Moolenaar <Bram@vim.org>
parents:
21447
diff
changeset
|
619 'E488: Trailing characters: : number = 123') |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
620 enddef |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
621 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
622 def Test_unlet() |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
623 g:somevar = 'yes' |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
624 assert_true(exists('g:somevar')) |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
625 unlet g:somevar |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
626 assert_false(exists('g:somevar')) |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
627 unlet! g:somevar |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
628 |
21931
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
629 # also works for script-local variable in legacy Vim script |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
630 s:somevar = 'legacy' |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
631 assert_true(exists('s:somevar')) |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
632 unlet s:somevar |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
633 assert_false(exists('s:somevar')) |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
634 unlet! s:somevar |
8e09827f8bac
patch 8.2.1515: Vim9: can create s:var in legacy script but cannot unlet
Bram Moolenaar <Bram@vim.org>
parents:
21907
diff
changeset
|
635 |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
636 call CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
637 'vim9script', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
638 'let svar = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
639 'unlet svar', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
640 ], 'E1081:') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
641 call CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
642 'vim9script', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
643 'let svar = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
644 'unlet s:svar', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
645 ], 'E1081:') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
646 call CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
647 'vim9script', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
648 'let svar = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
649 'def Func()', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
650 ' unlet svar', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
651 '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
|
652 'defcompile', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
653 ], 'E1081:') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
654 call CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
655 'vim9script', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
656 'let svar = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
657 'def Func()', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
658 ' unlet s:svar', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
659 '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
|
660 'defcompile', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
661 ], 'E1081:') |
20099
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
662 |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
663 $ENVVAR = 'foobar' |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
664 assert_equal('foobar', $ENVVAR) |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
665 unlet $ENVVAR |
058b41f85bcb
patch 8.2.0605: Vim9: cannot unlet an environment variable
Bram Moolenaar <Bram@vim.org>
parents:
20091
diff
changeset
|
666 assert_equal('', $ENVVAR) |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
667 enddef |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
668 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
669 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
|
670 # 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
|
671 CheckScriptSuccess([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
672 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
673 'func CheckMe()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
674 ' return 123', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
675 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
676 '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
|
677 ]) |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
678 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
679 # 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
|
680 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
681 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
682 'func DeleteMe1()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
683 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
684 'delfunction DeleteMe1', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
685 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
686 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
687 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
688 'func DeleteMe2()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
689 'endfunc', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
690 'def DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
691 ' delfunction DeleteMe2', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
692 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
693 'DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
694 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
695 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
696 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
697 'def DeleteMe3()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
698 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
699 'delfunction DeleteMe3', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
700 ], 'E1084:') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
701 CheckScriptFailure([ |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
702 'vim9script', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
703 'def DeleteMe4()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
704 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
705 'def DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
706 ' delfunction DeleteMe4', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
707 'enddef', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
708 'DoThat()', |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
709 ], 'E1084:') |
21479
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
710 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
711 # Check that global :def function can be replaced and deleted |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
712 let lines =<< trim END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
713 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
714 def g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
715 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
716 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
717 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
|
718 def! g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
719 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
720 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
721 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
|
722 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
723 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
|
724 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
725 CheckScriptSuccess(lines) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
726 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
727 # 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
|
728 lines =<< trim END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
729 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
730 func g:Global() |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
731 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
732 endfunc |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
733 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
|
734 def! g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
735 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
736 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
737 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
|
738 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
739 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
|
740 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
741 CheckScriptSuccess(lines) |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
742 |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
743 # 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
|
744 lines =<< trim END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
745 vim9script |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
746 def g:Global(): string |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
747 return "yes" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
748 enddef |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
749 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
|
750 func! g:Global() |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
751 return "no" |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
752 endfunc |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
753 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
|
754 delfunc g:Global |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
755 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
|
756 END |
90d859a402cc
patch 8.2.1290: Vim9: cannot replace a global function
Bram Moolenaar <Bram@vim.org>
parents:
21473
diff
changeset
|
757 CheckScriptSuccess(lines) |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
758 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
759 |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
760 func Test_wrong_type() |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
761 call CheckDefFailure(['let var: list<nothing>'], 'E1010:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
762 call CheckDefFailure(['let var: list<list<nothing>>'], 'E1010:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
763 call CheckDefFailure(['let var: dict<nothing>'], 'E1010:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
764 call CheckDefFailure(['let var: dict<dict<nothing>>'], 'E1010:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
765 |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
766 call CheckDefFailure(['let var: dict<number'], 'E1009:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
767 call CheckDefFailure(['let var: dict<list<number>'], 'E1009:') |
19558
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
768 |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
769 call CheckDefFailure(['let var: ally'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
770 call CheckDefFailure(['let var: bram'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
771 call CheckDefFailure(['let var: cathy'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
772 call CheckDefFailure(['let var: dom'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
773 call CheckDefFailure(['let var: freddy'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
774 call CheckDefFailure(['let var: john'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
775 call CheckDefFailure(['let var: larry'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
776 call CheckDefFailure(['let var: ned'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
777 call CheckDefFailure(['let var: pam'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
778 call CheckDefFailure(['let var: sam'], 'E1010:') |
8eeec8886c02
patch 8.2.0336: Vim9: insufficient test coverage for compiling
Bram Moolenaar <Bram@vim.org>
parents:
19532
diff
changeset
|
779 call CheckDefFailure(['let var: vim'], 'E1010:') |
20203
5a397db2c1ed
patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Bram Moolenaar <Bram@vim.org>
parents:
20195
diff
changeset
|
780 |
5a397db2c1ed
patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Bram Moolenaar <Bram@vim.org>
parents:
20195
diff
changeset
|
781 call CheckDefFailure(['let Ref: number', 'Ref()'], 'E1085:') |
5a397db2c1ed
patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Bram Moolenaar <Bram@vim.org>
parents:
20195
diff
changeset
|
782 call CheckDefFailure(['let Ref: string', 'let res = Ref()'], 'E1085:') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
783 endfunc |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
784 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
785 func Test_const() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
786 call CheckDefFailure(['const var = 234', 'var = 99'], 'E1018:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
787 call CheckDefFailure(['const one = 234', 'let one = 99'], 'E1017:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
788 call CheckDefFailure(['const two'], 'E1021:') |
19860
37c4779ca8f5
patch 8.2.0486: Vim9: some code and error messages not tested
Bram Moolenaar <Bram@vim.org>
parents:
19822
diff
changeset
|
789 call CheckDefFailure(['const &option'], 'E996:') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
790 endfunc |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
791 |
20982
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
792 def Test_range_no_colon() |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
793 call CheckDefFailure(['%s/a/b/'], 'E1050:') |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
794 call CheckDefFailure(['+ s/a/b/'], 'E1050:') |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
795 call CheckDefFailure(['- s/a/b/'], 'E1050:') |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
796 call CheckDefFailure(['. s/a/b/'], 'E1050:') |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
797 enddef |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
798 |
bb49b5090a9c
patch 8.2.1042: Vim9: cannot put an operator on the next line
Bram Moolenaar <Bram@vim.org>
parents:
20953
diff
changeset
|
799 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
800 def Test_block() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
801 let outer = 1 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
802 { |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
803 let inner = 2 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
804 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
|
805 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
|
806 } |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
807 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
|
808 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
809 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
810 func Test_block_failure() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
811 call CheckDefFailure(['{', 'let inner = 1', '}', 'echo inner'], 'E1001:') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
812 call CheckDefFailure(['}'], 'E1025:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
813 call CheckDefFailure(['{', 'echo 1'], 'E1026:') |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
814 endfunc |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
815 |
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
|
816 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
|
817 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
|
818 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
|
819 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
820 def Test_try_catch() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
821 let l = [] |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
822 try # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
823 add(l, '1') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
824 throw 'wrong' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
825 add(l, '2') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
826 catch # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
827 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
|
828 finally # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
829 add(l, '3') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
830 endtry # comment |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
831 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
|
832 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
833 l = [] |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
834 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
835 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
836 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
|
837 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
|
838 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
|
839 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
|
840 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
|
841 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
842 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
|
843 add(l, 'caught') |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
844 finally |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
845 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
|
846 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
847 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
|
848 |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
849 let n: number |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
850 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
851 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
|
852 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
|
853 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
|
854 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
855 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
|
856 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
857 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
|
858 # 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
|
859 n = g:astring[3] |
21831
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
860 catch /E1029:/ |
21359
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
861 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
|
862 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
863 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
|
864 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
865 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
866 n = l[g:astring] |
21831
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
867 catch /E1029:/ |
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
868 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
|
869 endtry |
21831
d8422de73113
patch 8.2.1465: Vim9: subscript not handled properly
Bram Moolenaar <Bram@vim.org>
parents:
21821
diff
changeset
|
870 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
|
871 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
872 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
873 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
|
874 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
|
875 n = 111 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
876 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
877 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
|
878 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
879 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
880 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
|
881 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
|
882 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
|
883 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
884 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
|
885 |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
886 let d = #{one: 1} |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
887 try |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
888 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
|
889 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
|
890 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
|
891 endtry |
e3711ce8133b
patch 8.2.1230: Vim9: list index error not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21353
diff
changeset
|
892 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
|
893 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
894 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
895 n = -g:astring |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
896 catch /E39:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
897 n = 233 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
898 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
899 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
|
900 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
901 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
902 n = +g:astring |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
903 catch /E1030:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
904 n = 244 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
905 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
906 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
|
907 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
908 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
909 n = +g:alist |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
910 catch /E745:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
911 n = 255 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
912 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
913 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
|
914 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
915 let nd: dict<any> |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
916 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
917 nd = {g:anumber: 1} |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
918 catch /E1029:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
919 n = 266 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
920 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
921 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
|
922 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
923 try |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
924 [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
|
925 catch /E1093:/ |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
926 n = 277 |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
927 endtry |
fca850f4d603
patch 8.2.1233: Vim9: various errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21359
diff
changeset
|
928 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
|
929 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
930 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
931 &ts = g:astring |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
932 catch /E1029:/ |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
933 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
|
934 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
935 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
|
936 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
937 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
938 &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
|
939 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
|
940 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
|
941 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
942 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
|
943 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
944 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
|
945 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
946 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
|
947 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
|
948 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
|
949 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
950 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
|
951 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
952 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
953 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
|
954 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
|
955 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
|
956 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
957 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
|
958 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
959 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
960 d = {'text': 1, g:astring: 2} |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
961 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
|
962 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
|
963 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
964 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
|
965 |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
966 try |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
967 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
|
968 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
|
969 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
|
970 endtry |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
971 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
|
972 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
973 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
|
974 echo len(v:true) |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
975 catch /E701:/ |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
976 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
|
977 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
|
978 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
|
979 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
980 let P = function('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
|
981 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
|
982 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
|
983 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
|
984 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
|
985 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
|
986 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
|
987 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
|
988 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
989 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
|
990 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
|
991 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
|
992 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
|
993 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
|
994 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
|
995 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
996 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
|
997 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
|
998 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
|
999 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
|
1000 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
|
1001 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
|
1002 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
1003 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
|
1004 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
|
1005 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
|
1006 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
|
1007 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
|
1008 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
|
1009 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
1010 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
|
1011 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
|
1012 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
|
1013 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
|
1014 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
|
1015 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
|
1016 |
92e2ed2a2778
patch 8.2.1238: Vim9: a few remaining errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21371
diff
changeset
|
1017 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
|
1018 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
|
1019 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
|
1020 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
|
1021 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
|
1022 assert_equal(411, n) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1023 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1024 |
21371
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
1025 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
|
1026 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
|
1027 enddef |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
1028 defcompile |
8e1081ede3b8
patch 8.2.1236: Vim9: a few errors not caught by try/catch
Bram Moolenaar <Bram@vim.org>
parents:
21365
diff
changeset
|
1029 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
|
1030 |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1031 def ThrowFromDef() |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
1032 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
|
1033 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1034 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1035 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
|
1036 try |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1037 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
|
1038 catch |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1039 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
|
1040 endtry |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1041 endfunc |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1042 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1043 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
|
1044 try |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1045 ThrowFromDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1046 catch |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1047 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
|
1048 endtry |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1049 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1050 |
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
|
1051 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
|
1052 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
|
1053 return 'intry' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
1054 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
|
1055 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
|
1056 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
|
1057 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
|
1058 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
|
1059 |
19445
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1060 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
|
1061 CatchInFunc() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1062 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
|
1063 |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1064 CatchInDef() |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1065 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
|
1066 |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
1067 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
|
1068 assert_equal('finally', g:in_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
|
1069 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
|
1070 |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
1071 def Test_try_catch_match() |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
1072 let seq = 'a' |
423b27246383
patch 8.2.0287: Vim9: return in try block not tested; catch not tested
Bram Moolenaar <Bram@vim.org>
parents:
19455
diff
changeset
|
1073 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
|
1074 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
|
1075 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
|
1076 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
|
1077 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
|
1078 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
|
1079 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
|
1080 seq ..= 'x' |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1081 catch ?a\?sdf? |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1082 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
|
1083 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
|
1084 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
|
1085 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
|
1086 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
|
1087 enddef |
6e27e1ffa2a6
patch 8.2.0280: Vim9: throw in :def function not caught higher up
Bram Moolenaar <Bram@vim.org>
parents:
19443
diff
changeset
|
1088 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1089 def Test_try_catch_fails() |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1090 call CheckDefFailure(['catch'], 'E603:') |
21216
bcd08812cde3
patch 8.2.1159: Vim9: no error for missing space after a comma
Bram Moolenaar <Bram@vim.org>
parents:
21206
diff
changeset
|
1091 call CheckDefFailure(['try', 'echo 0', 'catch', 'catch'], 'E1033:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1092 call CheckDefFailure(['try', 'echo 0', 'catch /pat'], 'E1067:') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1093 call CheckDefFailure(['finally'], 'E606:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1094 call CheckDefFailure(['try', 'echo 0', 'finally', 'echo 1', 'finally'], 'E607:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1095 call CheckDefFailure(['endtry'], 'E602:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1096 call CheckDefFailure(['while 1', 'endtry'], 'E170:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1097 call CheckDefFailure(['for i in range(5)', 'endtry'], 'E170:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1098 call CheckDefFailure(['if 2', 'endtry'], 'E171:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1099 call CheckDefFailure(['try', 'echo 1', 'endtry'], 'E1032:') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1100 |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
1101 call CheckDefFailure(['throw'], 'E1015:') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
1102 call 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
|
1103 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
1104 |
21094
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1105 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
|
1106 # only checks line continuation |
21094
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1107 let lines =<< trim END |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1108 vim9script |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1109 try |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1110 throw 'one' |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1111 .. 'two' |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1112 catch |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1113 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
|
1114 endtry |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1115 END |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1116 CheckScriptSuccess(lines) |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1117 enddef |
376b520312d6
patch 8.2.1098: Vim9: cannot use line break in :throw argument
Bram Moolenaar <Bram@vim.org>
parents:
20982
diff
changeset
|
1118 |
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
|
1119 def Test_error_in_nested_function() |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
1120 # an error in a nested :function aborts executin in the calling :def function |
6c03897bcd60
patch 8.2.1428: Vim9: :def function does not abort on nested function error
Bram Moolenaar <Bram@vim.org>
parents:
21709
diff
changeset
|
1121 let lines =<< trim 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
|
1122 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
|
1123 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
|
1124 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
|
1125 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
|
1126 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
|
1127 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
|
1128 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
|
1129 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
|
1130 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
|
1131 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
|
1132 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
|
1133 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
|
1134 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
|
1135 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
|
1136 |
21096
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1137 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
|
1138 # 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
|
1139 set errorformat=File\ %f\ line\ %l |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1140 let lines =<< trim END |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1141 vim9script |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1142 cexpr 'File' |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1143 .. ' someFile' .. |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1144 ' line 19' |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1145 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
|
1146 END |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1147 CheckScriptSuccess(lines) |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1148 set errorformat& |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1149 enddef |
74e5e212e550
patch 8.2.1099: Vim9: cannot use line break in :cexpr argument
Bram Moolenaar <Bram@vim.org>
parents:
21094
diff
changeset
|
1150 |
21775
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1151 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
|
1152 # legacy syntax is used for 'statusline' |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1153 let lines =<< trim END |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1154 vim9script |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1155 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
|
1156 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
|
1157 endfunc |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1158 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
|
1159 redrawstatus |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1160 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
|
1161 END |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1162 CheckScriptSuccess(lines) |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1163 enddef |
6922d78b4d52
patch 8.2.1437: Vim9: 'statusline' is evaluated using Vim9 script syntax
Bram Moolenaar <Bram@vim.org>
parents:
21757
diff
changeset
|
1164 |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1165 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
|
1166 # checks line continuation and comments |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1167 let lines =<< trim END |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1168 vim9script |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1169 let mylist = [ |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1170 'one', |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1171 # comment |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1172 '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
|
1173 |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1174 'three', |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1175 ] |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1176 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
|
1177 END |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1178 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
|
1179 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1180 # 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
|
1181 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
|
1182 # 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
|
1183 two |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1184 # 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
|
1185 |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1186 five |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1187 # 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
|
1188 END |
a427f5f26419
patch 8.2.1491: Vim9: crash when compiling heredoc lines start with comment
Bram Moolenaar <Bram@vim.org>
parents:
21881
diff
changeset
|
1189 assert_equal(['# comment 1', 'two', '# comment 3', '', 'five', '# comment 6'], lines) |
21391
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1190 enddef |
8b882afa8ed2
patch 8.2.1246: Vim9: comment after assignment doesn't work
Bram Moolenaar <Bram@vim.org>
parents:
21375
diff
changeset
|
1191 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1192 if has('channel') |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1193 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
|
1194 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1195 def FuncWithError() |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1196 echomsg g:someJob |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1197 enddef |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
1198 |
20291
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1199 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
|
1200 try |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1201 call FuncWithError() |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1202 catch |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1203 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
|
1204 endtry |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1205 endfunc |
f7b1e43beb8f
patch 8.2.0701: Vim9 test fails without job feature
Bram Moolenaar <Bram@vim.org>
parents:
20289
diff
changeset
|
1206 endif |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
1207 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1208 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
|
1209 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1210 let name: string = 'bob' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1211 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
|
1212 return name .. arg |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1213 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
|
1214 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
|
1215 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
|
1216 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1217 export const CONST = 1234 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1218 export let exported = 9876 |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1219 export let 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
|
1220 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
|
1221 return 'Exported' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1222 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1223 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1224 |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1225 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
|
1226 unlet g:result |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1227 unlet g:localname |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1228 enddef |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1229 |
19623
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1230 def Test_vim9_import_export() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1231 let import_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
|
1232 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1233 import {exported, Exported} from './Xexport.vim' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1234 g:imported = exported |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1235 exported += 3 |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1236 g:imported_added = exported |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1237 g:imported_func = Exported() |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1238 |
21473
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1239 def GetExported(): string |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1240 let local_dict = #{ref: Exported} |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1241 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
|
1242 enddef |
8bcd1ee2630b
patch 8.2.1287: Vim9: crash when using an imported function
Bram Moolenaar <Bram@vim.org>
parents:
21471
diff
changeset
|
1243 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
|
1244 |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1245 import {exp_name} from './Xexport.vim' |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1246 g:imported_name = exp_name |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1247 exp_name ..= ' Doe' |
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1248 g:imported_name_appended = exp_name |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1249 g:imported_later = exported |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1250 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1251 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1252 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
|
1253 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
|
1254 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1255 source Ximport.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1256 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1257 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
|
1258 assert_equal('bob', g:localname) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1259 assert_equal(9876, g:imported) |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1260 assert_equal(9879, g:imported_added) |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1261 assert_equal(9879, g:imported_later) |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1262 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
|
1263 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
|
1264 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
|
1265 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
|
1266 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
|
1267 |
21709
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1268 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
|
1269 unlet g:imported |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1270 unlet g:imported_added |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1271 unlet g:imported_later |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1272 unlet g:imported_func |
19326
d1810b726592
patch 8.2.0221: no test for Vim9 += and ..=
Bram Moolenaar <Bram@vim.org>
parents:
19320
diff
changeset
|
1273 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
|
1274 delete('Ximport.vim') |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1275 |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1276 # similar, with line breaks |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1277 let import_line_break_script_lines =<< trim END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1278 vim9script |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1279 import { |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1280 exported, |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1281 Exported, |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1282 } |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1283 from |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1284 './Xexport.vim' |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1285 g:imported = exported |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1286 exported += 5 |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1287 g:imported_added = exported |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1288 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
|
1289 END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1290 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
|
1291 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
|
1292 |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1293 assert_equal(9876, g:imported) |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1294 assert_equal(9881, g:imported_added) |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1295 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
|
1296 |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1297 # 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
|
1298 assert_false(exists('g:result')) |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1299 unlet g:imported |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1300 unlet g:imported_added |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1301 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
|
1302 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
|
1303 |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1304 # import inside :def function |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1305 let import_in_def_lines =<< trim END |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1306 vim9script |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1307 def ImportInDef() |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1308 import exported from './Xexport.vim' |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1309 g:imported = exported |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1310 exported += 7 |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1311 g:imported_added = exported |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1312 enddef |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1313 ImportInDef() |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1314 END |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1315 writefile(import_in_def_lines, 'Ximport2.vim') |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1316 source Ximport2.vim |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1317 # TODO: this should be 9879 |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1318 assert_equal(9876, g:imported) |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1319 assert_equal(9883, g:imported_added) |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1320 unlet g:imported |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1321 unlet g:imported_added |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1322 delete('Ximport2.vim') |
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1323 |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1324 let import_star_as_lines =<< trim END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1325 vim9script |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1326 import * as Export from './Xexport.vim' |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1327 def UseExport() |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1328 g:imported = Export.exported |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1329 enddef |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1330 UseExport() |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1331 END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1332 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
|
1333 source Ximport.vim |
19583
ba35daca6553
patch 8.2.0348: Vim9: not all code tested
Bram Moolenaar <Bram@vim.org>
parents:
19579
diff
changeset
|
1334 assert_equal(9883, g:imported) |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1335 |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1336 let import_star_as_lines_no_dot =<< trim END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1337 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1338 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
|
1339 def Func() |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1340 let dummy = 1 |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1341 let imported = Export + dummy |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1342 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
|
1343 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1344 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1345 writefile(import_star_as_lines_no_dot, 'Ximport.vim') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1346 assert_fails('source Ximport.vim', 'E1060:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1347 |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1348 let import_star_as_lines_dot_space =<< trim END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1349 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1350 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
|
1351 def Func() |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1352 let imported = Export . exported |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1353 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
|
1354 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1355 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1356 writefile(import_star_as_lines_dot_space, 'Ximport.vim') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1357 assert_fails('source Ximport.vim', 'E1074:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1358 |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1359 let import_star_as_lines_missing_name =<< trim END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1360 vim9script |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1361 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
|
1362 def Func() |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1363 let imported = Export. |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1364 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
|
1365 defcompile |
19818
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1366 END |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1367 writefile(import_star_as_lines_missing_name, 'Ximport.vim') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1368 assert_fails('source Ximport.vim', 'E1048:') |
c1c88b333481
patch 8.2.0465: Vim9: dead code and wrong return type
Bram Moolenaar <Bram@vim.org>
parents:
19787
diff
changeset
|
1369 |
21146
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1370 let import_star_as_lbr_lines =<< trim END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1371 vim9script |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1372 import * |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1373 as Export |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1374 from |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1375 './Xexport.vim' |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1376 def UseExport() |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1377 g:imported = Export.exported |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1378 enddef |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1379 UseExport() |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1380 END |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1381 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
|
1382 source Ximport.vim |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1383 assert_equal(9883, g:imported) |
465d6e40e79c
patch 8.2.1124: Vim9: no line break allowed in :import command
Bram Moolenaar <Bram@vim.org>
parents:
21122
diff
changeset
|
1384 |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1385 let import_star_lines =<< trim END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1386 vim9script |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1387 import * from './Xexport.vim' |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1388 END |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1389 writefile(import_star_lines, 'Ximport.vim') |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1390 assert_fails('source Ximport.vim', 'E1045:') |
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1391 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1392 # try to import something that exists but is not exported |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1393 let import_not_exported_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1394 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1395 import name from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1396 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1397 writefile(import_not_exported_lines, 'Ximport.vim') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1398 assert_fails('source Ximport.vim', 'E1049:') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1399 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1400 # 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
|
1401 let 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
|
1402 vim9script |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1403 let exported = 'something' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1404 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
|
1405 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1406 writefile(import_already_defined, 'Ximport.vim') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1407 assert_fails('source Ximport.vim', 'E1073:') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1408 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1409 # 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
|
1410 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
|
1411 vim9script |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1412 let exported = 'something' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1413 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
|
1414 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1415 writefile(import_already_defined, 'Ximport.vim') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1416 assert_fails('source Ximport.vim', 'E1073:') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1417 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1418 # 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
|
1419 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
|
1420 vim9script |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1421 let exported = 'something' |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1422 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
|
1423 END |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1424 writefile(import_already_defined, 'Ximport.vim') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1425 assert_fails('source Ximport.vim', 'E1073:') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1426 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1427 # import a very long name, requires making a copy |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1428 let import_long_name_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1429 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1430 import name012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1431 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1432 writefile(import_long_name_lines, 'Ximport.vim') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1433 assert_fails('source Ximport.vim', 'E1048:') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1434 |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1435 let import_no_from_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1436 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1437 import name './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1438 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1439 writefile(import_no_from_lines, 'Ximport.vim') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1440 assert_fails('source Ximport.vim', 'E1070:') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1441 |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1442 let import_invalid_string_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1443 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1444 import name from Xexport.vim |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1445 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1446 writefile(import_invalid_string_lines, 'Ximport.vim') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1447 assert_fails('source Ximport.vim', 'E1071:') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1448 |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1449 let import_wrong_name_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1450 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1451 import name from './XnoExport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1452 END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1453 writefile(import_wrong_name_lines, 'Ximport.vim') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1454 assert_fails('source Ximport.vim', 'E1053:') |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1455 |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1456 let import_missing_comma_lines =<< trim END |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1457 vim9script |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1458 import {exported name} from './Xexport.vim' |
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1459 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
|
1460 writefile(import_missing_comma_lines, 'Ximport3.vim') |
2fee087c94cb
patch 8.2.0368: Vim9: import that redefines local variable does not fail
Bram Moolenaar <Bram@vim.org>
parents:
19593
diff
changeset
|
1461 assert_fails('source Ximport3.vim', 'E1046:') |
19511
7e76d5fba19f
patch 8.2.0313: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19509
diff
changeset
|
1462 |
19509
17f0d6dc6a73
patch 8.2.0312: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19507
diff
changeset
|
1463 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
|
1464 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
|
1465 delete('Xexport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1466 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1467 # Check that in a Vim9 script 'cpo' is set to the Vim default. |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1468 set cpo&vi |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1469 let cpo_before = &cpo |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1470 let lines =<< trim END |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1471 vim9script |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1472 g:cpo_in_vim9script = &cpo |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1473 END |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1474 writefile(lines, 'Xvim9_script') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1475 source Xvim9_script |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1476 assert_equal(cpo_before, &cpo) |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1477 set cpo&vim |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1478 assert_equal(&cpo, g:cpo_in_vim9script) |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1479 delete('Xvim9_script') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1480 enddef |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1481 |
21652
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1482 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
|
1483 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
|
1484 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
|
1485 endfunc |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1486 |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1487 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
|
1488 # check that :import and :export work when buffer is locked |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1489 let export_lines =<< trim END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1490 vim9script |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1491 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
|
1492 return 'yes' |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1493 enddef |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1494 END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1495 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
|
1496 |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1497 let import_lines =<< trim END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1498 vim9script |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1499 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
|
1500 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
|
1501 END |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1502 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
|
1503 |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1504 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
|
1505 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
|
1506 |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1507 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
|
1508 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
|
1509 nunmap trigger |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1510 enddef |
befb512e0762
patch 8.2.1376: Vim9: expression mapping causes error for using :import
Bram Moolenaar <Bram@vim.org>
parents:
21648
diff
changeset
|
1511 |
21664
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1512 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
|
1513 # 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
|
1514 mkdir('ftplugin', 'p') |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1515 let export_lines =<< trim END |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1516 vim9script |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1517 export let That = 'yes' |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1518 END |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1519 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
|
1520 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1521 let import_lines =<< trim END |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1522 vim9script |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1523 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
|
1524 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
|
1525 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
|
1526 END |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1527 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
|
1528 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1529 let save_rtp = &rtp |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1530 &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
|
1531 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1532 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
|
1533 copen |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1534 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
|
1535 |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1536 quit! |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1537 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
|
1538 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
|
1539 &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
|
1540 enddef |
60ba361a7fdb
patch 8.2.1382: Vim9: using :import in filetype plugin gives an error
Bram Moolenaar <Bram@vim.org>
parents:
21652
diff
changeset
|
1541 |
21699
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1542 def Test_use_import_in_mapping() |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1543 let 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
|
1544 vim9script |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1545 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
|
1546 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
|
1547 enddef |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1548 END |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1549 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
|
1550 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
|
1551 vim9script |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1552 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
|
1553 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
|
1554 END |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1555 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
|
1556 |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1557 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
|
1558 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
|
1559 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
|
1560 |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1561 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
|
1562 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
|
1563 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
|
1564 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
|
1565 enddef |
1b96535705a0
patch 8.2.1399: Vim9: may find imported item in wrong script
Bram Moolenaar <Bram@vim.org>
parents:
21691
diff
changeset
|
1566 |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1567 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
|
1568 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
|
1569 CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1570 CheckScriptFailure(['export let 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
|
1571 CheckScriptFailure(['import some from "./Xexport.vim"'], 'E1048:') |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21216
diff
changeset
|
1572 CheckScriptFailure(['vim9script', 'export let g:some'], 'E1022:') |
19507
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1573 CheckScriptFailure(['vim9script', 'export echo 134'], 'E1043:') |
65049a682574
patch 8.2.0311: Vim9: insufficient script tests
Bram Moolenaar <Bram@vim.org>
parents:
19497
diff
changeset
|
1574 |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
1575 CheckScriptFailure(['vim9script', 'let 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
|
1576 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
|
1577 |
22087
ff21e2962490
patch 8.2.1593: tests do not check the error number properly
Bram Moolenaar <Bram@vim.org>
parents:
21987
diff
changeset
|
1578 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
|
1579 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
|
1580 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1581 |
20883
8bc11506d787
patch 8.2.0993: Vim9 script test fails with normal features
Bram Moolenaar <Bram@vim.org>
parents:
20881
diff
changeset
|
1582 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
|
1583 CheckRunVimInTerminal |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1584 |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1585 " 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
|
1586 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
|
1587 endfunc |
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1588 |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1589 def Run_Test_import_fails_on_command_line() |
20881
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1590 let export =<< trim END |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1591 vim9script |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1592 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
|
1593 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
|
1594 enddef |
58137dbee8da
patch 8.2.0992: Vim9: crash when using :import in the Vim command
Bram Moolenaar <Bram@vim.org>
parents:
20871
diff
changeset
|
1595 END |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1596 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
|
1597 |
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1598 let 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
|
1599 rows: 6, wait_for_ruler: 0}) |
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1600 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
|
1601 |
21701
6bb806a0238c
patch 8.2.1400: Vim9: test does not delete written files
Bram Moolenaar <Bram@vim.org>
parents:
21699
diff
changeset
|
1602 delete('XexportCmd.vim') |
20885
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1603 StopVimInTerminal(buf) |
b70555af8908
patch 8.2.0994: Vim9: missing function causes compilation error
Bram Moolenaar <Bram@vim.org>
parents:
20883
diff
changeset
|
1604 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
|
1605 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1606 def Test_vim9script_reload_import() |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1607 let lines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1608 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1609 const var = '' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1610 let valone = 1234 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1611 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
|
1612 valone = 5678 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1613 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1614 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1615 let morelines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1616 let valtwo = 222 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1617 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
|
1618 return valtwo |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1619 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1620 END |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1621 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
|
1622 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1623 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1624 source Xreload.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1625 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1626 let testlines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1627 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1628 def TheFunc() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1629 import GetValtwo from './Xreload.vim' |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1630 assert_equal(222, GetValtwo()) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1631 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1632 TheFunc() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1633 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1634 writefile(testlines, 'Ximport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1635 source Ximport.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1636 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1637 # Test that when not using "morelines" GetValtwo() and valtwo are still |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1638 # defined, because import doesn't reload a script. |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1639 writefile(lines, 'Xreload.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1640 source Ximport.vim |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1641 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
1642 # 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
|
1643 lines =<< trim END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1644 vim9script |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1645 let valone = 1234 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1646 let valone = 5678 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1647 END |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1648 writefile(lines, 'Xreload.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1649 assert_fails('source Xreload.vim', 'E1041:') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1650 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1651 delete('Xreload.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1652 delete('Ximport.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1653 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1654 |
21983
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1655 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
|
1656 return 'some' |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1657 enddef |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1658 |
21202
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1659 " 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
|
1660 " script-local name. |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1661 def Test_vim9script_funcref() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1662 let sortlines =<< trim END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1663 vim9script |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1664 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
|
1665 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
|
1666 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1667 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1668 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
|
1669 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
|
1670 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1671 END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1672 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
|
1673 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1674 let lines =<< trim END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1675 vim9script |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1676 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
|
1677 def Test() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1678 g:result = FastSort() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1679 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1680 Test() |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1681 END |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1682 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
|
1683 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1684 source Xscript.vim |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1685 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
|
1686 |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1687 unlet g:result |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1688 delete('Xsort.vim') |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1689 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
|
1690 |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1691 let Funcref = function('s:RetSome') |
3fe594c72d8c
patch 8.2.1541: Vim9: cannot find function reference for s:Func
Bram Moolenaar <Bram@vim.org>
parents:
21979
diff
changeset
|
1692 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
|
1693 enddef |
1a4e22aa2eb3
patch 8.2.1152: Vim9: function reference is missing script prefix
Bram Moolenaar <Bram@vim.org>
parents:
21188
diff
changeset
|
1694 |
21955
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1695 " 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
|
1696 " 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
|
1697 " function reference. |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1698 def Test_vim9script_funcref_other_script() |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1699 let filterLines =<< trim END |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1700 vim9script |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1701 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
|
1702 return idx % 2 == 1 |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1703 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1704 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
|
1705 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
|
1706 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
|
1707 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
|
1708 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
|
1709 enddef |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1710 END |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1711 writefile(filterLines, 'Xfilter.vim') |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1712 |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1713 let lines =<< trim END |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1714 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
|
1715 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
|
1716 def Test() |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1717 let x: list<number> = FastFilter() |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1718 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1719 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
|
1720 def TestDirect() |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1721 let x: list<number> = FastFilterDirect() |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1722 enddef |
3991a6df522e
patch 8.2.1527: Vim9: cannot use a function name at script level
Bram Moolenaar <Bram@vim.org>
parents:
21939
diff
changeset
|
1723 TestDirect() |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1724 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
|
1725 CheckScriptSuccess(lines) |
21206
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1726 delete('Xfilter.vim') |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1727 enddef |
caab594592cc
patch 8.2.1154: Vim9: crash when using imported function
Bram Moolenaar <Bram@vim.org>
parents:
21204
diff
changeset
|
1728 |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1729 def Test_vim9script_reload_delfunc() |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1730 let first_lines =<< trim END |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1731 vim9script |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1732 def FuncYes(): string |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1733 return 'yes' |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1734 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1735 END |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1736 let 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
|
1737 def FuncNo(): string |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1738 return 'no' |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1739 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1740 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
|
1741 assert_equal('yes', FuncYes()) |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1742 assert_equal('no', FuncNo()) |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1743 enddef |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1744 END |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1745 let nono_lines =<< trim END |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1746 def g:DoCheck(no_exists: bool) |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1747 assert_equal('yes', FuncYes()) |
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1748 assert_fails('call FuncNo()', 'E117:') |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1749 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1750 END |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1751 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1752 # FuncNo() is defined |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1753 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
|
1754 source Xreloaded.vim |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1755 g:DoCheck(true) |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1756 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1757 # FuncNo() is not redefined |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1758 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
|
1759 source Xreloaded.vim |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1760 g:DoCheck() |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1761 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1762 # FuncNo() is back |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1763 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
|
1764 source Xreloaded.vim |
20195
a2447c58da25
patch 8.2.0653: using uninitialized pointer
Bram Moolenaar <Bram@vim.org>
parents:
20189
diff
changeset
|
1765 g:DoCheck() |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1766 |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1767 delete('Xreloaded.vim') |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1768 enddef |
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
1769 |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1770 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
|
1771 # write the script with a script-local variable |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1772 let 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
|
1773 vim9script |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1774 let var = 'string' |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1775 END |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1776 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
|
1777 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
|
1778 |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1779 # 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
|
1780 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
|
1781 vim9script |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1782 def Func() |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1783 let var = 'string' |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1784 enddef |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1785 END |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1786 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
|
1787 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
|
1788 |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1789 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
|
1790 enddef |
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1791 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1792 def Test_import_absolute() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1793 let 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
|
1794 'vim9script', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1795 '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
|
1796 'def UseExported()', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1797 ' 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
|
1798 ' exported = 8888', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1799 ' 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
|
1800 'enddef', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1801 'UseExported()', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1802 '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
|
1803 ] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1804 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
|
1805 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
|
1806 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1807 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
|
1808 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1809 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
|
1810 assert_equal(8888, g:imported_after) |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1811 assert_match('<SNR>\d\+_UseExported.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1812 'g:imported_abs = exported.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1813 '0 LOADSCRIPT exported from .*Xexport_abs.vim.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1814 '1 STOREG g:imported_abs.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1815 'exported = 8888.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1816 '3 STORESCRIPT exported in .*Xexport_abs.vim.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1817 'g:imported_after = exported.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1818 '4 LOADSCRIPT exported from .*Xexport_abs.vim.*' .. |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
1819 '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
|
1820 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
|
1821 |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1822 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
|
1823 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
|
1824 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
|
1825 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1826 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
|
1827 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
|
1828 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1829 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1830 def Test_import_rtp() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1831 let 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
|
1832 'vim9script', |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
1833 '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
|
1834 '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
|
1835 ] |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1836 writefile(import_lines, 'Ximport_rtp.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1837 mkdir('import') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1838 writefile(s:export_script_lines, 'import/Xexport_rtp.vim') |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1839 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1840 let save_rtp = &rtp |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1841 &rtp = getcwd() |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1842 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
|
1843 &rtp = save_rtp |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1844 |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1845 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
|
1846 |
16d6b626aa8f
patch 8.2.1404: Vim9: script test fails in the GUI
Bram Moolenaar <Bram@vim.org>
parents:
21707
diff
changeset
|
1847 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
|
1848 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
|
1849 delete('Ximport_rtp.vim') |
20347
0e1dfff4f294
patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Bram Moolenaar <Bram@vim.org>
parents:
20338
diff
changeset
|
1850 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
|
1851 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1852 |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1853 def Test_import_compile_error() |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1854 let export_lines = [ |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1855 'vim9script', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1856 'export def ExpFunc(): string', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1857 ' return notDefined', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1858 'enddef', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1859 ] |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1860 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
|
1861 |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1862 let import_lines = [ |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1863 'vim9script', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1864 '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
|
1865 'def ImpFunc()', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1866 ' echo ExpFunc()', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1867 'enddef', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1868 'defcompile', |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1869 ] |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1870 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
|
1871 |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1872 try |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1873 source Ximport.vim |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1874 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
|
1875 # Error should be fore the Xexported.vim file. |
20538
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1876 assert_match('E1001: variable not found: notDefined', v:exception) |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1877 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
|
1878 endtry |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1879 |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1880 delete('Xexported.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1881 delete('Ximport.vim') |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1882 enddef |
9f921ba86d05
patch 8.2.0823: Vim9: script reload test is disabled
Bram Moolenaar <Bram@vim.org>
parents:
20528
diff
changeset
|
1883 |
21791
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1884 def Test_func_redefine_error() |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1885 let lines = [ |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1886 'vim9script', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1887 '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
|
1888 ' 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
|
1889 'enddef', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1890 'Func()', |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1891 ] |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1892 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
|
1893 |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1894 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
|
1895 try |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1896 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
|
1897 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
|
1898 # 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
|
1899 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
|
1900 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
|
1901 endtry |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1902 endfor |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1903 |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1904 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
|
1905 enddef |
d504fcd3d2c0
patch 8.2.1445: Vim9: function expanded name is cleared when sourcing again
Bram Moolenaar <Bram@vim.org>
parents:
21775
diff
changeset
|
1906 |
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
|
1907 def Test_func_overrules_import_fails() |
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
|
1908 let export_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
|
1909 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
|
1910 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
|
1911 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
|
1912 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
|
1913 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
|
1914 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
|
1915 |
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
|
1916 let 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
|
1917 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
|
1918 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
|
1919 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
|
1920 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
|
1921 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
|
1922 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
|
1923 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
|
1924 |
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
|
1925 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
|
1926 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
|
1927 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
|
1928 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
|
1929 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
|
1930 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
|
1931 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
|
1932 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
|
1933 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
|
1934 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
|
1935 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
|
1936 |
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
|
1937 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
|
1938 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
|
1939 |
21600
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1940 def Test_func_redefine_fails() |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1941 let lines =<< trim END |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1942 vim9script |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1943 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
|
1944 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
|
1945 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1946 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
|
1947 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
|
1948 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1949 END |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1950 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
|
1951 |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1952 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
|
1953 vim9script |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1954 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
|
1955 return 'foo' |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1956 enddef |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1957 def Func() |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1958 let Foo = {-> 'lambda'} |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1959 enddef |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1960 defcompile |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1961 END |
bb4f55d20951
patch 8.2.1391: Vim9: no error for shadowing a script function
Bram Moolenaar <Bram@vim.org>
parents:
21681
diff
changeset
|
1962 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
|
1963 enddef |
622021f43db1
patch 8.2.1350: Vim9: no test for error message when redefining function
Bram Moolenaar <Bram@vim.org>
parents:
21598
diff
changeset
|
1964 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1965 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
|
1966 # will be allocated as one piece of memory, check that changes work |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1967 let l = [1, 2, 3, 4] |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1968 l->remove(0) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1969 l->add(5) |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1970 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
|
1971 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
|
1972 enddef |
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1973 |
21516
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
1974 def Test_no_insert_xit() |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
1975 call CheckDefExecFailure(['a = 1'], 'E1100:') |
21584
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
1976 call CheckDefExecFailure(['c = 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
|
1977 call CheckDefExecFailure(['i = 1'], 'E1100:') |
21584
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
1978 call CheckDefExecFailure(['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
|
1979 call 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
|
1980 |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
1981 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
|
1982 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
|
1983 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
|
1984 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
|
1985 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
|
1986 CheckScriptFailure(['vim9script', 'i'], 'E1100:') |
21584
d0c76ce48326
patch 8.2.1342: Vim9: accidentally using "t" gives a confusing error
Bram Moolenaar <Bram@vim.org>
parents:
21578
diff
changeset
|
1987 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
|
1988 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
|
1989 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
|
1990 enddef |
c7b2ce90c2de
patch 8.2.1308: Vim9: accidentally using "x" causes Vim to exit
Bram Moolenaar <Bram@vim.org>
parents:
21485
diff
changeset
|
1991 |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1992 def IfElse(what: number): string |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1993 let res = '' |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1994 if what == 1 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1995 res = "one" |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1996 elseif what == 2 |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1997 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
|
1998 else |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
1999 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
|
2000 endif |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2001 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
|
2002 enddef |
a8d2d3c8f0b3
patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Bram Moolenaar <Bram@vim.org>
parents:
19185
diff
changeset
|
2003 |
19332
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2004 def Test_if_elseif_else() |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2005 assert_equal('one', IfElse(1)) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2006 assert_equal('two', IfElse(2)) |
d6e8a9e80be4
patch 8.2.0224: compiling :elseif not tested yet
Bram Moolenaar <Bram@vim.org>
parents:
19330
diff
changeset
|
2007 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
|
2008 enddef |
9fcdeaa18bd1
patch 8.2.0199: Vim9 script commands not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19253
diff
changeset
|
2009 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2010 def Test_if_elseif_else_fails() |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2011 call CheckDefFailure(['elseif true'], 'E582:') |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2012 call CheckDefFailure(['else'], 'E581:') |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2013 call CheckDefFailure(['endif'], 'E580:') |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2014 call CheckDefFailure(['if true', 'elseif xxx'], 'E1001:') |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2015 call CheckDefFailure(['if true', 'echo 1'], 'E171:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2016 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2017 |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2018 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
|
2019 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
|
2020 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2021 def Test_if_const_expr() |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2022 let res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2023 if true ? true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2024 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2025 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2026 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2027 |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2028 g:glob = 2 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2029 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
|
2030 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
|
2031 endif |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2032 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
|
2033 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
|
2034 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
|
2035 endif |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2036 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
|
2037 |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2038 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2039 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
|
2040 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2041 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2042 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2043 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2044 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2045 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
|
2046 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2047 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2048 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2049 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2050 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2051 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
|
2052 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2053 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2054 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2055 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2056 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2057 if true ? false : true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2058 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2059 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2060 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2061 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2062 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2063 if false ? false : true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2064 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2065 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2066 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2067 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2068 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2069 if false ? true : false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2070 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2071 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2072 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2073 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2074 res = false |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2075 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
|
2076 res = true |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2077 endif |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2078 assert_equal(false, res) |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2079 |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2080 res = false |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2081 if true && true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2082 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2083 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2084 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2085 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2086 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2087 if true && false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2088 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2089 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2090 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2091 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2092 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2093 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
|
2094 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2095 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2096 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2097 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2098 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2099 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
|
2100 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2101 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2102 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2103 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2104 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2105 if false && false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2106 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2107 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2108 assert_equal(false, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2109 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2110 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2111 if true || false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2112 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2113 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2114 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2115 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2116 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2117 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
|
2118 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2119 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2120 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2121 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2122 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2123 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
|
2124 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2125 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2126 assert_equal(true, res) |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2127 |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2128 res = false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2129 if false || false |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2130 res = true |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2131 endif |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2132 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
|
2133 |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2134 # with constant "false" expression may be invalid so long as the syntax is OK |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2135 if false | eval 0 | endif |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2136 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
|
2137 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
|
2138 if false |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2139 burp |
4343657b49fa
patch 8.2.1528: Vim9: :endif not found after "if false"
Bram Moolenaar <Bram@vim.org>
parents:
21955
diff
changeset
|
2140 endif |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2141 enddef |
19585
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2142 |
19878
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2143 def Test_if_const_expr_fails() |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2144 call CheckDefFailure(['if "aaa" == "bbb'], 'E114:') |
dd3c80122a0e
patch 8.2.0495: Vim9: some code not tested
Bram Moolenaar <Bram@vim.org>
parents:
19874
diff
changeset
|
2145 call CheckDefFailure(["if 'aaa' == 'bbb"], 'E115:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2146 call CheckDefFailure(["if has('aaa'"], 'E110:') |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2147 call 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
|
2148 enddef |
0303f920a7d4
patch 8.2.0349: Vim9: constant expression not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19583
diff
changeset
|
2149 |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2150 def RunNested(i: number): number |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2151 let x: number = 0 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2152 if i % 2 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2153 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
|
2154 # comment |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2155 else |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2156 # comment |
20899
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2157 endif |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2158 x += 1 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2159 else |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2160 x += 1000 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2161 endif |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2162 return x |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2163 enddef |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2164 |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2165 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
|
2166 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
|
2167 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
|
2168 enddef |
e76bddcf3341
patch 8.2.1001: Vim9: crash with nested "if" and assignment
Bram Moolenaar <Bram@vim.org>
parents:
20885
diff
changeset
|
2169 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2170 def Test_execute_cmd() |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2171 new |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2172 setline(1, 'default') |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2173 execute 'call setline(1, "execute-string")' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2174 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
|
2175 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2176 execute "call setline(1, 'execute-string')" |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2177 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
|
2178 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2179 let cmd1 = 'call setline(1,' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2180 let 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
|
2181 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
|
2182 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
|
2183 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2184 execute cmd1 cmd2 '|call setline(1, "execute-var-string")' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2185 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
|
2186 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2187 let cmd_first = 'call ' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2188 let cmd_last = 'setline(1, "execute-var-var")' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2189 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
|
2190 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
|
2191 bwipe! |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2192 |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
2193 let n = true |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
2194 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
|
2195 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
|
2196 |
21835
b530ead4265a
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
Bram Moolenaar <Bram@vim.org>
parents:
21833
diff
changeset
|
2197 echomsg [1, 2, 3] #{a: 1, b: 2} |
b530ead4265a
patch 8.2.1467: Vim9: :echomsg doesn't like a dict argument
Bram Moolenaar <Bram@vim.org>
parents:
21833
diff
changeset
|
2198 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
|
2199 |
21933
5edd776d886d
patch 8.2.1516: Vim9: error for :exe has wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
21931
diff
changeset
|
2200 call CheckDefFailure(['execute xxx'], 'E1001:', 1) |
5edd776d886d
patch 8.2.1516: Vim9: error for :exe has wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
21931
diff
changeset
|
2201 call CheckDefExecFailure(['execute "tabnext " .. 8'], 'E475:', 1) |
5edd776d886d
patch 8.2.1516: Vim9: error for :exe has wrong line number
Bram Moolenaar <Bram@vim.org>
parents:
21931
diff
changeset
|
2202 call 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
|
2203 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2204 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2205 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
|
2206 # only checks line continuation |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2207 let lines =<< trim END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2208 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2209 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
|
2210 .. ' = ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2211 '28' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2212 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
|
2213 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
|
2214 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2215 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2216 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2217 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2218 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
|
2219 echo 'some' # comment |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
2220 echon 'thing' |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2221 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
|
2222 |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2223 echo "some" # comment |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2224 echon "thing" |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2225 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
|
2226 |
19528
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2227 let str1 = 'some' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2228 let str2 = 'more' |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2229 echo str1 str2 |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2230 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
|
2231 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2232 call 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
|
2233 enddef |
3b026343f398
patch 8.2.0321: Vim9: ":execute" does not work yet
Bram Moolenaar <Bram@vim.org>
parents:
19521
diff
changeset
|
2234 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2235 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
|
2236 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
|
2237 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
|
2238 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
|
2239 :1messages |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2240 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
|
2241 |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2242 call CheckDefFailure(['echomsg "xxx"# comment'], 'E488:') |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2243 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2244 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2245 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
|
2246 # only checks line continuation |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2247 let lines =<< trim END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2248 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2249 echomsg 'here' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2250 .. ' is ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2251 'a message' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2252 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
|
2253 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2254 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2255 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2256 |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2257 def Test_echoerr_cmd() |
20289
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2258 try |
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2259 echoerr 'something' 'wrong' # comment |
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2260 catch |
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2261 assert_match('something wrong', v:exception) |
208b38bddc36
patch 8.2.0700: Vim9: converting error message to exception not tested
Bram Moolenaar <Bram@vim.org>
parents:
20203
diff
changeset
|
2262 endtry |
20142
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2263 enddef |
fe8d0a4344df
patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Bram Moolenaar <Bram@vim.org>
parents:
20138
diff
changeset
|
2264 |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2265 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
|
2266 # only checks line continuation |
21098
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2267 let lines =<< trim END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2268 vim9script |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2269 try |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2270 echoerr 'this' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2271 .. ' is ' .. |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2272 'wrong' |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2273 catch |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2274 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
|
2275 endtry |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2276 END |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2277 CheckScriptSuccess(lines) |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2278 enddef |
e88b0daa2fcb
patch 8.2.1100: Vim9: cannot use line break in :execute argument
Bram Moolenaar <Bram@vim.org>
parents:
21096
diff
changeset
|
2279 |
19568
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2280 def Test_for_outside_of_function() |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2281 let lines =<< trim END |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2282 vim9script |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2283 new |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2284 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
|
2285 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
|
2286 endfor |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2287 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
|
2288 bwipe! |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2289 END |
c0749ad6c699
patch 8.2.0341: using ":for" in Vim9 script gives an error
Bram Moolenaar <Bram@vim.org>
parents:
19566
diff
changeset
|
2290 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
|
2291 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
|
2292 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
|
2293 enddef |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2294 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2295 def Test_for_loop() |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2296 let result = '' |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2297 for cnt in range(7) |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2298 if cnt == 4 |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2299 break |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2300 endif |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2301 if cnt == 2 |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2302 continue |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2303 endif |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2304 result ..= cnt .. '_' |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2305 endfor |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2306 assert_equal('0_1_3_', result) |
21188
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2307 |
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2308 let concat = '' |
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2309 for str in eval('["one", "two"]') |
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2310 concat ..= str |
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2311 endfor |
d73b6ba20053
patch 8.2.1145: Vim9: "for" only accepts a list at compile time
Bram Moolenaar <Bram@vim.org>
parents:
21150
diff
changeset
|
2312 assert_equal('onetwo', concat) |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2313 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2314 |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2315 def Test_for_loop_fails() |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2316 CheckDefFailure(['for # in range(5)'], 'E690:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2317 CheckDefFailure(['for i In range(5)'], 'E690:') |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
2318 CheckDefFailure(['let x = 5', 'for x in range(5)'], 'E1017:') |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
2319 CheckScriptFailure(['def Func(arg: any)', 'for arg in range(5)', 'enddef', 'defcompile'], 'E1006:') |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
2320 CheckDefFailure(['for i in "text"'], 'E1012:') |
20019
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2321 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
|
2322 CheckDefFailure(['endfor'], 'E588:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2323 CheckDefFailure(['for i in range(3)', 'echo 3'], 'E170:') |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2324 enddef |
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2325 |
19593
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2326 def Test_while_loop() |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2327 let result = '' |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2328 let cnt = 0 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2329 while cnt < 555 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2330 if cnt == 3 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2331 break |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2332 endif |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2333 cnt += 1 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2334 if cnt == 2 |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2335 continue |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2336 endif |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2337 result ..= cnt .. '_' |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2338 endwhile |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2339 assert_equal('1_3_', result) |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2340 enddef |
043989a2f449
patch 8.2.0353: Vim9: while loop not tested
Bram Moolenaar <Bram@vim.org>
parents:
19585
diff
changeset
|
2341 |
19892
5feb426d2ea1
patch 8.2.0502: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19890
diff
changeset
|
2342 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
|
2343 CheckDefFailure(['while xxx'], 'E1001:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2344 CheckDefFailure(['endwhile'], 'E588:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2345 CheckDefFailure(['continue'], 'E586:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2346 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
|
2347 CheckDefFailure(['break'], 'E587:') |
e9af5a09a55b
patch 8.2.0565: Vim9: tests contain superfluous line continuation
Bram Moolenaar <Bram@vim.org>
parents:
20011
diff
changeset
|
2348 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
|
2349 CheckDefFailure(['while 1', 'echo 3'], 'E170:') |
19862
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19860
diff
changeset
|
2350 enddef |
846fbbacce3a
patch 8.2.0487: Vim9: compiling not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
19860
diff
changeset
|
2351 |
19730
fe8ba2f82f59
patch 8.2.0421: interrupting with CTRL-C does not always work
Bram Moolenaar <Bram@vim.org>
parents:
19728
diff
changeset
|
2352 def Test_interrupt_loop() |
19736
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2353 let caught = false |
19730
fe8ba2f82f59
patch 8.2.0421: interrupting with CTRL-C does not always work
Bram Moolenaar <Bram@vim.org>
parents:
19728
diff
changeset
|
2354 let x = 0 |
19736
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2355 try |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2356 while 1 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2357 x += 1 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2358 if x == 100 |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2359 feedkeys("\<C-C>", 'Lt') |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2360 endif |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2361 endwhile |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2362 catch |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2363 caught = true |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2364 assert_equal(100, x) |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2365 endtry |
4174c4da6ff7
patch 8.2.0424: checking for wrong return value
Bram Moolenaar <Bram@vim.org>
parents:
19730
diff
changeset
|
2366 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
|
2367 # 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
|
2368 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
|
2369 enddef |
19726
ad37a198a708
patch 8.2.0419: various memory leaks in Vim9 script code
Bram Moolenaar <Bram@vim.org>
parents:
19623
diff
changeset
|
2370 |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2371 def Test_automatic_line_continuation() |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2372 let mylist = [ |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2373 'one', |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2374 'two', |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2375 'three', |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2376 ] # comment |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2377 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
|
2378 |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2379 let mydict = { |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2380 'one': 1, |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2381 'two': 2, |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2382 'three': |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2383 3, |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2384 } # comment |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2385 assert_equal({'one': 1, 'two': 2, 'three': 3}, mydict) |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2386 mydict = #{ |
20023
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2387 one: 1, # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2388 two: # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2389 2, # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2390 three: 3 # comment |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2391 } |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2392 assert_equal(#{one: 1, two: 2, three: 3}, mydict) |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2393 mydict = #{ |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2394 one: 1, |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2395 two: |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2396 2, |
c85d4e173cc9
patch 8.2.0567: Vim9: cannot put comments halfway expressions
Bram Moolenaar <Bram@vim.org>
parents:
20019
diff
changeset
|
2397 three: 3 |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2398 } |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2399 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
|
2400 |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2401 assert_equal( |
628011800942
patch 8.2.0561: Vim9: cannot split function call in multiple lines
Bram Moolenaar <Bram@vim.org>
parents:
19999
diff
changeset
|
2402 ['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
|
2403 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
|
2404 ) |
19999
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2405 enddef |
844c7646f61b
patch 8.2.0555: Vim9: line continuation is not always needed
Bram Moolenaar <Bram@vim.org>
parents:
19962
diff
changeset
|
2406 |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2407 def Test_vim9_comment() |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2408 CheckScriptSuccess([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2409 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2410 '# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2411 ]) |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2412 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2413 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2414 ':# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2415 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2416 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2417 '# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2418 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2419 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2420 ':# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2421 ], 'E488:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2422 |
20061
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2423 { # block start |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2424 } # block end |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2425 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2426 '{# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2427 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2428 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2429 '{', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2430 '}# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2431 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2432 |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2433 echo "yes" # comment |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2434 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2435 'echo "yes"# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2436 ], 'E488:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2437 CheckScriptSuccess([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2438 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2439 'echo "yes" # something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2440 ]) |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2441 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2442 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2443 'echo "yes"# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2444 ], 'E121:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2445 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2446 'vim9script', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2447 'echo# something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2448 ], 'E121:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2449 CheckScriptFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2450 'echo "yes" # something', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2451 ], 'E121:') |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2452 |
20061
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2453 exe "echo" # comment |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2454 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2455 'exe "echo"# comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2456 ], 'E488:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2457 CheckScriptSuccess([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2458 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2459 'exe "echo" # something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2460 ]) |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2461 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2462 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2463 'exe "echo"# something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2464 ], 'E121:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2465 CheckDefFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2466 'exe # comment', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2467 ], 'E1015:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2468 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2469 'vim9script', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2470 'exe# something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2471 ], 'E121:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2472 CheckScriptFailure([ |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2473 'exe "echo" # something', |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2474 ], 'E121:') |
6e6a75800884
patch 8.2.0586: Vim9: # comment not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
20059
diff
changeset
|
2475 |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2476 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2477 'try# comment', |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2478 ' echo "yes"', |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2479 'catch', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2480 'endtry', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2481 ], 'E488:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2482 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2483 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2484 'try# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2485 'echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2486 ], 'E488:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2487 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2488 'try', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2489 ' throw#comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2490 'catch', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2491 'endtry', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2492 ], 'E1015:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2493 CheckDefFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2494 'try', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2495 ' throw "yes"#comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2496 'catch', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2497 'endtry', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2498 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2499 CheckDefFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2500 'try', |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2501 ' echo "yes"', |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2502 'catch# comment', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2503 'endtry', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2504 ], 'E488:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2505 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2506 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2507 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2508 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2509 'catch# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2510 'endtry', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2511 ], 'E654:') |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2512 CheckDefFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2513 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2514 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2515 'catch /pat/# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2516 'endtry', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2517 ], 'E488:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2518 CheckDefFailure([ |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2519 'try', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2520 'echo "yes"', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2521 'catch', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2522 'endtry# comment', |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2523 ], 'E488:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2524 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2525 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2526 'try', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2527 ' echo "yes"', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2528 'catch', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2529 'endtry# comment', |
21265
6a4806e326dd
patch 8.2.1183: assert_fails() checks the last error message
Bram Moolenaar <Bram@vim.org>
parents:
21216
diff
changeset
|
2530 ], 'E488:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2531 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2532 CheckScriptSuccess([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2533 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2534 'hi # comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2535 ]) |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2536 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2537 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2538 'hi# comment', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2539 ], 'E416:') |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2540 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2541 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2542 'hi Search # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2543 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2544 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2545 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2546 'hi Search# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2547 ], 'E416:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2548 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2549 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2550 '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
|
2551 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2552 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2553 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2554 '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
|
2555 ], 'E413:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2556 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2557 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2558 '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
|
2559 'hi clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2560 ]) |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2561 # 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
|
2562 # 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
|
2563 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2564 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2565 'hi clear# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2566 ], 'E416:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2567 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2568 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2569 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2570 '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
|
2571 '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
|
2572 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2573 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2574 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2575 '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
|
2576 '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
|
2577 ], 'E488:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2578 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2579 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2580 'match # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2581 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2582 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2583 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2584 'match# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2585 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2586 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2587 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2588 'match none # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2589 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2590 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2591 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2592 'match none# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2593 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2594 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2595 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2596 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2597 'menutrans clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2598 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2599 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2600 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2601 '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
|
2602 ], 'E474:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2603 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2604 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2605 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2606 'syntax clear # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2607 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2608 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2609 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2610 '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
|
2611 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2612 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2613 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2614 '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
|
2615 '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
|
2616 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2617 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2618 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2619 '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
|
2620 '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
|
2621 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2622 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2623 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2624 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2625 'syntax list # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2626 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2627 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2628 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2629 '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
|
2630 ], 'E28:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2631 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2632 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2633 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2634 '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
|
2635 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2636 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2637 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2638 '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
|
2639 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2640 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2641 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2642 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2643 '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
|
2644 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2645 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2646 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2647 '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
|
2648 ], 'E789:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2649 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2650 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2651 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2652 '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
|
2653 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2654 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2655 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2656 '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
|
2657 ], 'E402:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2658 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2659 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2660 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2661 '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
|
2662 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2663 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2664 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2665 '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
|
2666 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2667 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2668 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2669 '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
|
2670 ], 'E406:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2671 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2672 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2673 '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
|
2674 ], 'E475:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2675 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2676 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2677 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2678 '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
|
2679 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2680 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2681 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2682 '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
|
2683 ], 'E402:') |
20116
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2684 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2685 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2686 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2687 'syntax sync # comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2688 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2689 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2690 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2691 'syntax sync# comment', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2692 ], 'E404:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2693 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2694 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2695 '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
|
2696 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2697 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2698 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2699 '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
|
2700 ], 'E404:') |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2701 |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2702 CheckScriptSuccess([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2703 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2704 '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
|
2705 ]) |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2706 CheckScriptFailure([ |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2707 'vim9script', |
513c62184ed8
patch 8.2.0613: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20113
diff
changeset
|
2708 '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
|
2709 ], 'E475:') |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2710 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2711 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2712 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2713 '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
|
2714 'command Echo # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2715 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2716 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2717 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2718 '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
|
2719 'Echo', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2720 ], 'E121:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2721 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2722 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2723 'command Echo# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2724 ], 'E182:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2725 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2726 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2727 'command Echo echo', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2728 'command Echo# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2729 ], 'E182:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2730 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2731 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2732 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2733 'function # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2734 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2735 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2736 'vim9script', |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2737 'function " comment', |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2738 ], 'E129:') |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2739 CheckScriptFailure([ |
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2740 'vim9script', |
20138
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2741 'function# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2742 ], 'E129:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2743 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2744 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2745 'function CheckScriptSuccess # comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2746 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2747 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2748 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2749 'function CheckScriptSuccess# comment', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2750 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2751 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2752 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2753 'vim9script', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
2754 '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
|
2755 'endfunc', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
2756 '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
|
2757 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2758 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2759 'vim9script', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
2760 '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
|
2761 'endfunc', |
20189
63cc54100ae4
patch 8.2.0650: Vim9: script function can be deleted
Bram Moolenaar <Bram@vim.org>
parents:
20170
diff
changeset
|
2762 '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
|
2763 ], 'E488:') |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2764 |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2765 CheckScriptSuccess([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2766 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2767 '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
|
2768 ]) |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2769 CheckScriptFailure([ |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2770 'vim9script', |
d0a9766167ab
patch 8.2.0624: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20116
diff
changeset
|
2771 '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
|
2772 ], 'E488:') |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2773 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2774 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2775 '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
|
2776 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2777 ], 'E488:') |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2778 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2779 'vim9script', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2780 '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
|
2781 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2782 ], 'E488:') |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2783 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2784 CheckScriptSuccess([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2785 '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
|
2786 'endfunc', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2787 ]) |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2788 CheckScriptSuccess([ |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2789 'vim9script', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2790 '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
|
2791 'endfunc', |
21528
e0aa9b81f6a9
patch 8.2.1314: Vim9: rule for comment after :function is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21526
diff
changeset
|
2792 ]) |
21435
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2793 |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2794 CheckScriptSuccess([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2795 '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
|
2796 'enddef', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2797 ]) |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2798 CheckScriptFailure([ |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2799 '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
|
2800 'endfunc', |
8ec9e2b54ce7
patch 8.2.1268: Vim9: no error for using double quote comment
Bram Moolenaar <Bram@vim.org>
parents:
21413
diff
changeset
|
2801 ], 'E488:') |
20113
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2802 enddef |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2803 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2804 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
|
2805 CheckCanRunGui |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2806 |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2807 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2808 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2809 'gui#comment' |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2810 ], 'E499:') |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2811 CheckScriptFailure([ |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2812 'vim9script', |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2813 'gui -f#comment' |
2c23053c654a
patch 8.2.0612: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20111
diff
changeset
|
2814 ], 'E499:') |
20059
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2815 enddef |
de756b3f4dee
patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Bram Moolenaar <Bram@vim.org>
parents:
20055
diff
changeset
|
2816 |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2817 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
|
2818 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
|
2819 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
|
2820 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2821 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
|
2822 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
|
2823 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
|
2824 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2825 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
|
2826 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
|
2827 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2828 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
|
2829 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
|
2830 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
|
2831 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2832 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
|
2833 |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2834 au! TabEnter |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2835 unlet g:entered |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2836 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2837 CheckScriptSuccess([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2838 '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
|
2839 '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
|
2840 '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
|
2841 '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
|
2842 't:var = 888', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2843 '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
|
2844 ]) |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2845 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2846 CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2847 'vim9script', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2848 'let 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
|
2849 ], '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
|
2850 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2851 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2852 'vim9script', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2853 'let b:var = 123', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2854 ], '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
|
2855 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2856 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2857 'vim9script', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2858 'let w:var = 123', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2859 ], '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
|
2860 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2861 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2862 'vim9script', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2863 'let t:var = 123', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2864 ], '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
|
2865 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2866 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2867 'vim9script', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2868 'let v:version = 123', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2869 ], '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
|
2870 |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2871 CheckScriptFailure([ |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2872 'vim9script', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2873 'let $VARIABLE = "text"', |
6b4b887a12f0
patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Bram Moolenaar <Bram@vim.org>
parents:
20945
diff
changeset
|
2874 ], '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
|
2875 |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
2876 CheckScriptFailure([ |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
2877 'vim9script', |
0653b9b72091
patch 8.2.1024: Vim9: no error for using "let g:var = val"
Bram Moolenaar <Bram@vim.org>
parents:
20921
diff
changeset
|
2878 '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
|
2879 'unlet g:var# comment1', |
20091
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2880 ], 'E108:') |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2881 |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2882 CheckScriptFailure([ |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2883 'let g:var = 123', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2884 'unlet g:var # something', |
a64c16ff98b8
patch 8.2.0601: Vim9: :unlet is not compiled
Bram Moolenaar <Bram@vim.org>
parents:
20089
diff
changeset
|
2885 ], 'E488:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2886 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2887 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2888 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2889 '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
|
2890 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2891 'elseif 2 #comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2892 ' echo "no"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2893 'endif', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2894 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2895 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2896 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2897 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2898 '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
|
2899 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2900 'endif', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2901 ], 'E15:') |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2902 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2903 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2904 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2905 '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
|
2906 ' echo "yes"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2907 'elseif 2#comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2908 ' echo "no"', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2909 'endif', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2910 ], 'E15:') |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2911 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2912 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2913 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2914 'let 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
|
2915 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2916 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2917 CheckScriptFailure([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2918 'vim9script', |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2919 'let v = 1# comment6', |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2920 ], 'E15:') |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2921 |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2922 CheckScriptSuccess([ |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2923 'vim9script', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2924 'new' |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2925 'call 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
|
2926 ':$', |
20111
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2927 'dsearch /pat/ #comment', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2928 'bwipe!', |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2929 ]) |
f40231487a49
patch 8.2.0611: Vim9: no check for space before #comment
Bram Moolenaar <Bram@vim.org>
parents:
20099
diff
changeset
|
2930 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2931 CheckScriptFailure([ |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2932 'vim9script', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2933 'new' |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2934 'call setline(1, ["# define pat", "last"])', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2935 ':$', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2936 '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
|
2937 'bwipe!', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2938 ], 'E488:') |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2939 |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2940 CheckScriptFailure([ |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2941 'vim9script', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2942 'func! SomeFunc()', |
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2943 ], 'E477:') |
20079
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2944 enddef |
336483164ca6
patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Bram Moolenaar <Bram@vim.org>
parents:
20061
diff
changeset
|
2945 |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2946 def Test_finish() |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2947 let lines =<< trim END |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2948 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
|
2949 g:res = 'one' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2950 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
|
2951 g:res = 'two' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2952 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
|
2953 g:res = 'three' |
20351
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2954 END |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2955 writefile(lines, 'Xfinished') |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2956 source Xfinished |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2957 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
|
2958 |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2959 unlet g:res |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2960 delete('Xfinished') |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2961 enddef |
680296770464
patch 8.2.0731: Vim9: parsing declarations continues after :finish
Bram Moolenaar <Bram@vim.org>
parents:
20349
diff
changeset
|
2962 |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2963 def Test_let_func_call() |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2964 let lines =<< trim END |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2965 vim9script |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2966 func GetValue() |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2967 if exists('g:count') |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2968 let g:count += 1 |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2969 else |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2970 let g:count = 1 |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2971 endif |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2972 return 'this' |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2973 endfunc |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2974 let val: string = GetValue() |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2975 # env var is always a string |
20435
61d2eb1413f2
patch 8.2.0772: Vim9: some variable initializations not tested
Bram Moolenaar <Bram@vim.org>
parents:
20419
diff
changeset
|
2976 let env = $TERM |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2977 END |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2978 writefile(lines, 'Xfinished') |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2979 source Xfinished |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
2980 # GetValue() is not called during discovery phase |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2981 assert_equal(1, g:count) |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2982 |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2983 unlet g:count |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2984 delete('Xfinished') |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2985 enddef |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2986 |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2987 def Test_let_missing_type() |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2988 let lines =<< trim END |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
2989 vim9script |
20435
61d2eb1413f2
patch 8.2.0772: Vim9: some variable initializations not tested
Bram Moolenaar <Bram@vim.org>
parents:
20419
diff
changeset
|
2990 let var = g:unknown |
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
|
2991 END |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
2992 CheckScriptFailure(lines, 'E121:') |
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
|
2993 |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
2994 lines =<< trim END |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
2995 vim9script |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
2996 let nr: number = 123 |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
2997 let var = nr |
918b9a05cf35
patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Bram Moolenaar <Bram@vim.org>
parents:
20399
diff
changeset
|
2998 END |
20528
489cb75c76b6
patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Bram Moolenaar <Bram@vim.org>
parents:
20504
diff
changeset
|
2999 CheckScriptSuccess(lines) |
20397
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3000 enddef |
c225be44692a
patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Bram Moolenaar <Bram@vim.org>
parents:
20351
diff
changeset
|
3001 |
20840
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3002 def Test_let_declaration() |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3003 let lines =<< trim END |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3004 vim9script |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3005 let var: string |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3006 g:var_uninit = var |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3007 var = 'text' |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3008 g:var_test = var |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3009 # prefixing s: is optional |
20846
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3010 s:var = 'prefixed' |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3011 g:var_prefixed = s:var |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3012 |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3013 let s:other: number |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3014 other = 1234 |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3015 g:other_var = other |
21819
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3016 |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3017 # type is inferred |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3018 s:dict = {'a': 222} |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3019 def GetDictVal(key: any) |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3020 g:dict_val = s:dict[key] |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3021 enddef |
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3022 GetDictVal('a') |
20840
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3023 END |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3024 CheckScriptSuccess(lines) |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3025 assert_equal('', g:var_uninit) |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3026 assert_equal('text', g:var_test) |
20846
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3027 assert_equal('prefixed', g:var_prefixed) |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3028 assert_equal(1234, g:other_var) |
21819
e3b429b995a6
patch 8.2.1459: Vim9: declaring script var in script does not infer the type
Bram Moolenaar <Bram@vim.org>
parents:
21801
diff
changeset
|
3029 assert_equal(222, g:dict_val) |
20840
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3030 |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3031 unlet g:var_uninit |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3032 unlet g:var_test |
20846
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3033 unlet g:var_prefixed |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3034 unlet g:other_var |
20840
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3035 enddef |
0600ab7b9f09
patch 8.2.0972: Vim9 script variable declarations need a type
Bram Moolenaar <Bram@vim.org>
parents:
20816
diff
changeset
|
3036 |
20915
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3037 def Test_let_declaration_fails() |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3038 let lines =<< trim END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3039 vim9script |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3040 const var: string |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3041 END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3042 CheckScriptFailure(lines, 'E1021:') |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3043 |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3044 lines =<< trim END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3045 vim9script |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3046 let 9var: string |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3047 END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3048 CheckScriptFailure(lines, 'E475:') |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3049 enddef |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3050 |
20842
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3051 def Test_let_type_check() |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3052 let lines =<< trim END |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3053 vim9script |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3054 let var: string |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3055 var = 1234 |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3056 END |
21821
0deb6f96a5a3
patch 8.2.1460: error messages are spread out
Bram Moolenaar <Bram@vim.org>
parents:
21819
diff
changeset
|
3057 CheckScriptFailure(lines, 'E1012:') |
20846
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3058 |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3059 lines =<< trim END |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3060 vim9script |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3061 let var:string |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3062 END |
709379ab5110
patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Bram Moolenaar <Bram@vim.org>
parents:
20842
diff
changeset
|
3063 CheckScriptFailure(lines, 'E1069:') |
20915
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3064 |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3065 lines =<< trim END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3066 vim9script |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3067 let var: asdf |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3068 END |
a3853794a768
patch 8.2.1009: Vim9: some failures not checked for
Bram Moolenaar <Bram@vim.org>
parents:
20899
diff
changeset
|
3069 CheckScriptFailure(lines, 'E1010:') |
21648
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3070 |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3071 lines =<< trim END |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3072 vim9script |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3073 let s:l: list<number> |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3074 s:l = [] |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3075 END |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3076 CheckScriptSuccess(lines) |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3077 |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3078 lines =<< trim END |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3079 vim9script |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3080 let s:d: dict<number> |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3081 s:d = {} |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3082 END |
33fec2448697
patch 8.2.1374: Vim9: error for assigning empty list to script variable
Bram Moolenaar <Bram@vim.org>
parents:
21646
diff
changeset
|
3083 CheckScriptSuccess(lines) |
20842
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3084 enddef |
bacc2ab11810
patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Bram Moolenaar <Bram@vim.org>
parents:
20840
diff
changeset
|
3085 |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3086 def Test_forward_declaration() |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3087 let lines =<< trim END |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3088 vim9script |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3089 def GetValue(): string |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3090 return theVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3091 enddef |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3092 let 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
|
3093 g:initVal = GetValue() |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3094 theVal = 'else' |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3095 g:laterVal = GetValue() |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3096 END |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3097 writefile(lines, 'Xforward') |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3098 source Xforward |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3099 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
|
3100 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
|
3101 |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3102 unlet g:initVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3103 unlet g:laterVal |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3104 delete('Xforward') |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3105 enddef |
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3106 |
20816
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3107 def Test_source_vim9_from_legacy() |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3108 let legacy_lines =<< trim END |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3109 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
|
3110 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3111 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
|
3112 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
|
3113 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
|
3114 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
|
3115 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
|
3116 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3117 " 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
|
3118 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
|
3119 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
|
3120 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
|
3121 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3122 " 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
|
3123 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
|
3124 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
|
3125 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
|
3126 END |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3127 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
|
3128 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3129 let vim9_lines =<< trim END |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3130 vim9script |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3131 let local = 'local' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3132 g:global = 'global' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3133 export let exported = 'exported' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3134 export def GetText(): string |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3135 return 'text' |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3136 enddef |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3137 END |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3138 writefile(vim9_lines, 'Xvim9_script.vim') |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3139 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3140 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
|
3141 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3142 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
|
3143 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
|
3144 |
9faab49c880f
patch 8.2.0960: cannot use :import in legacy Vim script
Bram Moolenaar <Bram@vim.org>
parents:
20538
diff
changeset
|
3145 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
|
3146 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
|
3147 enddef |
20399
d1a54d2bd145
patch 8.2.0754: Vim9: No test for forward declaration
Bram Moolenaar <Bram@vim.org>
parents:
20397
diff
changeset
|
3148 |
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
|
3149 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
|
3150 " 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
|
3151 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
|
3152 vim9script |
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
|
3153 let var = '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
|
3154 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
|
3155 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
|
3156 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
|
3157 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
|
3158 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
|
3159 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
|
3160 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
|
3161 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
|
3162 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
|
3163 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
|
3164 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
|
3165 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
|
3166 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
|
3167 " 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
|
3168 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
|
3169 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
|
3170 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
|
3171 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
|
3172 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
|
3173 " 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
|
3174 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
|
3175 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
|
3176 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
|
3177 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
|
3178 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
|
3179 " 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
|
3180 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
|
3181 |
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
|
3182 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
|
3183 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
|
3184 |
21150
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3185 def Test_vim9_copen() |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3186 # 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
|
3187 copen |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3188 quit |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3189 enddef |
951aad18b1af
patch 8.2.1126: Vim9: using :copen causes an error
Bram Moolenaar <Bram@vim.org>
parents:
21146
diff
changeset
|
3190 |
21485
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3191 " test using a vim9script that is auto-loaded from an autocmd |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3192 def Test_vim9_autoload() |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3193 let lines =<< trim END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3194 vim9script |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3195 def foo#test() |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3196 echomsg getreg('"') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3197 enddef |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3198 END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3199 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3200 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
|
3201 writefile(lines, 'Xdir/autoload/foo.vim') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3202 let save_rtp = &rtp |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3203 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
|
3204 augroup test |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3205 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
|
3206 augroup END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3207 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3208 normal Y |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3209 |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3210 augroup test |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3211 autocmd! |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3212 augroup END |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3213 delete('Xdir', 'rf') |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3214 &rtp = save_rtp |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3215 enddef |
afc8cc1a291f
patch 8.2.1293: Vim9: error when using vim9script in TextYankPost
Bram Moolenaar <Bram@vim.org>
parents:
21479
diff
changeset
|
3216 |
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
|
3217 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
|
3218 # 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
|
3219 # legacy Vim script, cannot check the variable type. |
f4e21796f47d
patch 8.2.1503: Vim9: error for autocmd defined in :def in legacy script
Bram Moolenaar <Bram@vim.org>
parents:
21905
diff
changeset
|
3220 let lines =<< trim 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
|
3221 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
|
3222 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
|
3223 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
|
3224 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
|
3225 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
|
3226 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
|
3227 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
|
3228 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
|
3229 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
|
3230 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
|
3231 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
|
3232 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
|
3233 |
21707
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3234 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
|
3235 # 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
|
3236 # 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
|
3237 mkdir('rtp/syntax', 'p') |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3238 let export_lines =<< trim END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3239 vim9script |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3240 export let That = 'yes' |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3241 END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3242 writefile(export_lines, 'rtp/syntax/Xexport.vim') |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3243 let import_lines =<< trim END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3244 vim9script |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3245 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
|
3246 END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3247 writefile(import_lines, 'rtp/syntax/vim.vim') |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3248 let save_rtp = &rtp |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3249 &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
|
3250 syntax on |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3251 augroup CmdWin |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3252 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
|
3253 augroup END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3254 # 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
|
3255 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
|
3256 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
|
3257 |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3258 augroup CmdWin |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3259 au! |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3260 augroup END |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3261 &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
|
3262 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
|
3263 enddef |
8e224527391e
patch 8.2.1403: Vim9: Vim highlighting may fail in cmdline window
Bram Moolenaar <Bram@vim.org>
parents:
21701
diff
changeset
|
3264 |
21979
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3265 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
|
3266 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
|
3267 |
21979
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3268 if RunVim([], ['wq Xdidit'], '+"func <SNR>1_func"') |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3269 call assert_equal([], readfile('Xdidit')) |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3270 endif |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3271 delete('Xdidit') |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3272 enddef |
a98211c3e14e
patch 8.2.1539: using invalid script ID causes a crash
Bram Moolenaar <Bram@vim.org>
parents:
21957
diff
changeset
|
3273 |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3274 " 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
|
3275 def Test_substitute_cmd() |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3276 new |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3277 setline(1, 'something') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3278 :substitute(some(other( |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3279 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
|
3280 bwipe! |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3281 |
21353
fb8c8fcb7b60
patch 8.2.1227: Vim9: allowing both quoted and # comments is confusing
Bram Moolenaar <Bram@vim.org>
parents:
21265
diff
changeset
|
3282 # also when the context is Vim9 script |
19894
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3283 let lines =<< trim END |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3284 vim9script |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3285 new |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3286 setline(1, 'something') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3287 :substitute(some(other( |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3288 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
|
3289 bwipe! |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3290 END |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3291 writefile(lines, 'Xvim9lines') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3292 source Xvim9lines |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3293 |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3294 delete('Xvim9lines') |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3295 enddef |
ea4f8e789627
patch 8.2.0503: Vim9: some code is not tested
Bram Moolenaar <Bram@vim.org>
parents:
19892
diff
changeset
|
3296 |
19181
94eda51ba9ba
patch 8.2.0149: maintaining a Vim9 branch separately is more work
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3297 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |