From e9db6eeb6e680cf7e48382ca02928a52354799d4 Mon Sep 17 00:00:00 2001 From: NStefan002 Date: Tue, 26 Dec 2023 19:52:24 +0100 Subject: [PATCH] test: add nvim_feedkeys test --- lua/harpoon/test/ui_spec.lua | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/lua/harpoon/test/ui_spec.lua b/lua/harpoon/test/ui_spec.lua index 5ef0db2..750dc13 100644 --- a/lua/harpoon/test/ui_spec.lua +++ b/lua/harpoon/test/ui_spec.lua @@ -5,12 +5,14 @@ local harpoon = require("harpoon") local eq = assert.are.same local be = utils.before_each(os.tmpname()) ---[[ +---@param k string local function key(k) - k = vim.api.nvim_replace_termcodes(k, true, false, true) - vim.api.nvim_feedkeys(k, "m", false) + vim.api.nvim_feedkeys( + vim.api.nvim_replace_termcodes(k, true, false, true), + "x", + true + ) end ---]] describe("harpoon", function() before_each(function() @@ -113,4 +115,22 @@ describe("harpoon", function() eq(list:display(), created_files) end ) + + it("exiting the ui with something like ", 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) + eq(vim.api.nvim_get_current_buf(), bufnr) + + key("") + + 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) end)