Files
neovim/test/functional/legacy/delete_spec.lua
Jurica Bradaric 50a7517a6d 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.

da440d21a6
2016-04-20 08:25:16 +02:00

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)