From 96e5b61be1b18159804f6d7209601f98d16f7a7d Mon Sep 17 00:00:00 2001 From: Yi Ming Date: Thu, 13 Mar 2025 11:36:49 +0800 Subject: [PATCH] test(lsp): add a test for refreshing hints after being requested --- .../functional/plugin/lsp/inlay_hint_spec.lua | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/functional/plugin/lsp/inlay_hint_spec.lua b/test/functional/plugin/lsp/inlay_hint_spec.lua index eefcf825b8..e410a54c31 100644 --- a/test/functional/plugin/lsp/inlay_hint_spec.lua +++ b/test/functional/plugin/lsp/inlay_hint_spec.lua @@ -7,6 +7,7 @@ local eq = t.eq local dedent = t.dedent local exec_lua = n.exec_lua local insert = n.insert +local feed = n.feed local api = n.api local clear_notrace = t_lsp.clear_notrace @@ -369,6 +370,27 @@ test text screen:expect({ grid = grid_without_inlay_hints, unchanged = true }) end) + it('refreshes hints on request', function() + exec_lua([[vim.lsp.inlay_hint.enable(true, { bufnr = bufnr })]]) + screen:expect({ grid = grid_with_inlay_hints }) + feed('kibefore ') + screen:expect([[ + before^ {1:01234}test text | + |*2 + ]]) + exec_lua(function() + vim.lsp.inlay_hint.on_refresh( + nil, + nil, + { method = 'workspace/inlayHint/refresh', client_id = client_id } + ) + end) + screen:expect([[ + {1:01234}before^ test text | + |*2 + ]]) + end) + after_each(function() api.nvim_exec_autocmds('VimLeavePre', { modeline = false }) end)