harpoon/lua/harpoon2/test/ui_spec.lua
2023-11-29 07:18:08 -07:00

44 lines
1.3 KiB
Lua

local utils = require("harpoon2.test.utils")
local Buffer = require("harpoon2.buffer")
local harpoon = require("harpoon2")
local eq = assert.are.same
local be = utils.before_each(os.tmpname())
describe("harpoon", function()
before_each(function()
be()
harpoon = require("harpoon2")
end)
it("open the ui without any items in the list", function()
harpoon.ui:toggle_quick_menu(harpoon:list())
local bufnr = harpoon.ui.bufnr
local win_id = harpoon.ui.win_id
eq(vim.api.nvim_buf_is_valid(bufnr), true)
eq(vim.api.nvim_win_is_valid(win_id), true)
harpoon.ui:toggle_quick_menu()
eq(vim.api.nvim_buf_is_valid(bufnr), false)
eq(vim.api.nvim_win_is_valid(win_id), false)
eq(harpoon.ui.bufnr, nil)
eq(harpoon.ui.win_id, nil)
end)
it("delete file from list via ui", function()
local created_files = utils.fill_list_with_files(3, harpoon:list())
eq(harpoon:list():length(), 3)
harpoon.ui:toggle_quick_menu(harpoon:list())
table.remove(created_files, 2)
Buffer.set_contents(harpoon.ui.bufnr, created_files)
harpoon.ui:save()
eq(harpoon:list():length(), 2)
eq(harpoon:list():display(), created_files)
end)
end)