emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/eglot 6370a1c 10/49: Fix some of eglot-tests.el for new


From: Stefan Monnier
Subject: [elpa] externals/eglot 6370a1c 10/49: Fix some of eglot-tests.el for new Eldoc library
Date: Wed, 17 Mar 2021 18:41:43 -0400 (EDT)

branch: externals/eglot
commit 6370a1cb79bdaab1d6788cd1fcd23359930092e0
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Fix some of eglot-tests.el for new Eldoc library
    
    * eglot-tests.el (eglot--tests-force-full-eldoc): Rewrite for new
    Eldoc.
    (eglot-multiline-eldoc): Unbreak.
---
 eglot-tests.el | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/eglot-tests.el b/eglot-tests.el
index c6d7ee2..e297314 100644
--- a/eglot-tests.el
+++ b/eglot-tests.el
@@ -425,19 +425,21 @@ Pass TIMEOUT to `eglot--with-timeout'."
   (eldoc t))
 
 (defun eglot--tests-force-full-eldoc ()
-  (let ((origin (current-buffer)))
-    (with-current-buffer (eldoc-doc-buffer)
+  ;; FIXME: This uses some Eldoc implementation defatils.
+  (when (buffer-live-p eldoc--doc-buffer)
+    (with-current-buffer eldoc--doc-buffer
       (let ((inhibit-read-only t))
-        (erase-buffer)
-        (with-current-buffer origin
-          (eglot--eldoc-on-demand))
-        (cl-loop
-         repeat 10
-         while (zerop (length (buffer-string)))
-         do (sit-for 0.1))
-        (should (cl-plusp (length (buffer-string))))
-        (message "returning %s" (buffer-string))
-        (buffer-string)))))
+        (erase-buffer))))
+  (eglot--eldoc-on-demand)
+  (cl-loop
+   repeat 10
+   for retval = (and (buffer-live-p eldoc--doc-buffer)
+                     (with-current-buffer eldoc--doc-buffer
+                       (let ((bs (buffer-string)))
+                         (unless (zerop (length bs)) bs))))
+   when retval return retval
+   do (sit-for 0.1)
+   finally (error "eglot--tests-force-full-eldoc didn't deliver.")))
 
 (ert-deftest rls-hover-after-edit ()
   "Hover and highlightChanges are tricky in RLS."
@@ -588,7 +590,7 @@ def foobazquuz(d, e, f): pass
       (let* ((eldoc-echo-area-use-multiline-p t)
              (captured-message (eglot--tests-force-full-eldoc)))
         (should (string-match "datetim" captured-message))
-        (should (cl-find ?\n eldoc-last-message))))))
+        (should (cl-find ?\n captured-message))))))
 
 (ert-deftest eglot-single-line-eldoc ()
   "Test if suitable amount of lines of hover info are shown."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]