mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 01:02:09 +00:00
Revert "vim-patch:8.1.1378: delete() can not handle a file name that looks like a pattern (#12784)"
This reverts commit 4be0e92db0
.
Unfortunately, that commit stalled the Windows builds on GHA and likely requires
other patches to work properly.
This commit is contained in:
@@ -17,6 +17,33 @@ describe('Test for delete()', function()
|
||||
eq(-1, eval("delete('Xfile')"))
|
||||
end)
|
||||
|
||||
it('directory delete', function()
|
||||
command("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()
|
||||
command("call mkdir('Xdir1')")
|
||||
command("call mkdir('Xdir1/subdir')")
|
||||
command("call mkdir('Xdir1/empty')")
|
||||
command('split Xdir1/Xfile')
|
||||
command("call setline(1, ['a', 'b'])")
|
||||
command('w')
|
||||
command('w Xdir1/subdir/Xfile')
|
||||
command('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(1, eval("isdirectory('Xdir1/empty')"))
|
||||
eq(0, eval("delete('Xdir1', 'rf')"))
|
||||
eq(0, eval("isdirectory('Xdir1')"))
|
||||
eq(-1, eval("delete('Xdir1', 'd')"))
|
||||
end)
|
||||
|
||||
it('symlink delete', function()
|
||||
source([[
|
||||
split Xfile
|
||||
@@ -36,4 +63,55 @@ describe('Test for delete()', function()
|
||||
eq(-1, eval("delete('Xlink')"))
|
||||
eq(0, eval("delete('Xfile')"))
|
||||
end)
|
||||
|
||||
it('symlink directory delete', function()
|
||||
command("call mkdir('Xdir1')")
|
||||
if helpers.iswin() then
|
||||
command("silent !mklink /j Xlink Xdir1")
|
||||
else
|
||||
command("silent !ln -s Xdir1 Xlink")
|
||||
end
|
||||
eq(1, eval("isdirectory('Xdir1')"))
|
||||
eq(1, eval("isdirectory('Xlink')"))
|
||||
-- Delete the link, not the directory
|
||||
eq(0, eval("delete('Xlink')"))
|
||||
eq(-1, eval("delete('Xlink')"))
|
||||
eq(0, eval("delete('Xdir1', 'd')"))
|
||||
end)
|
||||
|
||||
it('symlink recursive delete', function()
|
||||
source([[
|
||||
call mkdir('Xdir3')
|
||||
call mkdir('Xdir3/subdir')
|
||||
call mkdir('Xdir4')
|
||||
split Xdir3/Xfile
|
||||
call setline(1, ['a', 'b'])
|
||||
w
|
||||
w Xdir3/subdir/Xfile
|
||||
w Xdir4/Xfile
|
||||
close
|
||||
if has('win32')
|
||||
silent !mklink /j Xdir3\Xlink Xdir4
|
||||
else
|
||||
silent !ln -s ../Xdir4 Xdir3/Xlink
|
||||
endif
|
||||
]])
|
||||
|
||||
eq(1, eval("isdirectory('Xdir3')"))
|
||||
eq(eval("['a', 'b']"), eval("readfile('Xdir3/Xfile')"))
|
||||
eq(1, eval("isdirectory('Xdir3/subdir')"))
|
||||
eq(eval("['a', 'b']"), eval("readfile('Xdir3/subdir/Xfile')"))
|
||||
eq(1, eval("isdirectory('Xdir4')"))
|
||||
eq(1, eval("isdirectory('Xdir3/Xlink')"))
|
||||
eq(eval("['a', 'b']"), eval("readfile('Xdir4/Xfile')"))
|
||||
|
||||
eq(0, eval("delete('Xdir3', 'rf')"))
|
||||
eq(0, eval("isdirectory('Xdir3')"))
|
||||
eq(-1, eval("delete('Xdir3', 'd')"))
|
||||
-- symlink is deleted, not the directory it points to
|
||||
eq(1, eval("isdirectory('Xdir4')"))
|
||||
eq(eval("['a', 'b']"), eval("readfile('Xdir4/Xfile')"))
|
||||
eq(0, eval("delete('Xdir4/Xfile')"))
|
||||
eq(0, eval("delete('Xdir4', 'd')"))
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user