From c6f29cbc7c61cf8910f0015888c5a019826e4c78 Mon Sep 17 00:00:00 2001 From: Arseniy Zaostrovnykh Date: Sun, 21 Jul 2024 13:36:11 +0200 Subject: [PATCH] Test display of code lens --- test/lsp-mock-server-test.el | 19 +++++++++++++++++++ test/mock-lsp-server.el | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/test/lsp-mock-server-test.el b/test/lsp-mock-server-test.el index 466057b156..833ba52430 100644 --- a/test/lsp-mock-server-test.el +++ b/test/lsp-mock-server-test.el @@ -835,4 +835,23 @@ line 3 words here and here (should (equal (line-number-at-pos) (1+ hint-line))) (should (equal (current-column) hint-col)))))))) +(ert-deftest lsp-test-server-provides-code-lens () + "lsp-mode accepts code lenses from the server and displays them." + (let ((line 2)) + (lsp-test-schedule-response + "textDocument/codeLens" + (vconcat (list `(:range (:start (:line ,line :character 0) + :end (:line ,line :character 1)) + :command (:title "My command" + :command "myCommand"))))) + (lsp-mock-run-with-mock-server + (lsp-test-sync-wait (lsp-test-all-overlays 'lsp-lens)) + (let ((lenses (lsp-test-all-overlays 'lsp-lens))) + (should (eq (length lenses) 1)) + (message "%s" (overlay-properties (car lenses))) + (should (string-match-p "My command" + (overlay-get (car lenses) 'after-string))) + (goto-char (overlay-start (car lenses))) + (should (equal (line-number-at-pos) (- line 1))))))) + ;;; lsp-mock-server-test.el ends here diff --git a/test/mock-lsp-server.el b/test/mock-lsp-server.el index 745ad0f87c..b83ac4aedb 100644 --- a/test/mock-lsp-server.el +++ b/test/mock-lsp-server.el @@ -84,7 +84,8 @@ :codeActionProvider t :declarationProvider t :definitionProvider t - :inlayHintProvider t) + :inlayHintProvider t + :codeLensProvider (:resolveProvider ())) "Capabilities of the server.") (defun greeting (id)