diff --git a/lua/diffview/tests/functional/highlight_spec.lua b/lua/diffview/tests/functional/highlight_spec.lua index d6310312..b9d62dd0 100644 --- a/lua/diffview/tests/functional/highlight_spec.lua +++ b/lua/diffview/tests/functional/highlight_spec.lua @@ -18,15 +18,33 @@ describe("highlight setup", function() assert.equals("Changed", api.nvim_get_hl(0, { name = "diffChanged" }).link) end) - it("preserves existing diff highlight groups", function() - api.nvim_set_hl(0, "diffAdded", { fg = 0x112233 }) - api.nvim_set_hl(0, "diffRemoved", { fg = 0x223344 }) - api.nvim_set_hl(0, "diffChanged", { fg = 0x334455 }) + describe("with user-defined diff highlight groups", function() + local saved - require("diffview.hl").setup() + before_each(function() + saved = { + diffAdded = api.nvim_get_hl(0, { name = "diffAdded" }), + diffRemoved = api.nvim_get_hl(0, { name = "diffRemoved" }), + diffChanged = api.nvim_get_hl(0, { name = "diffChanged" }), + } + end) + + after_each(function() + for name, def in pairs(saved) do + api.nvim_set_hl(0, name, def) + end + end) + + it("preserves them across setup()", function() + api.nvim_set_hl(0, "diffAdded", { fg = 0x112233 }) + api.nvim_set_hl(0, "diffRemoved", { fg = 0x223344 }) + api.nvim_set_hl(0, "diffChanged", { fg = 0x334455 }) + + require("diffview.hl").setup() - assert.equals(0x112233, api.nvim_get_hl(0, { name = "diffAdded" }).fg) - assert.equals(0x223344, api.nvim_get_hl(0, { name = "diffRemoved" }).fg) - assert.equals(0x334455, api.nvim_get_hl(0, { name = "diffChanged" }).fg) + assert.equals(0x112233, api.nvim_get_hl(0, { name = "diffAdded" }).fg) + assert.equals(0x223344, api.nvim_get_hl(0, { name = "diffRemoved" }).fg) + assert.equals(0x334455, api.nvim_get_hl(0, { name = "diffChanged" }).fg) + end) end) end)