Mercurial > vim
view src/testdir/test_vim9_cmd.vim @ 21115:16f6b66cba21
Added tag v8.2.1108 for changeset d0265fdadec95a19f7bbbc34d78bd5faf32cd926
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 01 Jul 2020 16:00:06 +0200 |
parents | 111f877e63d9 |
children | 839ace6773aa |
line wrap: on
line source
" Test commands that are not compiled in a :def function source check.vim source vim9.vim def Test_edit_wildcards() let filename = 'Xtest' edit `=filename` assert_equal('Xtest', bufname()) let filenr = 123 edit Xtest`=filenr` assert_equal('Xtest123', bufname()) filenr = 77 edit `=filename``=filenr` assert_equal('Xtest77', bufname()) edit X`=filename`xx`=filenr`yy assert_equal('XXtestxx77yy', bufname()) enddef def Test_hardcopy_wildcards() CheckUnix CheckFeature postscript let outfile = 'print' hardcopy > X`=outfile`.ps assert_true(filereadable('Xprint.ps')) delete('Xprint.ps') enddef def Test_syn_include_wildcards() writefile(['syn keyword Found found'], 'Xthemine.vim') let save_rtp = &rtp &rtp = '.' let fname = 'mine' syn include @Group Xthe`=fname`.vim assert_match('Found.* contained found', execute('syn list Found')) &rtp = save_rtp delete('Xthemine.vim') enddef def Test_assign_list() let l: list<string> = [] l[0] = 'value' assert_equal('value', l[0]) l[1] = 'asdf' assert_equal('value', l[0]) assert_equal('asdf', l[1]) assert_equal('asdf', l[-1]) assert_equal('value', l[-2]) let nrl: list<number> = [] for i in range(5) nrl[i] = i endfor assert_equal([0, 1, 2, 3, 4], nrl) enddef def Test_assign_dict() let d: dict<string> = {} d['key'] = 'value' assert_equal('value', d['key']) d[123] = 'qwerty' assert_equal('qwerty', d[123]) assert_equal('qwerty', d['123']) let nrd: dict<number> = {} for i in range(3) nrd[i] = i endfor assert_equal({'0': 0, '1': 1, '2': 2}, nrd) enddef def Test_echo_linebreak() let lines =<< trim END vim9script redir @a echo 'one' .. 'two' redir END assert_equal("\nonetwo", @a) END CheckScriptSuccess(lines) lines =<< trim END vim9script redir @a echo 11 + 77 - 22 redir END assert_equal("\n66", @a) END CheckScriptSuccess(lines) enddef def Test_if_linebreak() let lines =<< trim END vim9script if 1 && 2 || 3 g:res = 42 endif assert_equal(42, g:res) END CheckScriptSuccess(lines) unlet g:res lines =<< trim END vim9script if 1 && 0 g:res = 0 elseif 0 || 0 || 1 g:res = 12 endif assert_equal(12, g:res) END CheckScriptSuccess(lines) unlet g:res enddef def Test_while_linebreak() let lines =<< trim END vim9script let nr = 0 while nr < 10 + 3 nr = nr + 4 endwhile assert_equal(16, nr) END CheckScriptSuccess(lines) lines =<< trim END vim9script let nr = 0 while nr < 10 + 3 nr = nr + 4 endwhile assert_equal(16, nr) END CheckScriptSuccess(lines) enddef def Test_for_linebreak() let lines =<< trim END vim9script let nr = 0 for x in [1, 2, 3, 4] nr = nr + x endfor assert_equal(10, nr) END CheckScriptSuccess(lines) lines =<< trim END vim9script let nr = 0 for x in [1, 2, 3, 4 ] nr = nr + x endfor assert_equal(10, nr) END CheckScriptSuccess(lines) enddef " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker