Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 1 | " Test commands that are not compiled in a :def function |
| 2 | |
Bram Moolenaar | 6378c4f | 2020-04-26 13:50:41 +0200 | [diff] [blame] | 3 | source check.vim |
Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 4 | source vim9.vim |
| 5 | |
| 6 | def 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()) |
| 21 | enddef |
| 22 | |
Bram Moolenaar | 6378c4f | 2020-04-26 13:50:41 +0200 | [diff] [blame] | 23 | def 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') |
| 32 | enddef |
| 33 | |
| 34 | def 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') |
| 45 | enddef |
| 46 | |
Bram Moolenaar | 1cc2a94 | 2020-05-10 19:10:31 +0200 | [diff] [blame] | 47 | def 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 Moolenaar | f163bd5 | 2020-05-10 21:47:43 +0200 | [diff] [blame] | 57 | |
| 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 Moolenaar | 1cc2a94 | 2020-05-10 19:10:31 +0200 | [diff] [blame] | 63 | enddef |
| 64 | |
| 65 | def 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 Moolenaar | f163bd5 | 2020-05-10 21:47:43 +0200 | [diff] [blame] | 73 | |
| 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 Moolenaar | 1cc2a94 | 2020-05-10 19:10:31 +0200 | [diff] [blame] | 79 | enddef |
| 80 | |
Bram Moolenaar | 7e8967f | 2020-06-27 21:56:17 +0200 | [diff] [blame^] | 81 | def 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) |
| 102 | enddef |
| 103 | |
Bram Moolenaar | cfe435d | 2020-04-25 20:02:55 +0200 | [diff] [blame] | 104 | |
| 105 | " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker |