diff options
author | James McCoy <jamessan@jamessan.com> | 2016-06-03 22:18:40 -0500 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-06-03 23:18:40 -0400 |
commit | 667c1dc4de99f7671f887e187d865206fd2c3b6d (patch) | |
tree | 1b7e72790865573240efb3702bb2a02e7fafb1d0 /test/functional/legacy/expand_spec.lua | |
parent | 2d9c7dd8404f3eb8c20653309bae5ddf60e5201b (diff) | |
download | rneovim-667c1dc4de99f7671f887e187d865206fd2c3b6d.tar.gz rneovim-667c1dc4de99f7671f887e187d865206fd2c3b6d.tar.bz2 rneovim-667c1dc4de99f7671f887e187d865206fd2c3b6d.zip |
vim-patch:7.4.1108 (#4872)
Problem: Expanding "~" halfway a file name.
Solution: Handle the file name as one name. (Marco Hinz) Add a test.
Closes vim/vim#564.
https://github.com/vim/vim/commit/58adb14739fa240ca6020cede9ab1f1cb07bd90a
Diffstat (limited to 'test/functional/legacy/expand_spec.lua')
-rw-r--r-- | test/functional/legacy/expand_spec.lua | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/test/functional/legacy/expand_spec.lua b/test/functional/legacy/expand_spec.lua new file mode 100644 index 0000000000..04701e8ba6 --- /dev/null +++ b/test/functional/legacy/expand_spec.lua @@ -0,0 +1,65 @@ +-- Test for expanding file names + +local helpers = require('test.functional.helpers') +local eq = helpers.eq +local call = helpers.call +local nvim = helpers.meths +local clear = helpers.clear +local source = helpers.source + +local function expected_empty() + eq({}, nvim.get_vvar('errors')) +end + +describe('expand file name', function() + before_each(function() + clear() + + source([[ + func Test_with_directories() + call mkdir('Xdir1') + call mkdir('Xdir2') + call mkdir('Xdir3') + cd Xdir3 + call mkdir('Xdir4') + cd .. + + split Xdir1/file + call setline(1, ['a', 'b']) + w + w Xdir3/Xdir4/file + close + + next Xdir?/*/file + call assert_equal('Xdir3/Xdir4/file', expand('%')) + next! Xdir?/*/nofile + call assert_equal('Xdir?/*/nofile', expand('%')) + + call delete('Xdir1', 'rf') + call delete('Xdir2', 'rf') + call delete('Xdir3', 'rf') + endfunc + + func Test_with_tilde() + let dir = getcwd() + call mkdir('Xdir ~ dir') + call assert_true(isdirectory('Xdir ~ dir')) + cd Xdir\ ~\ dir + call assert_true(getcwd() =~ 'Xdir \~ dir') + exe 'cd ' . fnameescape(dir) + call delete('Xdir ~ dir', 'd') + call assert_false(isdirectory('Xdir ~ dir')) + endfunc + ]]) + end) + + it('works with directories', function() + call('Test_with_directories') + expected_empty() + end) + + it('works with tilde', function() + call('Test_with_tilde') + expected_empty() + end) +end) |