| 123456789101112131415161718192021222324252627282930313233343536373839 | 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)
 |