aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/expand_spec.lua
diff options
context:
space:
mode:
authorJames McCoy <jamessan@jamessan.com>2016-06-03 22:18:40 -0500
committerJustin M. Keyes <justinkz@gmail.com>2016-06-03 23:18:40 -0400
commit667c1dc4de99f7671f887e187d865206fd2c3b6d (patch)
tree1b7e72790865573240efb3702bb2a02e7fafb1d0 /test/functional/legacy/expand_spec.lua
parent2d9c7dd8404f3eb8c20653309bae5ddf60e5201b (diff)
downloadrneovim-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.lua65
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)