branch: elpa/casual
commit c3018780e9c1492bfacc5fb94df8a7b262b7c47f
Author: Charles Choi <[email protected]>
Commit: Charles Choi <[email protected]>

    Add info-apropos to Casual Info
    
    - #120 Adds command `info-apropos` to `casual-info-tmenu`.
    - Update unit test for `casual-info-tmenu`.
---
 lisp/casual-info.el       |   3 +-
 tests/test-casual-info.el | 148 +++++++++++++++++++++++++++++-----------------
 2 files changed, 97 insertions(+), 54 deletions(-)

diff --git a/lisp/casual-info.el b/lisp/casual-info.el
index bc1f6a2f91..d909d1e2c3 100644
--- a/lisp/casual-info.el
+++ b/lisp/casual-info.el
@@ -62,7 +62,8 @@
     :pad-keys t
     ("C-s" "I-search…" isearch-forward)
     ("s" "Search…" Info-search)
-    ("S" "Case sensitive…" Info-search-case-sensitively)]
+    ("S" "Case sensitive…" Info-search-case-sensitively)
+    ("a" "Apropos…" info-apropos)]
 
    ["History"
     :pad-keys t
diff --git a/tests/test-casual-info.el b/tests/test-casual-info.el
index b5b8d3fb1d..fa88c5052e 100644
--- a/tests/test-casual-info.el
+++ b/tests/test-casual-info.el
@@ -28,59 +28,101 @@
 (require 'casual-info-test-utils)
 (require 'casual-info)
 
-(ert-deftest test-casual-info-tmenu-bindings ()
-  (casualt-info-setup)
-  (let ((test-vectors (list)))
-    (push (casualt-suffix-test-vector "d" #'Info-directory) test-vectors)
-    (push (casualt-suffix-test-vector "t" #'Info-top-node) test-vectors)
-    (push (casualt-suffix-test-vector "T" #'Info-toc) test-vectors)
-    ;;(push (casualt-suffix-test-vector "m" #'Info-menu) test-vectors)
-    ;;(push (casualt-suffix-test-vector "g" #'Info-goto-node) test-vectors)
-    ;;(push (casualt-suffix-test-vector "i" #'Info-index) test-vectors)
-    ;;(push (casualt-suffix-test-vector "I" #'Info-virtual-index) test-vectors)
-
-    (push (casualt-suffix-test-vector "L" #'Info-history) test-vectors)
-    (push (casualt-suffix-test-vector "Û" #'Info-history-back) test-vectors)
-    (push (casualt-suffix-test-vector "Ý" #'Info-history-forward) test-vectors)
-
-    (push (casualt-suffix-test-vector " " #'Info-scroll-up) test-vectors)
-    (push (casualt-suffix-test-vector "" #'Info-scroll-down) test-vectors)
-
-    (push (casualt-suffix-test-vector "k" #'Info-prev-reference) test-vectors)
-    (push (casualt-suffix-test-vector "j" #'Info-next-reference) test-vectors)
-
-    (push (casualt-suffix-test-vector "p" 
#'casual-info-browse-backward-paragraph) test-vectors)
-    (push (casualt-suffix-test-vector "n" 
#'casual-info-browse-forward-paragraph) test-vectors)
-
-    (push (casualt-suffix-test-vector "[" #'Info-backward-node) test-vectors)
-    (push (casualt-suffix-test-vector "]" #'Info-forward-node) test-vectors)
-
-    (push (casualt-suffix-test-vector "h" #'Info-prev) test-vectors)
-    (push (casualt-suffix-test-vector "l" #'Info-next) test-vectors)
-
-    (push (casualt-suffix-test-vector "<" #'Info-top-node) test-vectors)
-    (push (casualt-suffix-test-vector ">" #'Info-final-node) test-vectors)
-
-    (push (casualt-suffix-test-vector "^" #'Info-up) test-vectors)
-
-    (push (casualt-suffix-test-vector "J" #'bookmark-jump) test-vectors)
-    (push (casualt-suffix-test-vector "B" #'bookmark-set) test-vectors)
-    (push (casualt-suffix-test-vector "b" #'ibuffer) test-vectors)
-    (push (casualt-suffix-test-vector "c" #'Info-copy-current-node-name) 
test-vectors)
-    ;;(push (casualt-suffix-test-vector "G" #'Info-goto-node-web) test-vectors)
-
-    (push (casualt-suffix-test-vector "Ž" #'casual-info-new-info-frame) 
test-vectors)
-    (push (casualt-suffix-test-vector "î" #'clone-buffer) test-vectors)
-    ;;(push (casualt-suffix-test-vector "
" #'Info-follow-nearest-node) test-vectors)
-    ;;(push (casualt-suffix-test-vector " " #'Info-scroll-up) test-vectors)
-
-    (push (casualt-suffix-test-vector "," #'casual-info-settings-tmenu) 
test-vectors)
-    (push (casualt-suffix-test-vector "q" #'quit-window) test-vectors)
-
-    (casualt-suffix-testbench-runner test-vectors
-                                     #'casual-info-tmenu
-                                     '(lambda () (random 5000))))
-  (casualt-info-breakdown t))
+(ert-deftest test-casual-info-tmenu ()
+  (let ((tmpfile "casual-info-tmenu.txt"))
+    (casualt-info-setup)
+    (cl-letf (
+              (casualt-mock #'Info-directory)
+              (casualt-mock #'Info-top-node)
+              (casualt-mock #'Info-toc)
+              (casualt-mock #'Info-menu)
+              (casualt-mock #'Info-goto-node)
+              (casualt-mock #'Info-index)
+              (casualt-mock #'Info-virtual-index)
+              (casualt-mock #'Info-history)
+              (casualt-mock #'Info-history-back)
+              (casualt-mock #'Info-history-forward)
+              (casualt-mock #'Info-search)
+              (casualt-mock #'isearch-forward)
+              (casualt-mock #'Info-search-case-sensitively)
+              (casualt-mock #'Info-scroll-up)
+              (casualt-mock #'Info-scroll-down)
+              (casualt-mock #'Info-prev-reference)
+              (casualt-mock #'Info-next-reference)
+              (casualt-mock #'Info-backward-node)
+              (casualt-mock #'Info-forward-node)
+              (casualt-mock #'Info-prev)
+              (casualt-mock #'Info-next)
+              (casualt-mock #'Info-top-node)
+              (casualt-mock #'Info-final-node)
+              (casualt-mock #'Info-follow-nearest-node)
+              (casualt-mock #'Info-up)
+              (casualt-mock #'Info-copy-current-node-name)
+              (casualt-mock #'Info-goto-node-web)
+              (casualt-mock #'clone-buffer)
+              (casualt-mock #'bookmark-jump)
+              (casualt-mock #'bookmark-set)
+              (casualt-mock #'ibuffer)
+              (casualt-mock #'quit-window)
+              (casualt-mock #'info-apropos))
+
+      (let ((test-vectors
+             '(;; Overview
+               (:binding "d" :command Info-directory)
+               (:binding "t" :command Info-top-node)
+               (:binding "T" :command Info-toc)
+
+               ;; Goto
+               (:binding "m" :command Info-menu)
+               ;;(:binding "g" :command Info-goto-node)
+               (:binding "i" :command Info-index)
+               (:binding "I" :command Info-virtual-index)
+
+               ;; Search
+               (:binding "C-s" :command isearch-forward)
+               (:binding "s" :command Info-search)
+               (:binding "S" :command Info-search-case-sensitively)
+               (:binding "a" :command info-apropos)
+
+               ;; History
+               (:binding "L" :command Info-history)
+               (:binding "M-[" :command Info-history-back)
+               (:binding "M-]" :command Info-history-forward)
+
+               ;; Scroll
+               ;;(:binding "S-SPC" :command Info-scroll-down)
+               (:binding "SPC" :command Info-scroll-up)
+               (:binding "DEL" :command Info-scroll-down)
+
+               ;; Navigation
+               (:binding "k" :command Info-prev-reference)
+               (:binding "j" :command Info-next-reference)
+               (:binding "p" :command casual-info-browse-backward-paragraph)
+               (:binding "n" :command casual-info-browse-forward-paragraph)
+               (:binding "[" :command Info-backward-node)
+               (:binding "]" :command Info-forward-node)
+               (:binding "h" :command Info-prev)
+               (:binding "l" :command Info-next)
+               (:binding "<" :command Info-top-node)
+               (:binding ">" :command Info-final-node)
+               (:binding "RET" :command Info-follow-nearest-node)
+               (:binding "^" :command Info-up)
+
+               ;; Quick
+               (:binding "c" :command Info-copy-current-node-name)
+               (:binding "M-n" :command clone-buffer)
+               (:binding "C-M-n" :command casual-info-new-info-frame)
+               (:binding "G" :command Info-goto-node-web)
+
+               ;; Menu Navigation
+               (:binding "," :command casual-info-settings-tmenu)
+               (:binding "q" :command quit-window))))
+
+        (info "Emacs")
+        (casualt-suffix-testcase-runner test-vectors
+                                        #'casual-info-tmenu
+                                        '(lambda () (random 5000)))))
+    (casualt-info-breakdown t)))
 
 (provide 'test-casual-info)
 ;;; test-casual-info.el ends here

Reply via email to