From 18bf9fbab6e93b07919e060a817c9b94adb710a4 Mon Sep 17 00:00:00 2001 From: NStefan002 Date: Wed, 27 Dec 2023 15:10:20 +0100 Subject: [PATCH] test: ui tests, addition to #448, #374 --- lua/harpoon/test/ui_spec.lua | 55 ++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/lua/harpoon/test/ui_spec.lua b/lua/harpoon/test/ui_spec.lua index 750dc13..c4e7038 100644 --- a/lua/harpoon/test/ui_spec.lua +++ b/lua/harpoon/test/ui_spec.lua @@ -133,4 +133,59 @@ describe("harpoon", function() eq(harpoon.ui.bufnr, nil) eq(harpoon.ui.win_id, nil) end) + + it("exiting the ui with q (see harpoon.buffer)", 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("q") + + 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("exiting the ui with (see harpoon.buffer)", 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) + + it("exiting the ui with something like :bprev / :bnext", 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) + + -- Some people use keymaps that trigger these commands + vim.cmd("bprev") + + 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)