aboutsummaryrefslogtreecommitdiff
path: root/test/functional/legacy/delete_spec.lua
diff options
context:
space:
mode:
authorJurica Bradaric <jbradaric@gmail.com>2016-02-28 10:32:46 +0100
committerJurica Bradaric <jbradaric@gmail.com>2016-04-20 08:25:16 +0200
commit50a7517a6deb7d8eaa02bf718e273b7058066d89 (patch)
tree961a715fd5803214f5df2d6f8a864fdbdc3aec68 /test/functional/legacy/delete_spec.lua
parenta7a0bf54e3f339f7bf1f97dee44546cdcd926b1d (diff)
downloadrneovim-50a7517a6deb7d8eaa02bf718e273b7058066d89.tar.gz
rneovim-50a7517a6deb7d8eaa02bf718e273b7058066d89.tar.bz2
rneovim-50a7517a6deb7d8eaa02bf718e273b7058066d89.zip
vim-patch:7.4.1107
Problem: Vim can create a directory but not delete it. Solution: Add an argument to delete() to make it possible to delete a directory, also recursively. https://github.com/vim/vim/commit/da440d21a6b94d7f525fa7be9b1417c78dd9aa4c
Diffstat (limited to 'test/functional/legacy/delete_spec.lua')
-rw-r--r--test/functional/legacy/delete_spec.lua41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/functional/legacy/delete_spec.lua b/test/functional/legacy/delete_spec.lua
new file mode 100644
index 0000000000..01b06d606f
--- /dev/null
+++ b/test/functional/legacy/delete_spec.lua
@@ -0,0 +1,41 @@
+local helpers = require('test.functional.helpers')
+local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
+local eq, eval, execute, expect = helpers.eq, helpers.eval, helpers.execute, helpers.expect
+
+describe('Test for delete()', function()
+ before_each(clear)
+
+ it('file delete', function()
+ execute('split Xfile')
+ execute("call setline(1, ['a', 'b'])")
+ execute('wq')
+ eq(eval("['a', 'b']"), eval("readfile('Xfile')"))
+ eq(0, eval("delete('Xfile')"))
+ eq(-1, eval("delete('Xfile')"))
+ end)
+
+ it('directory delete', function()
+ execute("call mkdir('Xdir1')")
+ eq(1, eval("isdirectory('Xdir1')"))
+ eq(0, eval("delete('Xdir1', 'd')"))
+ eq(0, eval("isdirectory('Xdir1')"))
+ eq(-1, eval("delete('Xdir1', 'd')"))
+ end)
+ it('recursive delete', function()
+ execute("call mkdir('Xdir1')")
+ execute("call mkdir('Xdir1/subdir')")
+ execute('split Xdir1/Xfile')
+ execute("call setline(1, ['a', 'b'])")
+ execute('w')
+ execute('w Xdir1/subdir/Xfile')
+ execute('close')
+
+ eq(1, eval("isdirectory('Xdir1')"))
+ eq(eval("['a', 'b']"), eval("readfile('Xdir1/Xfile')"))
+ eq(1, eval("isdirectory('Xdir1/subdir')"))
+ eq(eval("['a', 'b']"), eval("readfile('Xdir1/subdir/Xfile')"))
+ eq(0, eval("delete('Xdir1', 'rf')"))
+ eq(0, eval("isdirectory('Xdir1')"))
+ eq(-1, eval("delete('Xdir1', 'd')"))
+ end)
+end)