mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-04 04:40:05 +08:00
103 lines
2.9 KiB
Lua
103 lines
2.9 KiB
Lua
pcall(require, "luacov")
|
|
|
|
local Path = require("plenary.path")
|
|
local u = require("tests.utils")
|
|
local verify = require("tests.utils.verify")
|
|
|
|
local run_in_current_command = function(command, expected_tree_node)
|
|
local winid = vim.api.nvim_get_current_win()
|
|
|
|
vim.cmd(command)
|
|
verify.window_handle_is(winid)
|
|
verify.buf_name_endswith(string.format("neo-tree filesystem [%s]", winid), 1000)
|
|
if expected_tree_node then
|
|
verify.filesystem_tree_node_is(expected_tree_node, winid)
|
|
end
|
|
end
|
|
|
|
describe("Command", function()
|
|
local test = u.fs.init_test({
|
|
items = {
|
|
{
|
|
name = "foo",
|
|
type = "dir",
|
|
items = {
|
|
{
|
|
name = "bar",
|
|
type = "dir",
|
|
items = {
|
|
{ name = "baz1.txt", type = "file" },
|
|
{ name = "baz2.txt", type = "file", id = "deepfile2" },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{ name = "topfile1.txt", type = "file", id = "topfile1" },
|
|
{ name = "topfile2.txt", type = "file", id = "topfile2" },
|
|
},
|
|
})
|
|
|
|
test.setup()
|
|
|
|
local fs_tree = test.fs_tree
|
|
|
|
after_each(function()
|
|
u.clear_environment()
|
|
end)
|
|
|
|
describe("netrw style:", function()
|
|
it("`:Neotree current` should show neo-tree in current window", function()
|
|
local cmd = "Neotree current"
|
|
run_in_current_command(cmd)
|
|
end)
|
|
|
|
it(
|
|
"`:Neotree current reveal` should show neo-tree and reveal file in current window",
|
|
function()
|
|
local cmd = "Neotree current reveal"
|
|
local testfile = fs_tree.lookup["topfile1"].abspath
|
|
u.editfile(testfile)
|
|
run_in_current_command(cmd, testfile)
|
|
end
|
|
)
|
|
|
|
it("`:Neotree current reveal toggle` should toggle neo-tree in current window", function()
|
|
local cmd = "Neotree current reveal toggle"
|
|
local testfile = fs_tree.lookup["topfile1"].abspath
|
|
u.editfile(testfile)
|
|
local tree_winid = vim.api.nvim_get_current_win()
|
|
|
|
-- toggle OPEN
|
|
run_in_current_command(cmd, testfile)
|
|
|
|
-- toggle CLOSE
|
|
vim.cmd(cmd)
|
|
verify.window_handle_is(tree_winid)
|
|
verify.buf_name_is(testfile)
|
|
end)
|
|
|
|
it(
|
|
"`:Neotree current reveal_force_cwd reveal_file=xyz` should reveal file current window if cwd is not a parent of file",
|
|
function()
|
|
vim.cmd("cd ~")
|
|
local testfile = fs_tree.lookup["deepfile2"].abspath
|
|
local cmd = "Neotree current reveal_force_cwd reveal_file=" .. testfile
|
|
run_in_current_command(cmd, testfile)
|
|
end
|
|
)
|
|
|
|
it(
|
|
"`:Neotree current reveal_force_cwd reveal_file=xyz` should reveal file current window if cwd is a parent of file",
|
|
function()
|
|
local testfile = fs_tree.lookup["deepfile2"].abspath
|
|
local testfile_dir = Path:new(testfile):parent().filename
|
|
vim.cmd(string.format("cd %s", testfile_dir))
|
|
local cmd = "Neotree current reveal_force_cwd reveal_file=" .. testfile
|
|
run_in_current_command(cmd, testfile)
|
|
end
|
|
)
|
|
end)
|
|
|
|
test.teardown()
|
|
end)
|