mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #4367 from jbradaric/vim-7.4.1107
vim-patch:7.4.{1107,1114,1116,1117,1120}
This commit is contained in:
99
test/functional/legacy/delete_spec.lua
Normal file
99
test/functional/legacy/delete_spec.lua
Normal file
@@ -0,0 +1,99 @@
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, source = helpers.clear, helpers.source
|
||||
local eq, eval, execute = helpers.eq, helpers.eval, helpers.execute
|
||||
|
||||
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("call mkdir('Xdir1/empty')")
|
||||
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(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
|
||||
call setline(1, ['a', 'b'])
|
||||
wq
|
||||
silent !ln -s Xfile Xlink
|
||||
]])
|
||||
-- Delete the link, not the file
|
||||
eq(0, eval("delete('Xlink')"))
|
||||
eq(-1, eval("delete('Xlink')"))
|
||||
eq(0, eval("delete('Xfile')"))
|
||||
end)
|
||||
|
||||
it('symlink directory delete', function()
|
||||
execute("call mkdir('Xdir1')")
|
||||
execute("silent !ln -s Xdir1 Xlink")
|
||||
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
|
||||
silent !ln -s ../Xdir4 Xdir3/Xlink
|
||||
]])
|
||||
|
||||
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)
|
||||
@@ -238,7 +238,7 @@ local function standalone(...) -- luacheck: ignore
|
||||
end
|
||||
-- uncomment this line (and comment the `return`) for standalone debugging
|
||||
-- example usage:
|
||||
-- ../../.deps/usr/bin/luajit formatc.lua ../../include/tempfile.h.generated.h
|
||||
-- ../../.deps/usr/bin/luajit formatc.lua ../../include/fileio.h.generated.h
|
||||
-- ../../.deps/usr/bin/luajit formatc.lua /usr/include/malloc.h
|
||||
-- standalone(...)
|
||||
return formatc
|
||||
|
||||
@@ -2,7 +2,7 @@ local lfs = require 'lfs'
|
||||
local helpers = require 'test.unit.helpers'
|
||||
|
||||
local os = helpers.cimport './src/nvim/os/os.h'
|
||||
local tempfile = helpers.cimport './src/nvim/tempfile.h'
|
||||
local tempfile = helpers.cimport './src/nvim/fileio.h'
|
||||
|
||||
describe('tempfile related functions', function()
|
||||
after_each(function()
|
||||
|
||||
Reference in New Issue
Block a user