summaryrefslogtreecommitdiff
path: root/tests/specs/config_loader_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/config_loader_spec.lua')
-rw-r--r--tests/specs/config_loader_spec.lua20
1 files changed, 13 insertions, 7 deletions
diff --git a/tests/specs/config_loader_spec.lua b/tests/specs/config_loader_spec.lua
index 1aef0974..54cb4e96 100644
--- a/tests/specs/config_loader_spec.lua
+++ b/tests/specs/config_loader_spec.lua
@@ -1,6 +1,5 @@
local a = require "plenary.async_lib.tests"
local config = require "lvim.config"
-local utils = require "lvim.utils"
a.describe("config-loader", function()
local user_config_path = config:get_user_config_path()
@@ -18,22 +17,29 @@ a.describe("config-loader", function()
end)
a.it("should be able to reload user-config without errors", function()
- vim.opt.undodir = "/tmp"
- assert.equal(vim.opt.undodir:get()[1], "/tmp")
+ 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()
- assert.equal(vim.opt.undodir:get()[1], utils.join_paths(get_cache_dir(), "undo"))
+ assert.equal(vim.opt.undodir:get()[1], test_path)
end)
a.it("should not get interrupted by errors in user-config", function()
- vim.opt.undodir = "/tmp"
- assert.equal(vim.opt.undodir:get()[1], "/tmp")
+ local test_path = "/tmp/lunarvim"
+ os.execute(string.format([[echo "vim.opt.undodir = '%s'" >> %s]], test_path, user_config_path))
+ config:reload()
+ assert.equal(vim.opt.undodir:get()[1], test_path)
os.execute(string.format("echo 'bad_string_test' >> %s", user_config_path))
local error_handler = function(msg)
return msg
end
local err = xpcall(config:reload(), error_handler)
assert.falsy(err)
- assert.equal(vim.opt.undodir:get()[1], utils.join_paths(get_cache_dir(), "undo"))
+ assert.equal(vim.opt.undodir:get()[1], test_path)
+ local errmsg = vim.fn.eval "v:errmsg"
+ local exception = vim.fn.eval "v:exception"
+ assert.equal("", errmsg) -- v:errmsg was not updated.
+ assert.equal("", exception)
os.execute(string.format("echo '' > %s", user_config_path))
end)
end)