canola.nvim/tests/win_options_spec.lua
2025-01-24 15:41:27 -08:00

66 lines
2 KiB
Lua

require("plenary.async").tests.add_to_env()
local oil = require("oil")
local test_util = require("tests.test_util")
a.describe("window options", function()
after_each(function()
test_util.reset_editor()
end)
a.it("Restores window options on close", function()
vim.cmd.edit({ args = { "README.md" } })
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
oil.close()
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Restores window options on edit", function()
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
vim.cmd.edit({ args = { "README.md" } })
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Restores window options on split <filename>", function()
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
vim.cmd.split({ args = { "README.md" } })
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Restores window options on split", function()
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
vim.cmd.split()
vim.cmd.edit({ args = { "README.md" } })
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Restores window options on tabnew <filename>", function()
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
vim.cmd.tabnew({ args = { "README.md" } })
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Restores window options on tabnew", function()
test_util.oil_open()
assert.equals("no", vim.o.signcolumn)
vim.cmd.tabnew()
vim.cmd.edit({ args = { "README.md" } })
assert.equals("auto", vim.o.signcolumn)
end)
a.it("Sets the window options when re-entering oil buffer", function()
oil.open()
test_util.wait_for_autocmd({ "User", pattern = "OilEnter" })
assert.truthy(vim.w.oil_did_enter)
vim.cmd.edit({ args = { "README.md" } })
assert.falsy(vim.w.oil_did_enter)
oil.open()
assert.truthy(vim.w.oil_did_enter)
vim.cmd.vsplit()
assert.truthy(vim.w.oil_did_enter)
end)
end)