| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 | local config = require "lvim.config"local fmt = string.formatdescribe("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)
 |