aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/gruvbox/gruvbox_spec.lua113
-rw-r--r--tests/minimal_init.lua11
2 files changed, 124 insertions, 0 deletions
diff --git a/tests/gruvbox/gruvbox_spec.lua b/tests/gruvbox/gruvbox_spec.lua
new file mode 100644
index 0000000..9ab5cdc
--- /dev/null
+++ b/tests/gruvbox/gruvbox_spec.lua
@@ -0,0 +1,113 @@
+require("plenary.reload").reload_module("gruvbox", true)
+local gruvbox = require("gruvbox")
+
+describe("setup", function()
+ it("works with default values", function()
+ local expected = {
+ undercurl = true,
+ underline = true,
+ bold = true,
+ italic = true,
+ invert_selection = false,
+ invert_signs = false,
+ invert_tabline = false,
+ invert_intend_guides = false,
+ contrast = "hard",
+ overrides = {},
+ }
+
+ gruvbox.setup()
+ assert.are.same(gruvbox.config, expected)
+ end)
+
+ it("works with config overrides", function()
+ local expected = {
+ undercurl = false,
+ underline = false,
+ bold = true,
+ italic = true,
+ invert_selection = false,
+ invert_signs = false,
+ invert_tabline = false,
+ invert_intend_guides = false,
+ contrast = "hard",
+ overrides = {},
+ }
+
+ gruvbox.setup({ undercurl = false, underline = false })
+ assert.are.same(gruvbox.config, expected)
+ end)
+end)
+
+describe("highlight overrides", function()
+ it("should override a hightlight color", function()
+ local config = {
+ overrides = {
+ Search = { fg = "#ff9900", bg = "#000000" },
+ ColorColumn = { bg = "#ff9900" },
+ },
+ }
+
+ gruvbox.setup(config)
+ gruvbox.load()
+
+ local search_group_id = vim.api.nvim_get_hl_id_by_name("Search")
+ local search_values = {
+ background = vim.fn.synIDattr(search_group_id, "bg", "gui"),
+ foreground = vim.fn.synIDattr(search_group_id, "fg", "gui"),
+ }
+
+ assert.are.same(search_values, { background = "#000000", foreground = "#ff9900" })
+
+ local color_column_group_id = vim.api.nvim_get_hl_id_by_name("ColorColumn")
+ local color_column_values = {
+ background = vim.fn.synIDattr(color_column_group_id, "bg", "gui"),
+ }
+
+ assert.are.same(color_column_values, { background = "#ff9900" })
+ end)
+
+ it("should create new hightlights colors if they dont exist", function()
+ local config = {
+ overrides = {
+ Search = { fg = "#ff9900", bg = "#000000" },
+ New = { bg = "#ff9900" },
+ },
+ }
+
+ gruvbox.setup(config)
+ gruvbox.load()
+
+ local search_group_id = vim.api.nvim_get_hl_id_by_name("Search")
+ local search_values = {
+ background = vim.fn.synIDattr(search_group_id, "bg", "gui"),
+ foreground = vim.fn.synIDattr(search_group_id, "fg", "gui"),
+ }
+
+ assert.are.same(search_values, { background = "#000000", foreground = "#ff9900" })
+
+ local new_group_id = vim.api.nvim_get_hl_id_by_name("New")
+ local new_group_values = {
+ background = vim.fn.synIDattr(new_group_id, "bg", "gui"),
+ }
+
+ assert.are.same(new_group_values, { background = "#ff9900" })
+ end)
+
+ it("should override links", function()
+ local config = {
+ overrides = {
+ Function = { bg = "#990000" },
+ },
+ }
+
+ gruvbox.setup(config)
+ gruvbox.load()
+
+ local group_id = vim.api.nvim_get_hl_id_by_name("Function")
+ local values = {
+ background = vim.fn.synIDattr(group_id, "bg", "gui"),
+ }
+ assert.are.same(values, { background = "#990000" })
+ end)
+end)
diff --git a/tests/minimal_init.lua b/tests/minimal_init.lua
new file mode 100644
index 0000000..b4c8c23
--- /dev/null
+++ b/tests/minimal_init.lua
@@ -0,0 +1,11 @@
+local plenary_dir = os.getenv("PLENARY_DIR") or "/tmp/plenary.nvim"
+local is_not_a_directory = vim.fn.isdirectory(plenary_dir) == 0
+if is_not_a_directory then
+ vim.fn.system({ "git", "clone", "https://github.com/nvim-lua/plenary.nvim", plenary_dir })
+end
+
+vim.opt.rtp:append(".")
+vim.opt.rtp:append(plenary_dir)
+
+vim.cmd("runtime plugin/plenary.vim")
+require("plenary.busted")