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

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

[elpa] externals/hyperbole fb484f5629 1/2: Add fast demo key series test


From: ELPA Syncer
Subject: [elpa] externals/hyperbole fb484f5629 1/2: Add fast demo key series tests
Date: Sun, 12 Jun 2022 16:57:39 -0400 (EDT)

branch: externals/hyperbole
commit fb484f562981630ac20e58ed40108bd7b1c0d2d1
Author: Mats Lidell <mats.lidell@lidells.se>
Commit: Mats Lidell <mats.lidell@lidells.se>

    Add fast demo key series tests
---
 ChangeLog          |  11 +++++
 test/demo-tests.el | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 130 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index b75e61a9ea..cbafaae685 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2022-06-09  Mats Lidell  <matsl@gnu.org>
+
+* test/demo-tests.el:
+    (fast-demo-key-series-window-grid-22, fast-demo-key-series-kotl-files)
+    (fast-demo-key-series-emacs-lisp-mode)
+    (fast-demo-key-series-hyperbole-dir) 
+    (fast-demo-key-series-keep-lines-ext)
+    (fast-demo-key-series-keep-lines-slash)
+    (fast-demo-key-series-keep-lines-dired): Add tests for FAST-DEMO key
+    series examples.
+
 2022-06-05  Bob Weiner  <rsw@gnu.org>
 
 * hui-mouse.el (smart-eolp): Exclude when on blank line and nothing but 
whitespace until eob.
diff --git a/test/demo-tests.el b/test/demo-tests.el
index de2af2807e..a10c4d769c 100644
--- a/test/demo-tests.el
+++ b/test/demo-tests.el
@@ -3,7 +3,7 @@
 ;; Author:       Mats Lidell <matsl@gnu.org>
 ;;
 ;; Orig-Date:    30-Jan-21 at 12:00:00
-;; Last-Mod:     12-Feb-22 at 13:33:53 by Bob Weiner
+;; Last-Mod:      9-Jun-22 at 21:58:42 by Mats Lidell
 ;;
 ;; Copyright (C) 2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -410,6 +410,124 @@
         (hy-test-helpers:should-last-message "Factorial of 5 = 120"))
     (kill-buffer "DEMO")))
 
+;; Fast demo key series
+(ert-deftest fast-demo-key-series-help-buffer ()
+  "Action key on C-hA brings up help buffer for action key."
+  (let ((help-buffer "*Help: Hyperbole Action Key*"))
+    (unwind-protect
+        (with-temp-buffer
+          (insert "{C-h A}")
+          (goto-char 3)
+          (action-key)
+          (should (get-buffer help-buffer)))
+      (kill-buffer help-buffer))))
+
+(ert-deftest fast-demo-key-series-window-grid-22 ()
+  "Action key on window grid key series creates a grid."
+  (skip-unless (not noninteractive))
+  (with-temp-buffer
+    (insert "{C-c @ 22 RET}")
+    (goto-char 3)
+    (action-key)
+    (hy-test-helpers:consume-input-events)
+    (should (= 4 (length (window-list))))))
+
+(ert-deftest fast-demo-key-series-kotl-files ()
+  "Action key brings up kotl files in a grid.
+Note: Depends on ket series in FAST-DEMO and how many files in
+hyberbole folder that starts with kotl."
+  (skip-unless (not noninteractive))
+  (unwind-protect
+      (progn
+        (hypb:display-file-with-logo "FAST-DEMO")
+        (search-forward "{C--1 C-c")
+        (action-key)
+        (hy-test-helpers:consume-input-events)
+        (should (= 4 (length (window-list)))))
+    (kill-buffer "FAST-DEMO")))
+
+(ert-deftest fast-demo-key-series-emacs-lisp-mode ()
+  "Action key brings up `emacs-lisp-mode' files in a grid.
+Note: Relies on that empty windows are created when there are not
+enough files with matching mode loaded."
+  (skip-unless (not noninteractive))
+  (with-temp-buffer
+    (insert "{C-u 0 C-c @ emacs-lisp-mode RET 33 RET}")
+    (goto-char 3)
+    (action-key)
+    (hy-test-helpers:consume-input-events)
+    (should (= 9 (length (window-list))))))
+
+(ert-deftest fast-demo-key-series-hyperbole-dir ()
+  "Action key on hyperb:dir brings up hyperbole folder."
+  (skip-unless (not noninteractive))
+  (with-temp-buffer
+    (insert "{C-x 4 d ${hyperb:dir} RET}")
+    (goto-char 5)
+    (action-key)
+    (hy-test-helpers:consume-input-events)
+    (should (equal 'dired-mode major-mode))
+    (should (equal hyperb:dir (expand-file-name default-directory)))))
+
+(ert-deftest fast-demo-key-series-keep-lines-ext ()
+  "Action key opens Ibuffer and keep lines with extension."
+  (skip-unless (not noninteractive))
+  (let ((buff "*Ibuffer*")
+        (old (global-key-binding (kbd "C-x C-b")))
+        (tmp (make-temp-file "hypb" nil ".hypb-test")))
+    (unwind-protect
+        (with-temp-buffer
+          (global-set-key (kbd "C-x C-b") 'ibuffer)
+          (find-file-noselect tmp)
+          (insert "{C-x C-b C-x C-q M-x keep-lines RET .hypb-test$ RET C-x 
C-q}")
+          (goto-char 5)
+          (action-key)
+          (hy-test-helpers:consume-input-events)
+          (with-current-buffer buff
+            (should (looking-at-p (concat ".*" tmp)))))
+      (kill-buffer buff)
+      (global-set-key (kbd "C-x C-b") old)
+      (kill-buffer (get-file-buffer tmp))
+      (delete-file tmp))))
+
+(ert-deftest fast-demo-key-series-keep-lines-slash ()
+  "Action key opens Ibuffer and keep lines that contains a slash."
+  (skip-unless (not noninteractive))
+  (let ((buff "*Ibuffer*")
+        (old (global-key-binding (kbd "C-x C-b")))
+        (dir (dired hyperb:dir)))
+    (unwind-protect
+        (with-temp-buffer
+          (global-set-key (kbd "C-x C-b") 'ibuffer)
+          (insert "{C-x C-b C-x C-q M-x keep-lines RET [\\/]$ RET C-x C-q}")
+          (goto-char 5)
+          (action-key)
+          (hy-test-helpers:consume-input-events)
+          (with-current-buffer buff
+            (should (looking-at-p (concat ".*[\\/]")))))
+      (kill-buffer buff)
+      (global-set-key (kbd "C-x C-b") old)
+      (kill-buffer dir))))
+
+(ert-deftest fast-demo-key-series-keep-lines-dired ()
+  "Action key opens Ibuffer and keep `dired-mode' lines."
+  (skip-unless (not noninteractive))
+  (let ((buff "*Ibuffer*")
+        (old (global-key-binding (kbd "C-x C-b")))
+        (dir (dired hyperb:dir)))
+    (unwind-protect
+        (with-temp-buffer
+          (global-set-key (kbd "C-x C-b") 'ibuffer)
+          (insert "{C-x C-b / RET dired-mode RET}")
+          (goto-char 5)
+          (action-key)
+          (hy-test-helpers:consume-input-events)
+          (with-current-buffer buff
+            (should (looking-at-p (concat ".*Dired by name")))))
+      (kill-buffer buff)
+      (global-set-key (kbd "C-x C-b") old)
+      (kill-buffer dir))))
+
 ;; This file can't be byte-compiled without the `el-mock' package (because of
 ;; the use of the `with-mock' macro), which is not a dependency of Hyperbole.
 ;;  Local Variables:



reply via email to

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