annotate src/testdir/test_vim9_cmd.vim @ 20353:a8a76fd967ab v8.2.0732

patch 8.2.0732: Vim9: storing value in dict messes up stack Commit: https://github.com/vim/vim/commit/f163bd5e41e8ea1d32e7977e671598a9d6f7b23c Author: Bram Moolenaar <Bram@vim.org> Date: Sun May 10 21:47:43 2020 +0200 patch 8.2.0732: Vim9: storing value in dict messes up stack Problem: Vim9: storing value in dict messes up stack. Solution: Correct item count of stack.
author Bram Moolenaar <Bram@vim.org>
date Sun, 10 May 2020 22:00:04 +0200
parents e29b2ec8d4d2
children 524fa1d42e1e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20170
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Test commands that are not compiled in a :def function
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2
20172
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
3 source check.vim
20170
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 source vim9.vim
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 def Test_edit_wildcards()
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7 let filename = 'Xtest'
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 edit `=filename`
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 assert_equal('Xtest', bufname())
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 let filenr = 123
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 edit Xtest`=filenr`
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 assert_equal('Xtest123', bufname())
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 filenr = 77
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 edit `=filename``=filenr`
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 assert_equal('Xtest77', bufname())
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 edit X`=filename`xx`=filenr`yy
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 assert_equal('XXtestxx77yy', bufname())
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 enddef
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22
20172
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
23 def Test_hardcopy_wildcards()
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
24 CheckUnix
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
25 CheckFeature postscript
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
26
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
27 let outfile = 'print'
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
28 hardcopy > X`=outfile`.ps
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
29 assert_true(filereadable('Xprint.ps'))
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
30
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
31 delete('Xprint.ps')
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
32 enddef
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
33
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
34 def Test_syn_include_wildcards()
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
35 writefile(['syn keyword Found found'], 'Xthemine.vim')
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
36 let save_rtp = &rtp
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
37 &rtp = '.'
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
38
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
39 let fname = 'mine'
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
40 syn include @Group Xthe`=fname`.vim
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
41 assert_match('Found.* contained found', execute('syn list Found'))
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
42
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
43 &rtp = save_rtp
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
44 delete('Xthemine.vim')
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
45 enddef
1d84eaed0ec8 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Bram Moolenaar <Bram@vim.org>
parents: 20170
diff changeset
46
20349
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
47 def Test_assign_list()
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
48 let l: list<string> = []
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
49 l[0] = 'value'
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
50 assert_equal('value', l[0])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
51
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
52 l[1] = 'asdf'
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
53 assert_equal('value', l[0])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
54 assert_equal('asdf', l[1])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
55 assert_equal('asdf', l[-1])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
56 assert_equal('value', l[-2])
20353
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
57
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
58 let nrl: list<number> = []
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
59 for i in range(5)
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
60 nrl[i] = i
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
61 endfor
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
62 assert_equal([0, 1, 2, 3, 4], nrl)
20349
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
63 enddef
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
64
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
65 def Test_assign_dict()
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
66 let d: dict<string> = {}
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
67 d['key'] = 'value'
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
68 assert_equal('value', d['key'])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
69
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
70 d[123] = 'qwerty'
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
71 assert_equal('qwerty', d[123])
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
72 assert_equal('qwerty', d['123'])
20353
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
73
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
74 let nrd: dict<number> = {}
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
75 for i in range(3)
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
76 nrd[i] = i
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
77 endfor
a8a76fd967ab patch 8.2.0732: Vim9: storing value in dict messes up stack
Bram Moolenaar <Bram@vim.org>
parents: 20349
diff changeset
78 assert_equal({'0': 0, '1': 1, '2': 2}, nrd)
20349
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
79 enddef
e29b2ec8d4d2 patch 8.2.0730: Vim9: Assignment to dict member does not work
Bram Moolenaar <Bram@vim.org>
parents: 20172
diff changeset
80
20170
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
81
0612c64a2b87 patch 8.2.0640: Vim9: expanding does not work
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
82 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker