branch: externals/hyperbole commit 8bd09a3e7bc297deb5d2c4d00fa1ba7561a46bdb Merge: cff90c4a9a c7b5f2473f Author: Bob Weiner <r...@gnu.org> Commit: Bob Weiner <r...@gnu.org>
Merge branch 'master' of hyperbole --- ChangeLog | 10 +++++++ test/hui-tests.el | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b83aa65ddd..693819ad56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2022-04-24 Mats Lidell <ma...@gnu.org> + +* test/hui-tests.el (hui--delimited-selectable-thing--in-cell-return-ref) + (hui--delimited-selectable-thing--in-ibut-return-ibut-text) + (hui--delimited-selectable-thing--ibut-label-return-ibut-text) + (hui--delimited-selectable-thing--in-ebut-return-ebut-text) + (hui--delimited-selectable-thing--start-of-paired-delimiter) + (hui--delimited-selectable-thing--in-kcell-link-return-link): Add + tests for hui:delimited-selectable-thing. + 2022-04-24 Bob Weiner <r...@gnu.org> * hsettings.el (hyperbole-web-search): Handle functions as diff --git a/test/hui-tests.el b/test/hui-tests.el index f3ad751fdd..00335816b5 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: 20-Feb-22 at 22:22:23 by Bob Weiner +;; Last-Mod: 24-Apr-22 at 19:00:26 by Mats Lidell ;; ;; Copyright (C) 2021-2022 Free Software Foundation, Inc. ;; See the "HY-COPY" file for license information. @@ -239,6 +239,85 @@ Ensure modifying the button but keeping the label does not create a double label (hy-test-helpers-verify-hattr-at-p :actype 'actypes::link-to-Info-node :args (list info-node) :loc test-file :lbl-key "global"))) (delete-file test-file)))) +(ert-deftest hui--delimited-selectable-thing--in-cell-return-ref () + "In kotl cell return klink ref." + (let ((kotl-file (make-temp-file "hypb" nil ".kotl"))) + (unwind-protect + (progn + (find-file kotl-file) + (setq klink (klink:parse (hui:delimited-selectable-thing))) + (should (string-match kotl-file (car klink))) + (should (string= (cadr klink) "1=01"))) + (delete-file kotl-file)))) + +(ert-deftest hui--delimited-selectable-thing--in-ibut-return-ibut-text () + "In ibut return ibut text." + (let ((file (make-temp-file "hypb" nil ".txt"))) + (unwind-protect + (progn + (find-file file) + (insert file) + (goto-char 2) + (should (equal (hui:delimited-selectable-thing) file))) + (delete-file file)))) + +(ert-deftest hui--delimited-selectable-thing--ibut-label-return-ibut-text () + "In ibut label return ibut text without label." + (let ((file (make-temp-file "hypb" nil ".txt"))) + (unwind-protect + (progn + (find-file file) + (insert "<[lnk]>: " file "\n") + (beginning-of-buffer) + (should (equal (hui:delimited-selectable-thing) file))) + (delete-file file)))) + +(ert-deftest hui--delimited-selectable-thing--in-ebut-return-ebut-text () + "In ebut return ebut text." + (let ((file (make-temp-file "hypb" nil ".txt"))) + (unwind-protect + (progn + (find-file file) + (ebut:program "label" 'exec-shell-cmd "echo abc") + (beginning-of-buffer) + (should (equal (hui:delimited-selectable-thing) "<(label)>"))) + (delete-file file)))) + +(ert-deftest hui--delimited-selectable-thing--start-of-paired-delimiter () + "At start of paired delimiter return text with delimiters." + (let ((file (make-temp-file "hypb" nil ".txt"))) + (unwind-protect + (progn + (find-file file) + (insert "(xyz)\n") + (beginning-of-buffer) + (emacs-lisp-mode) + (should (equal (hui:delimited-selectable-thing) "(xyz)"))) + (delete-file file)))) + +(ert-deftest hui--delimited-selectable-thing--in-kcell-link-return-link () + "In kcell link return link." + (let ((kotl-file (make-temp-file "hypb" nil ".kotl")) + klink) + (unwind-protect + (progn + (find-file kotl-file) + (klink:create "1") + (kotl-mode:beginning-of-cell) + + ;; Outside of link + (setq klink (klink:parse (hui:delimited-selectable-thing))) + (should (string= (cadr klink) "1=01")) + (should (string-match kotl-file (car klink))) + + ;; Within link + (forward-char 1) + (should (looking-at-p "@ 1")) + (setq klink (klink:parse (hui:delimited-selectable-thing))) + (should (string= (cadr klink) "1")) + (should (string-match kotl-file (car klink)))) + (delete-file kotl-file)))) + ;; This file can't be byte-compiled without `with-simulated-input' which ;; is not part of the actual dependencies, so: ;; Local Variables: