Meh I'll figure out submodules later

This commit is contained in:
mustard 2025-09-16 01:01:02 +02:00
parent 4ca9d44a90
commit 8cb281f436
352 changed files with 66107 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,144 @@
pcall(require, "luacov")
local utils = require("nui.layout.utils")
local h = require("tests.helpers")
local eq = h.eq
describe("nui.layout", function()
describe("utils", function()
describe("parse_relative", function()
local fallback_winid = 17
it("works for type=buf", function()
local relative = {
type = "buf",
position = { row = 2, col = 4 },
winid = 42,
}
local result = utils.parse_relative(relative, fallback_winid)
eq(result, {
relative = "win",
win = relative.winid,
bufpos = {
relative.position.row,
relative.position.col,
},
})
end)
it("works for type=cursor", function()
local relative = {
type = "cursor",
winid = 42,
}
local result = utils.parse_relative(relative, fallback_winid)
eq(result, {
relative = relative.type,
win = relative.winid,
})
end)
it("works for type=editor", function()
local relative = {
type = "editor",
winid = 42,
}
local result = utils.parse_relative(relative, fallback_winid)
eq(result, {
relative = relative.type,
win = relative.winid,
})
end)
it("works for type=win", function()
local relative = {
type = "win",
winid = 42,
}
local result = utils.parse_relative(relative, fallback_winid)
eq(result, {
relative = relative.type,
win = relative.winid,
})
end)
it("uses fallback_winid if relative.winid is nil", function()
local relative = {
type = "win",
}
local result = utils.parse_relative(relative, fallback_winid)
eq(result, {
relative = relative.type,
win = fallback_winid,
})
end)
end)
describe("get_container_info", function()
it("works for relative=editor", function()
local result = utils.get_container_info({
relative = "editor",
})
eq(result, {
relative = "editor",
size = {
width = vim.o.columns,
height = vim.o.lines,
},
type = "editor",
})
end)
it("works for relative=cursor", function()
local winid = vim.api.nvim_get_current_win()
local result = utils.get_container_info({
relative = "cursor",
win = 0,
})
eq(result, {
relative = "cursor",
size = {
width = vim.api.nvim_win_get_width(winid),
height = vim.api.nvim_win_get_height(winid),
},
type = "window",
winid = winid,
})
end)
it("works for relative=win w/ bufpos", function()
local winid = vim.api.nvim_get_current_win()
local result = utils.get_container_info({
relative = "win",
win = winid,
bufpos = { 2, 4 },
})
eq(result, {
relative = "buf",
size = {
width = vim.api.nvim_win_get_width(winid),
height = vim.api.nvim_win_get_height(winid),
},
type = "window",
winid = winid,
})
end)
end)
end)
end)