summaryrefslogtreecommitdiff
path: root/mac/.config/LunarVim/tests/specs/config_loader_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'mac/.config/LunarVim/tests/specs/config_loader_spec.lua')
-rw-r--r--mac/.config/LunarVim/tests/specs/config_loader_spec.lua54
1 files changed, 54 insertions, 0 deletions
diff --git a/mac/.config/LunarVim/tests/specs/config_loader_spec.lua b/mac/.config/LunarVim/tests/specs/config_loader_spec.lua
new file mode 100644
index 0000000..565f1a5
--- /dev/null
+++ b/mac/.config/LunarVim/tests/specs/config_loader_spec.lua
@@ -0,0 +1,54 @@
+local config = require "lvim.config"
+local fmt = string.format
+
+describe("config-loader", function()
+ local user_config_path = join_paths(get_config_dir(), "config.lua")
+ local default_config_path = join_paths(get_lvim_base_dir(), "utils", "installer", "config.example.lua")
+
+ before_each(function()
+ os.execute(fmt("cp -f %s %s", default_config_path, user_config_path))
+ vim.cmd [[
+ let v:errmsg = ""
+ let v:errors = []
+ ]]
+ end)
+
+ after_each(function()
+ local errmsg = vim.fn.eval "v:errmsg"
+ local exception = vim.fn.eval "v:exception"
+ local errors = vim.fn.eval "v:errors"
+ assert.equal("", errmsg)
+ assert.equal("", exception)
+ assert.True(vim.tbl_isempty(errors))
+ end)
+
+ it("should be able to find user-config", function()
+ assert.equal(user_config_path, get_config_dir() .. "/config.lua")
+ end)
+
+ it("should be able to load user-config without errors", function()
+ config:load(user_config_path)
+ end)
+
+ it("should be able to reload user-config without errors", function()
+ config:load(user_config_path)
+ local test_path = "/tmp/lvim"
+ os.execute(string.format([[echo "vim.opt.undodir = '%s'" >> %s]], test_path, user_config_path))
+ config:reload()
+ vim.schedule(function()
+ assert.equal(vim.opt.undodir:get()[1], test_path)
+ end)
+ end)
+
+ it("should not get interrupted by errors in user-config", function()
+ local test_path = "/tmp/lunarvim"
+ os.execute(string.format([[echo "vim.opt.undodir = '%s'" >> %s]], test_path, user_config_path))
+ config:load(user_config_path)
+ assert.equal(vim.opt.undodir:get()[1], test_path)
+ require("lvim.core.log"):set_level "error"
+ lvim.log.level = "error"
+ os.execute(string.format("echo 'ignore_me()' >> %s", user_config_path))
+ config:load(user_config_path)
+ assert.equal(vim.opt.undodir:get()[1], test_path)
+ end)
+end)