diff options
author | kylo252 <[email protected]> | 2022-01-02 14:53:01 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-01-02 14:53:01 +0100 |
commit | b3cfd165fbca4c8b595ed577027a5171e33a00e9 (patch) | |
tree | bfc6526edf613b294733d46ff823d69d6e9a58df /tests/specs/config_loader_spec.lua | |
parent | 73bf039c6333ba9cb3af93437b26c41e14566c47 (diff) |
refactor(test): cleanup test utilities (#2132)
Diffstat (limited to 'tests/specs/config_loader_spec.lua')
-rw-r--r-- | tests/specs/config_loader_spec.lua | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/specs/config_loader_spec.lua b/tests/specs/config_loader_spec.lua new file mode 100644 index 00000000..1aef0974 --- /dev/null +++ b/tests/specs/config_loader_spec.lua @@ -0,0 +1,39 @@ +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() + + a.it("should be able to find user-config", function() + assert.equal(user_config_path, get_config_dir() .. "/config.lua") + end) + + a.it("should be able to load user-config without errors", function() + config:load(user_config_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) + 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:reload() + assert.equal(vim.opt.undodir:get()[1], utils.join_paths(get_cache_dir(), "undo")) + 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") + 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")) + os.execute(string.format("echo '' > %s", user_config_path)) + end) +end) |