49 lines
1.4 KiB
Lua
49 lines
1.4 KiB
Lua
local oil = require("oil")
|
|
local test_util = require("tests.test_util")
|
|
local fs = require("oil.fs")
|
|
|
|
describe("Alternate buffer", function()
|
|
after_each(function()
|
|
test_util.reset_editor()
|
|
end)
|
|
|
|
it("sets previous buffer as alternate", function()
|
|
vim.cmd.edit({ args = { "foo" } })
|
|
oil.open()
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
assert.equals("foo", vim.fn.expand("#"))
|
|
end)
|
|
|
|
it("sets previous buffer as alternate when editing oil://", function()
|
|
vim.cmd.edit({ args = { "foo" } })
|
|
vim.cmd.edit({ args = { "oil://" .. fs.os_to_posix_path(vim.fn.getcwd()) } })
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
assert.equals("foo", vim.fn.expand("#"))
|
|
end)
|
|
|
|
it("preserves alternate buffer if editing the same file", function()
|
|
vim.cmd.edit({ args = { "foo" } })
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
oil.open()
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
assert.equals("foo", vim.fn.expand("#"))
|
|
end)
|
|
|
|
it("preserves alternate buffer if discarding changes", function()
|
|
vim.cmd.edit({ args = { "foo" } })
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
oil.open()
|
|
oil.close()
|
|
assert.equals("foo", vim.fn.expand("#"))
|
|
end)
|
|
|
|
it("sets previous buffer as alternate after multi-dir hops", function()
|
|
vim.cmd.edit({ args = { "foo" } })
|
|
oil.open()
|
|
oil.open()
|
|
oil.open()
|
|
oil.open()
|
|
vim.cmd.edit({ args = { "bar" } })
|
|
assert.equals("foo", vim.fn.expand("#"))
|
|
end)
|
|
end)
|