blob: 2d5bf4516ecffc278825be0d6bfd33337d289558 [file] [log] [blame]
Bram Moolenaarcfe435d2020-04-25 20:02:55 +02001" Test commands that are not compiled in a :def function
2
Bram Moolenaar6378c4f2020-04-26 13:50:41 +02003source check.vim
Bram Moolenaarcfe435d2020-04-25 20:02:55 +02004source vim9.vim
5
6def Test_edit_wildcards()
7 let filename = 'Xtest'
8 edit `=filename`
9 assert_equal('Xtest', bufname())
10
11 let filenr = 123
12 edit Xtest`=filenr`
13 assert_equal('Xtest123', bufname())
14
15 filenr = 77
16 edit `=filename``=filenr`
17 assert_equal('Xtest77', bufname())
18
19 edit X`=filename`xx`=filenr`yy
20 assert_equal('XXtestxx77yy', bufname())
21enddef
22
Bram Moolenaar6378c4f2020-04-26 13:50:41 +020023def Test_hardcopy_wildcards()
24 CheckUnix
25 CheckFeature postscript
26
27 let outfile = 'print'
28 hardcopy > X`=outfile`.ps
29 assert_true(filereadable('Xprint.ps'))
30
31 delete('Xprint.ps')
32enddef
33
34def Test_syn_include_wildcards()
35 writefile(['syn keyword Found found'], 'Xthemine.vim')
36 let save_rtp = &rtp
37 &rtp = '.'
38
39 let fname = 'mine'
40 syn include @Group Xthe`=fname`.vim
41 assert_match('Found.* contained found', execute('syn list Found'))
42
43 &rtp = save_rtp
44 delete('Xthemine.vim')
45enddef
46
Bram Moolenaar1cc2a942020-05-10 19:10:31 +020047def Test_assign_list()
48 let l: list<string> = []
49 l[0] = 'value'
50 assert_equal('value', l[0])
51
52 l[1] = 'asdf'
53 assert_equal('value', l[0])
54 assert_equal('asdf', l[1])
55 assert_equal('asdf', l[-1])
56 assert_equal('value', l[-2])
Bram Moolenaarf163bd52020-05-10 21:47:43 +020057
58 let nrl: list<number> = []
59 for i in range(5)
60 nrl[i] = i
61 endfor
62 assert_equal([0, 1, 2, 3, 4], nrl)
Bram Moolenaar1cc2a942020-05-10 19:10:31 +020063enddef
64
65def Test_assign_dict()
66 let d: dict<string> = {}
67 d['key'] = 'value'
68 assert_equal('value', d['key'])
69
70 d[123] = 'qwerty'
71 assert_equal('qwerty', d[123])
72 assert_equal('qwerty', d['123'])
Bram Moolenaarf163bd52020-05-10 21:47:43 +020073
74 let nrd: dict<number> = {}
75 for i in range(3)
76 nrd[i] = i
77 endfor
78 assert_equal({'0': 0, '1': 1, '2': 2}, nrd)
Bram Moolenaar1cc2a942020-05-10 19:10:31 +020079enddef
80
Bram Moolenaar7e8967f2020-06-27 21:56:17 +020081def Test_echo_linebreak()
82 let lines =<< trim END
83 vim9script
84 redir @a
85 echo 'one'
86 .. 'two'
87 redir END
88 assert_equal("\nonetwo", @a)
89 END
90 CheckScriptSuccess(lines)
91
92 lines =<< trim END
93 vim9script
94 redir @a
95 echo 11 +
96 77
97 - 22
98 redir END
99 assert_equal("\n66", @a)
100 END
101 CheckScriptSuccess(lines)
102enddef
103
Bram Moolenaarcfe435d2020-04-25 20:02:55 +0200104
105" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker