diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-02-21 22:05:59 -0500 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-03-01 03:57:58 -0500 |
commit | eba8a9ca1d94f43b7fe2e92d5a2caa144dd68d0d (patch) | |
tree | d5c809a9f32cdcab47a8ebd974ecffbafc7ce13a /test/functional/legacy/expand_spec.lua | |
parent | 5e0c435ca1b711e80f78429431b4d400d789c618 (diff) | |
download | rneovim-eba8a9ca1d94f43b7fe2e92d5a2caa144dd68d0d.tar.gz rneovim-eba8a9ca1d94f43b7fe2e92d5a2caa144dd68d0d.tar.bz2 rneovim-eba8a9ca1d94f43b7fe2e92d5a2caa144dd68d0d.zip |
vim-patch:8.1.1510: a plugin cannot easily expand a command like done internally
Problem: A plugin cannot easily expand a command like done internally.
Solution: Add the expandcmd() function. (Yegappan Lakshmanan, closes vim/vim#4514)
https://github.com/vim/vim/commit/80dad48c5095d30873a42ec82628bdb213125d8e
Diffstat (limited to 'test/functional/legacy/expand_spec.lua')
-rw-r--r-- | test/functional/legacy/expand_spec.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/functional/legacy/expand_spec.lua b/test/functional/legacy/expand_spec.lua index 1b735080f4..f238128b31 100644 --- a/test/functional/legacy/expand_spec.lua +++ b/test/functional/legacy/expand_spec.lua @@ -70,6 +70,40 @@ describe('expand file name', function() call assert_match('\~', expand('%:p')) bwipe! endfunc + + func Test_expandcmd() + let $FOO = 'Test' + call assert_equal('e x/Test/y', expandcmd('e x/$FOO/y')) + unlet $FOO + + new + edit Xfile1 + call assert_equal('e Xfile1', expandcmd('e %')) + edit Xfile2 + edit Xfile1 + call assert_equal('e Xfile2', expandcmd('e #')) + edit Xfile2 + edit Xfile3 + edit Xfile4 + let bnum = bufnr('Xfile2') + call assert_equal('e Xfile2', expandcmd('e #' . bnum)) + call setline('.', 'Vim!@#') + call assert_equal('e Vim', expandcmd('e <cword>')) + call assert_equal('e Vim!@#', expandcmd('e <cWORD>')) + enew! + edit Xfile.java + call assert_equal('e Xfile.py', expandcmd('e %:r.py')) + call assert_equal('make abc.java', expandcmd('make abc.%:e')) + call assert_equal('make Xabc.java', expandcmd('make %:s?file?abc?')) + edit a1a2a3.rb + call assert_equal('make b1b2b3.rb a1a2a3 Xfile.o', expandcmd('make %:gs?a?b? %< #<.o')) + + call assert_fails('call expandcmd("make <afile>")', 'E495:') + call assert_fails('call expandcmd("make <afile>")', 'E495:') + enew + call assert_fails('call expandcmd("make %")', 'E499:') + close + endfunc ]]) end) @@ -87,4 +121,9 @@ describe('expand file name', function() call('Test_expand_tilde_filename') expected_empty() end) + + it('works with expandcmd()', function() + call('Test_expandcmd') + expected_empty() + end) end) |