mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 09:50:04 +08:00
147 lines
3.3 KiB
Lua
147 lines
3.3 KiB
Lua
pcall(require, "luacov")
|
|
|
|
local ns_id = require("neo-tree.ui.highlights").ns_id
|
|
local u = require("tests.utils")
|
|
|
|
local config = {
|
|
renderers = {
|
|
directory = {
|
|
{
|
|
"container",
|
|
content = {
|
|
{ "indent", zindex = 10 },
|
|
{ "icon", zindex = 10 },
|
|
{ "name", zindex = 10 },
|
|
{ "name", zindex = 5, align = "right" },
|
|
},
|
|
},
|
|
},
|
|
file = {
|
|
{
|
|
"container",
|
|
content = {
|
|
{ "indent", zindex = 10 },
|
|
{ "icon", zindex = 10 },
|
|
{ "name", zindex = 10 },
|
|
{ "name", zindex = 20, align = "right" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
window = {
|
|
width = 40,
|
|
},
|
|
}
|
|
|
|
local config_right = {
|
|
renderers = {
|
|
directory = {
|
|
{
|
|
"container",
|
|
enable_character_fade = false,
|
|
content = {
|
|
{ "indent", zindex = 10, align = "right" },
|
|
{ "icon", zindex = 10, align = "right" },
|
|
{ "name", zindex = 10, align = "right" },
|
|
},
|
|
},
|
|
},
|
|
file = {
|
|
{
|
|
"container",
|
|
enable_character_fade = false,
|
|
content = {
|
|
{ "indent", zindex = 10, align = "right" },
|
|
{ "icon", zindex = 10, align = "right" },
|
|
{ "name", zindex = 10, align = "right" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
window = {
|
|
width = 40,
|
|
},
|
|
}
|
|
|
|
local test_dir = {
|
|
items = {
|
|
{
|
|
name = "foo",
|
|
type = "dir",
|
|
items = {
|
|
{
|
|
name = "bar",
|
|
type = "dir",
|
|
items = {
|
|
{ name = "bar1.txt", type = "file" },
|
|
{ name = "bar2.txt", type = "file" },
|
|
},
|
|
},
|
|
{ name = "foo1.lua", type = "file" },
|
|
},
|
|
},
|
|
{ name = "bazbazbazbazbazbazbazbazbazbazbazbazbazbazbazbazbaz", type = "dir" },
|
|
{ name = "1.md", type = "file" },
|
|
},
|
|
}
|
|
|
|
describe("sources/components/container", function()
|
|
local req_switch = u.get_require_switch()
|
|
|
|
local test = u.fs.init_test(test_dir)
|
|
test.setup()
|
|
|
|
after_each(function()
|
|
if req_switch then
|
|
req_switch.restore()
|
|
end
|
|
|
|
u.clear_environment()
|
|
end)
|
|
|
|
describe("should expand to width", function()
|
|
for pow = 4, 8 do
|
|
it(2 ^ pow, function()
|
|
config.window.width = 2 ^ pow
|
|
require("neo-tree").setup(config)
|
|
vim.cmd([[Neotree focus]])
|
|
u.wait_for(function()
|
|
return vim.bo.filetype == "neo-tree"
|
|
end)
|
|
|
|
assert.equals(vim.bo.filetype, "neo-tree")
|
|
|
|
local width = vim.api.nvim_win_get_width(0)
|
|
local lines = vim.api.nvim_buf_get_lines(0, 2, -1, false)
|
|
for _, line in ipairs(lines) do
|
|
assert.is_true(#line >= width)
|
|
end
|
|
end)
|
|
end
|
|
end)
|
|
|
|
describe("right-align should matches width", function()
|
|
for pow = 4, 8 do
|
|
it(2 ^ pow, function()
|
|
config_right.window.width = 2 ^ pow
|
|
require("neo-tree").setup(config_right)
|
|
vim.cmd([[Neotree focus]])
|
|
u.wait_for(function()
|
|
return vim.bo.filetype == "neo-tree"
|
|
end)
|
|
|
|
assert.equals(vim.bo.filetype, "neo-tree")
|
|
|
|
local width = vim.api.nvim_win_get_width(0)
|
|
local lines = vim.api.nvim_buf_get_lines(0, 1, -1, false)
|
|
for _, line in ipairs(lines) do
|
|
line = vim.fn.trim(line, " ", 2)
|
|
assert.equals(width, vim.fn.strchars(line))
|
|
end
|
|
end)
|
|
end
|
|
end)
|
|
|
|
test.teardown()
|
|
end)
|