mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00

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.
da440d21a6
42 lines
1.3 KiB
Lua
42 lines
1.3 KiB
Lua
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)
|