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

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

[nongnu] elpa/idris-mode a47903d2e1 5/5: Merge pull request #599 from ke


From: ELPA Syncer
Subject: [nongnu] elpa/idris-mode a47903d2e1 5/5: Merge pull request #599 from keram/idris-type-at-point-with-process
Date: Tue, 20 Dec 2022 05:59:08 -0500 (EST)

branch: elpa/idris-mode
commit a47903d2e12532ede66e7cd939e03d0fa2a1b549
Merge: c7c5abaea7 bf262eb187
Author: Jan de Muijnck-Hughes <jfdm@users.noreply.github.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #599 from keram/idris-type-at-point-with-process
    
    Ensure Idris connection exist when running `idris-thing-at-point`
---
 idris-commands.el |  2 ++
 idris-tests.el    | 28 ++++++++++++++++++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/idris-commands.el b/idris-commands.el
index befa67b5f3..b88980042f 100644
--- a/idris-commands.el
+++ b/idris-commands.el
@@ -338,6 +338,8 @@ Does not return a line number."
   (interactive "P")
   (let ((name (if thing (read-string "Check: ")
                 (idris-name-at-point))))
+    (when (idris-current-buffer-dirty-p)
+      (idris-load-file-sync))
     (when name
       (idris-info-for-name :type-of name))))
 
diff --git a/idris-tests.el b/idris-tests.el
index eaf489ebd9..47798b24cb 100644
--- a/idris-tests.el
+++ b/idris-tests.el
@@ -124,6 +124,9 @@ remain."
       (dotimes (_ 5) (accept-process-output nil 1))
       (let ((holes-buffer (get-buffer idris-hole-list-buffer-name)))
         (should (not (bufferp holes-buffer)))))
+
+    (kill-buffer buffer)
+    (kill-buffer other-buffer)
     (idris-quit)))
 
 (ert-deftest idris-test-proof-search ()
@@ -261,6 +264,31 @@ myReverse xs = revAcc [] xs where
     (kill-buffer)
     (idris-quit)))
 
+(ert-deftest idris-test-idris-type-at-point ()
+  "Test that `idris-type-at-point' works."
+  (let ((buffer (find-file-noselect "test-data/AddClause.idr")))
+    ;; Assert that we have clean global test state
+    (should (not idris-connection))
+    (with-current-buffer buffer
+      (goto-char (point-min))
+      (re-search-forward "data Test")
+      (funcall-interactively 'idris-type-at-point nil)
+      ;; Assert that Idris connection is created
+      (should idris-connection)
+      ;; Assert that focus is in the Idris info buffer
+      (should (string= (buffer-name) idris-info-buffer-name))
+      ;; Assert that the info buffer displays a type
+      (should (string-match-p "Test : Type" (buffer-substring-no-properties 
(point-min) (point-max))))
+
+      ;; TODO: How to emulate "q" key binding to quit info buffer?
+      (idris-info-quit)
+      ;; Assert leaving info buffer will get us back to Idris code buffer
+      (should (eq (current-buffer) buffer))
+
+      ;; Cleanup
+      (kill-buffer))
+    (idris-quit)))
+
 (ert-deftest idris-backard-toplevel-navigation-test-2pTac9 ()
   "Test idris-backard-toplevel navigation command."
   (idris-test-with-temp-buffer



reply via email to

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