branch: externals/hyperbole
commit 1039e84b61a81c0917f718e328918aab1b564afa
Author: Mats Lidell <mats.lid...@lidells.se>
Commit: GitHub <nore...@github.com>

    Add hui-kill-ring-save tests (#192)
---
 ChangeLog         |  8 +++++
 test/hui-tests.el | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 102 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index e89d730950..7e14052086 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-04-26  Mats Lidell  <ma...@gnu.org>
+
+* test/hui-tests.el (hui--kill-ring-save--yank-in-same-kotl)
+    (hui--kill-ring-save--yank-in-other-kotl)
+    (hui--kill-ring-save--yank-in-other-file)
+    (hui--kill-ring-save--yank-in-other-file-other-dir): Add
+    hui-kill-ring-save tests.
+
 2022-04-24  Bob Weiner  <r...@gnu.org>
 
 * hib-kbd.el (kbd-key:act): Fix to handle non-special key series that
diff --git a/test/hui-tests.el b/test/hui-tests.el
index 00335816b5..d9ef10edbd 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:     24-Apr-22 at 19:00:26 by Mats Lidell
+;; Last-Mod:     25-Apr-22 at 23:50:46 by Mats Lidell
 ;;
 ;; Copyright (C) 2021-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -318,6 +318,99 @@ Ensure modifying the button but keeping the label does not 
create a double label
           (should (string-match kotl-file (car klink))))
       (delete-file kotl-file))))
 
+(ert-deftest hui--kill-ring-save--yank-in-same-kotl ()
+  "Yank saved klink into same kotl file."
+  (skip-unless (not noninteractive))
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (klink:create "1")
+          (kotl-mode:beginning-of-cell)
+
+          (forward-char 1)
+          (call-interactively #'hui-kill-ring-save)
+
+          (kotl-mode:add-cell)
+          (yank)
+          (kotl-mode:beginning-of-cell)
+          (should (looking-at-p "<@ 1>"))
+          (forward-char 1)
+          (should (equal (hattr:get (hbut:at-p) 'actype) 'klink:act)))
+      (delete-file kotl-file))))
+
+(ert-deftest hui--kill-ring-save--yank-in-other-kotl ()
+  "Yank saved klink into other kotl file."
+  (skip-unless (not noninteractive))
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl"))
+        (other-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (klink:create "1")
+          (kotl-mode:beginning-of-cell)
+
+          (forward-char 1)
+          (call-interactively #'hui-kill-ring-save)
+
+          (find-file other-file)
+          (yank)
+          (kotl-mode:beginning-of-cell)
+          (should (looking-at-p (concat "<" (file-name-nondirectory kotl-file) 
", 1>")))
+          (forward-char 1)
+          (should (equal (hattr:get (hbut:at-p) 'actype) 'klink:act)))
+      (delete-file kotl-file)
+      (delete-file other-file))))
+
+(ert-deftest hui--kill-ring-save--yank-in-other-file ()
+  "Yank saved klink into other file."
+  (skip-unless (not noninteractive))
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl"))
+        (other-file (make-temp-file "hypb" nil ".txt")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (klink:create "1")
+          (kotl-mode:beginning-of-cell)
+
+          (forward-char 1)
+          (call-interactively #'hui-kill-ring-save)
+
+          (find-file other-file)
+          (yank)
+          (beginning-of-buffer)
+          (should (looking-at-p (concat "<" (file-name-nondirectory kotl-file) 
", 1>")))
+          (forward-char 1)
+          (should (equal (hattr:get (hbut:at-p) 'actype) 'klink:act)))
+      (delete-file kotl-file)
+      (delete-file other-file))))
+
+(ert-deftest hui--kill-ring-save--yank-in-other-file-other-dir ()
+  "Yank saved klink into other file in other dir."
+  (skip-unless (not noninteractive))
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl"))
+        (other-dir (make-temp-file "hypb" t))
+        (other-file "other-file"))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (klink:create "1")
+          (kotl-mode:beginning-of-cell)
+
+          (forward-char 1)
+          (call-interactively #'hui-kill-ring-save)
+
+          (find-file (concat (file-name-as-directory other-dir) other-file))
+          (yank)
+          (save-buffer 0)
+          (beginning-of-buffer)
+          (should (looking-at-p (concat "<" kotl-file ", 1>")))
+          (forward-char 1)
+          (should (equal (hattr:get (hbut:at-p) 'actype) 'klink:act)))
+      (delete-file kotl-file)
+      (delete-file other-file)
+      (delete-directory other-dir))))
+
 ;; This file can't be byte-compiled without `with-simulated-input' which
 ;; is not part of the actual dependencies, so:
 ;;   Local Variables:

Reply via email to