59 lines
2.2 KiB
Lua
59 lines
2.2 KiB
Lua
local fs = require("oil.fs")
|
|
local test_util = require("tests.test_util")
|
|
local util = require("oil.util")
|
|
|
|
describe("update_moved_buffers", function()
|
|
after_each(function()
|
|
test_util.reset_editor()
|
|
end)
|
|
|
|
it("Renames moved buffers", function()
|
|
vim.cmd.edit({ args = { "oil-test:///foo/bar.txt" } })
|
|
util.update_moved_buffers("file", "oil-test:///foo/bar.txt", "oil-test:///foo/baz.txt")
|
|
assert.equals("oil-test:///foo/baz.txt", vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
|
|
it("Renames moved buffers when they are normal files", function()
|
|
local tmpdir = fs.join(vim.loop.fs_realpath(vim.fn.stdpath("cache")), "oil", "test")
|
|
local testfile = fs.join(tmpdir, "foo.txt")
|
|
vim.cmd.edit({ args = { testfile } })
|
|
util.update_moved_buffers(
|
|
"file",
|
|
"oil://" .. fs.os_to_posix_path(testfile),
|
|
"oil://" .. fs.os_to_posix_path(fs.join(tmpdir, "bar.txt"))
|
|
)
|
|
assert.equals(fs.join(tmpdir, "bar.txt"), vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
|
|
it("Renames directories", function()
|
|
vim.cmd.edit({ args = { "oil-test:///foo/" } })
|
|
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///bar/")
|
|
assert.equals("oil-test:///bar/", vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
|
|
it("Renames subdirectories", function()
|
|
vim.cmd.edit({ args = { "oil-test:///foo/bar/" } })
|
|
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///baz/")
|
|
assert.equals("oil-test:///baz/bar/", vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
|
|
it("Renames subfiles", function()
|
|
vim.cmd.edit({ args = { "oil-test:///foo/bar.txt" } })
|
|
util.update_moved_buffers("directory", "oil-test:///foo/", "oil-test:///baz/")
|
|
assert.equals("oil-test:///baz/bar.txt", vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
|
|
it("Renames subfiles when they are normal files", function()
|
|
local tmpdir = fs.join(vim.loop.fs_realpath(vim.fn.stdpath("cache")), "oil", "test")
|
|
local foo = fs.join(tmpdir, "foo")
|
|
local bar = fs.join(tmpdir, "bar")
|
|
local testfile = fs.join(foo, "foo.txt")
|
|
vim.cmd.edit({ args = { testfile } })
|
|
util.update_moved_buffers(
|
|
"directory",
|
|
"oil://" .. fs.os_to_posix_path(foo),
|
|
"oil://" .. fs.os_to_posix_path(bar)
|
|
)
|
|
assert.equals(fs.join(bar, "foo.txt"), vim.api.nvim_buf_get_name(0))
|
|
end)
|
|
end)
|