branch: externals/hyperbole commit 97f4e12386f170a072ea82316cacea203abe0c7f Author: bw <r...@gnu.org> Commit: bw <r...@gnu.org>
hui--link-possible-types - ensure only 1 specific type per test --- ChangeLog | 6 ++++++ test/hui-tests.el | 40 ++++++++++++++++++++-------------------- test/hy-test-helpers.el | 9 ++++++++- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/ChangeLog b/ChangeLog index e4ced2a29c..3d792debff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2023-12-26 Bob Weiner <r...@gnu.org> + +* test/hy-test-helpers.el (hy-test-helpers:ensure-link-possible-type): Add. + test/hui-tests.el (hui--link-possible-types): Use above function to ensure + 'hui:link-possible-types' returns one given type only for each test herein. + 2023-12-26 Mats Lidell <ma...@gnu.org> * test/hy-test-helpers.el (hy-delete-dir-and-buffer): Add test helper for diff --git a/test/hui-tests.el b/test/hui-tests.el index 19ce491b5a..cc67aac880 100644 --- a/test/hui-tests.el +++ b/test/hui-tests.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> ;; ;; Orig-Date: 30-Jan-21 at 12:00:00 -;; Last-Mod: 10-Dec-23 at 21:11:07 by Mats Lidell +;; Last-Mod: 26-Dec-23 at 11:54:57 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -942,7 +942,7 @@ With point on label suggest that ibut for rename." (find-file file) (org-id-get-create nil) (re-search-forward ":ID:") - (should (equal (caar (hui:link-possible-types)) 'link-to-org-id))) + (hy-test-helpers:ensure-link-possible-type 'link-to-org-id)) (hy-delete-file-and-buffer file))) ;; Global Button link-to-gbut @@ -952,46 +952,46 @@ With point on label suggest that ibut for rename." (mocklet ((gbut:file => global-but-file)) (hui:gibut-create "global" "/tmp") (find-file global-but-file) - (should (equal (caar (hui:link-possible-types)) 'link-to-gbut))) + (hy-test-helpers:ensure-link-possible-type 'link-to-gbut)) (hy-delete-file-and-buffer global-but-file))) ;; Explicit Button link-to-ebut (with-temp-buffer (ebut:program "label" 'link-to-directory "/tmp") - (should (equal (caar (hui:link-possible-types)) 'link-to-ebut))) + (hy-test-helpers:ensure-link-possible-type 'link-to-ebut)) ;; Implicit Button link-to-ibut (with-temp-buffer (insert "<[ibut]> - \"/tmp\"") (goto-char 5) - (should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) + (hy-test-helpers:ensure-link-possible-type 'link-to-ibut)) ;; Bookmarks List link-to-bookmark (with-temp-buffer (insert " bookmark ~/bookmarked\n") (bookmark-bmenu-mode) - (should (equal (caar (hui:link-possible-types)) 'link-to-bookmark))) + (hy-test-helpers:ensure-link-possible-type 'link-to-bookmark)) ;; Info Node link-to-Info-node (with-temp-buffer (insert "(info)node\n") (goto-char 5) (Info-mode) - (should (equal (caar (hui:link-possible-types)) 'link-to-Info-node))) + (hy-test-helpers:ensure-link-possible-type 'link-to-Info-node)) ;; Texinfo Node link-to-texinfo-node (with-temp-buffer (insert "@node node\n") (goto-char 5) (texinfo-mode) - (should (equal (caar (hui:link-possible-types)) 'link-to-texinfo-node))) + (hy-test-helpers:ensure-link-possible-type 'link-to-texinfo-node)) ;; Mail Reader Message link-to-mail (let ((hmail:reader 'gnus-article-mode)) (with-temp-buffer (gnus-article-mode) (mocklet ((rmail:msg-id-get => "msg-id")) - (should (equal (caar (hui:link-possible-types)) 'link-to-mail))))) + (hy-test-helpers:ensure-link-possible-type 'link-to-mail)))) ;; Directory Name link-to-directory (let ((dir (make-temp-file "hypb" t))) @@ -1004,15 +1004,15 @@ With point on label suggest that ibut for rename." ;; behavior? (with-current-buffer (dired dir) (goto-char 1) - (should (equal (caar (hui:link-possible-types)) 'link-to-directory))) + (hy-test-helpers:ensure-link-possible-type 'link-to-directory)) (with-temp-buffer (insert dir) (goto-char 4) - (should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) ;; Expected: link-to-directory + (hy-test-helpers:ensure-link-possible-type 'link-to-ibut)) ;; Expected: link-to-directory (with-temp-buffer (insert "/ssh:u...@host.org:/home/user/file\n") (goto-char 4) - (should (equal (caar (hui:link-possible-types)) 'link-to-ibut)))) ;; Expected: link-to-directory + (hy-test-helpers:ensure-link-possible-type 'link-to-ibut))) ;; Expected: link-to-directory (hy-delete-dir-and-buffer dir))) ;; File Name link-to-file @@ -1021,15 +1021,15 @@ With point on label suggest that ibut for rename." (unwind-protect (let ((hargs:reading-type 'file)) (with-current-buffer (dired temporary-file-directory) - (should (equal (caar (hui:link-possible-types)) 'link-to-file))) + (hy-test-helpers:ensure-link-possible-type 'link-to-file)) (with-temp-buffer (insert temporary-file-directory) (goto-char 4) - (should (equal (caar (hui:link-possible-types)) 'link-to-ibut))) ;; Expected: link-to-file + (hy-test-helpers:ensure-link-possible-type 'link-to-ibut)) ;; Expected: link-to-file (with-temp-buffer (insert "/ssh:u...@host.org:/home/user/\n") (goto-char 4) - (should (equal (caar (hui:link-possible-types)) 'link-to-ibut)))) ;; Expected: link-to-file + (hy-test-helpers:ensure-link-possible-type 'link-to-ibut))) ;; Expected: link-to-file (hy-delete-file-and-buffer file) (hy-delete-dir-and-buffer temporary-file-directory))) @@ -1039,7 +1039,7 @@ With point on label suggest that ibut for rename." (progn (find-file file) (insert "first") - (should (equal (caar (hui:link-possible-types)) 'link-to-kcell))) + (hy-test-helpers:ensure-link-possible-type 'link-to-kcell)) (hy-delete-file-and-buffer file))) ;; Outline Heading link-to-string-match @@ -1049,7 +1049,7 @@ With point on label suggest that ibut for rename." (find-file file) (outline-mode) (goto-char 1) - (should (equal (caar (hui:link-possible-types)) 'link-to-string-match))) + (hy-test-helpers:ensure-link-possible-type 'link-to-string-match)) (hy-delete-file-and-buffer file))) ;; Buffer attached to File link-to-file @@ -1057,7 +1057,7 @@ With point on label suggest that ibut for rename." (unwind-protect (progn (find-file file) - (should (equal (caar (hui:link-possible-types)) 'link-to-file))) + (hy-test-helpers:ensure-link-possible-type 'link-to-file)) (hy-delete-file-and-buffer file))) ;; EOL in Dired Buffer link-to-directory (dired dir) @@ -1065,12 +1065,12 @@ With point on label suggest that ibut for rename." (unwind-protect (with-current-buffer (dired dir) (goto-char 1) ;; EOL does not seem to matter!? - (should (equal (caar (hui:link-possible-types)) 'link-to-directory))) + (hy-test-helpers:ensure-link-possible-type 'link-to-directory)) (hy-delete-dir-and-buffer dir))) ;; Buffer without File link-to-buffer-tmp" (with-temp-buffer - (should (equal (caar (hui:link-possible-types)) 'link-to-buffer-tmp)))) + (hy-test-helpers:ensure-link-possible-type 'link-to-buffer-tmp))) ;; This file can't be byte-compiled without `with-simulated-input' which ;; is not part of the actual dependencies, so: diff --git a/test/hy-test-helpers.el b/test/hy-test-helpers.el index f11dd33862..9d920e96cf 100644 --- a/test/hy-test-helpers.el +++ b/test/hy-test-helpers.el @@ -3,7 +3,7 @@ ;; Author: Mats Lidell <ma...@gnu.org> ;; ;; Orig-Date: 30-Jan-21 at 12:00:00 -;; Last-Mod: 22-Dec-23 at 16:03:21 by Mats Lidell +;; Last-Mod: 26-Dec-23 at 11:55:42 by Bob Weiner ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -27,6 +27,13 @@ (run-with-timer 0.1 nil (lambda () (exit-recursive-edit))) (recursive-edit)) +(defun hy-test-helpers:ensure-link-possible-type (type) + "At point, ensure `hui:link-possible-types' returns a single TYPE." + (let* ((possible-types (hui:link-possible-types)) + (first-type (caar possible-types))) + (should (= (length possible-types) 1)) + (should (equal (caar (hui:link-possible-types)) type)))) + (defun hy-test-helpers:should-last-message (msg) "Verify last message is MSG." (with-current-buffer (messages-buffer)