fix(spec): allow a spec module to be on the rtp and not only in config

This commit is contained in:
Folke Lemaitre 2023-01-01 20:19:09 +01:00
parent 963e6f72a7
commit 51c23b661e
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
5 changed files with 131 additions and 19 deletions

40
tests/core/util_spec.lua Normal file
View file

@ -0,0 +1,40 @@
local Util = require("lazy.util")
local Cache = require("lazy.core.cache")
local Helpers = require("tests.helpers")
describe("util", function()
before_each(function()
Helpers.fs_rm("")
end)
it("lsmod lists all mods in dir", function()
local tests = {
{
files = { "lua/foo/one.lua", "lua/foo/two.lua", "lua/foo/init.lua" },
mods = { "foo", "foo.one", "foo.two" },
},
{
files = { "lua/foo/one.lua", "lua/foo/two.lua", "lua/foo.lua" },
mods = { "foo", "foo.one", "foo.two" },
},
{
files = { "lua/foo/one.lua", "lua/foo/two.lua" },
mods = { "foo.one", "foo.two" },
},
}
vim.opt.rtp:append(Helpers.path(""))
for _, test in ipairs(tests) do
Cache.cache = {}
table.sort(test.mods)
Helpers.fs_rm("")
Helpers.fs_create(test.files)
local mods = {}
Util.lsmod("foo", function(modname, modpath)
mods[#mods + 1] = modname
end)
table.sort(mods)
assert.same(test.mods, mods)
end
end)
end)