summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/minimal_lsp.lua39
-rw-r--r--tests/specs/plugins_load_spec.lua39
2 files changed, 23 insertions, 55 deletions
diff --git a/tests/minimal_lsp.lua b/tests/minimal_lsp.lua
index 01e814be..9515268f 100644
--- a/tests/minimal_lsp.lua
+++ b/tests/minimal_lsp.lua
@@ -13,25 +13,21 @@ local temp_dir = vim.loop.os_getenv "TEMP" or "/tmp"
vim.cmd("set packpath=" .. join_paths(temp_dir, "nvim", "site"))
local package_root = join_paths(temp_dir, "nvim", "site", "pack")
-local install_path = join_paths(package_root, "packer", "start", "packer.nvim")
-local compile_path = join_paths(install_path, "plugin", "packer_compiled.lua")
+local plugins_dir = join_paths(package_root, "lazy", "opt")
+local install_path = join_paths(package_root, "lazy.nvim")
-- Choose whether to use the executable that's managed by mason
local use_lsp_installer = true
local function load_plugins()
- require("packer").startup {
- {
- "wbthomason/packer.nvim",
- "neovim/nvim-lspconfig",
- "williamboman/mason-lspconfig.nvim",
- "williamboman/mason.nvim",
- },
- config = {
- package_root = package_root,
- compile_path = compile_path,
- },
- }
+ vim.opt.rtp:prepend(install_path)
+ require("lazy").setup({
+ "neovim/nvim-lspconfig",
+ "williamboman/mason-lspconfig.nvim",
+ "williamboman/mason.nvim",
+ }, {
+ root = plugins_dir,
+ })
end
function _G.dump(...)
@@ -98,12 +94,19 @@ _G.load_config = function()
end
if vim.fn.isdirectory(install_path) == 0 then
- vim.fn.system { "git", "clone", "https://github.com/wbthomason/packer.nvim", install_path }
+ print "Installing lazy.nvim"
+ vim.fn.system {
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "--single-branch",
+ "https://github.com/folke/lazy.nvim.git",
+ install_path,
+ }
load_plugins()
- require("packer").sync()
- vim.cmd [[autocmd User PackerComplete ++once lua load_config()]]
+ vim.cmd [[autocmd User LazyDone ++once lua load_config()]]
else
load_plugins()
- require("packer").sync()
+ require("lazy").sync()
_G.load_config()
end
diff --git a/tests/specs/plugins_load_spec.lua b/tests/specs/plugins_load_spec.lua
index 5cf1c2f5..37294c2e 100644
--- a/tests/specs/plugins_load_spec.lua
+++ b/tests/specs/plugins_load_spec.lua
@@ -6,16 +6,16 @@ a.describe("plugin-loader", function()
pcall(function()
lvim.log.level = "debug"
- package.loaded["packer.log"] = nil
package.loaded["lvim.core.log"] = nil
end)
a.it("should be able to load default packages without errors", function()
+ vim.go.loadplugins = true
loader.load { plugins, lvim.plugins }
-- TODO: maybe there's a way to avoid hard-coding the names of the modules?
local startup_plugins = {
- "packer",
+ "lazy",
}
for _, plugin in ipairs(startup_plugins) do
@@ -24,8 +24,6 @@ a.describe("plugin-loader", function()
end)
a.it("should be able to load lsp packages without errors", function()
- loader.load { plugins, lvim.plugins }
-
require("lvim.lsp").setup()
local lsp_packages = {
@@ -38,37 +36,4 @@ a.describe("plugin-loader", function()
assert.truthy(package.loaded[plugin])
end
end)
-
- pending("should be able to rollback plugins without errors", function()
- local plugin = { name = "onedarker.nvim" }
- plugin.path = vim.tbl_filter(function(package)
- return package:match(plugin.name)
- end, vim.api.nvim_list_runtime_paths())[1]
-
- local get_current_sha = function(repo)
- local res = vim.fn.system(string.format("git -C %s log -1 --pretty=%%h", repo)):gsub("\n", "")
- return res
- end
- plugin.test_sha = "316b1c9"
- _G.locked_sha = get_current_sha(plugin.path)
- loader.load { plugins, lvim.plugins }
-
- os.execute(string.format("git -C %s fetch --deepen 999 --quiet", plugin.path))
- os.execute(string.format("git -C %s checkout %s --quiet", plugin.path, plugin.test_sha))
- assert.equal(plugin.test_sha, get_current_sha(plugin.path))
- _G.completed = false
- _G.verify_sha = function()
- if _G.locked_sha ~= get_current_sha(plugin.path) then
- error "unmatched results!"
- else
- _G.completed = true
- end
- end
- vim.cmd [[autocmd User PackerComplete ++once lua _G.verify_sha()]]
- loader.load_snapshot()
- local ret = vim.wait(30 * 10 * 1000, function()
- return _G.completed == true
- end, 200)
- assert.True(ret)
- end)
end)