Files
dep/tests/dep_spec.lua

64 lines
1.8 KiB
Lua

---@diagnostic disable: undefined-global, undefined-field
local dep_ui_format = require("dep.ui.format")
local dep_spec_man = require("dep.spec")
describe("ui log formatting", function()
it("returns the proper chunks to print a formatted line", function()
assert.same(
{
{ "[", "" },
{ "11:22:33", "Boolean" },
{ "] ", "" },
{ "file.lua", "String" },
{ ":", "" },
{ "1", "Number" },
{ ": ", "" },
{ "some fancy message", "" }
},
dep_ui_format.log_line("[11:22:33] file.lua:1:(vim) some fancy message")
)
-- malformed log line
assert.same({},
dep_ui_format.log_line("11:22:33] file.lua:1:(vim) some fancy message"))
-- test nil values
assert.same({}, dep_ui_format.log_line(""))
assert.same({}, dep_ui_format.log_line(nil))
end)
end)
describe("package specification", function()
it("gets the package's name", function()
assert.equal(dep_spec_man.get_name({ "user/package" }), "package")
assert.equal(dep_spec_man.get_name({ "user/package.git" }), "package.git")
end)
it("ensurses specs are in the proper format", function()
local correct = { "user/package" }
assert.same(dep_spec_man.correct_spec("user/package"), correct)
assert.same(dep_spec_man.correct_spec({ "user/package" }), correct)
assert.same(dep_spec_man.correct_spec({ { "user/package" } }), correct)
end)
it("checks a spec for correctness", function()
assert.same(
dep_spec_man.check({ "user/package" }, true),
{ "user/package" }
)
assert.same(
dep_spec_man.check({
"user/package",
deps = "user/dependency"
}, true),
{
"user/package",
deps = {
"user/dependency"
}
}
)
end)
end)