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

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

[elpa] externals/hyperbole 84c62d7b6d: Add test cases for kotl-mode:tran


From: ELPA Syncer
Subject: [elpa] externals/hyperbole 84c62d7b6d: Add test cases for kotl-mode:transpose-cells (#137)
Date: Wed, 29 Dec 2021 03:01:52 -0500 (EST)

branch: externals/hyperbole
commit 84c62d7b6dae7c6ea61b3047b9fc6e676b48a7be
Author: Mats Lidell <mats.lidell@lidells.se>
Commit: GitHub <noreply@github.com>

    Add test cases for kotl-mode:transpose-cells (#137)
---
 ChangeLog               |  9 +++++++
 kotl/kotl-mode.el       |  2 +-
 test/kotl-mode-tests.el | 70 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 80 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 290a560301..04531e78d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2021-12-28  Mats Lidell  <matsl@gnu.org>
+
+* kotl/kotl-mode.el (kotl-mode:exchange-cells): Use cl-copy-list.
+
+* test/kotl-mode-tests.el (kotl-mode-transpose-cell)
+(kotl-mode-transpose-cell-with-mark)
+(kotl-mode-transpose-cell-past-multiple-cells): Add test for
+    kotl-mode:transpose-cells.
+
 2021-12-26  Bob Weiner  <rsw@gnu.org>
 
 * kotl/kotl-mode.el (kotl-mode:exchange-cells): Signal error if invalid type 
or value
diff --git a/kotl/kotl-mode.el b/kotl/kotl-mode.el
index ae3268cedf..3aa6674be8 100644
--- a/kotl/kotl-mode.el
+++ b/kotl/kotl-mode.el
@@ -2328,7 +2328,7 @@ to one level and kotl-mode:refill-flag is treated as 
true."
       ;;
       ;; Save cell-2 attributes
       (kotl-mode:goto-cell cell-ref-2 t)
-      (setq kcell-2 (copy-list (kcell-view:cell))
+      (setq kcell-2 (cl-copy-list (kcell-view:cell))
            idstamp-2 (kcell-view:idstamp)
            contents-2 (kcell-view:contents))
 
diff --git a/test/kotl-mode-tests.el b/test/kotl-mode-tests.el
index ea27e5d539..d1d71d8c5f 100644
--- a/test/kotl-mode-tests.el
+++ b/test/kotl-mode-tests.el
@@ -393,5 +393,75 @@
           (should (string= (kcell-view:label (point)) "1a")))
       (delete-file kotl-file))))
 
+(ert-deftest kotl-mode-transpose-cell ()
+  "Transpose cells and leave point in cell."
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (insert "first")
+          (kotl-mode:add-cell)
+          (insert "second")
+          (kotl-mode:beginning-of-cell)
+          (should (string= (kcell-view:idstamp) "02"))
+          (should (looking-at-p "second"))
+
+          (kotl-mode:transpose-cells 1)
+
+          (should (string= (kcell-view:idstamp) "01"))
+          (should (looking-at-p "first"))))
+      (delete-file kotl-file)))
+
+(ert-deftest kotl-mode-transpose-cell-with-mark ()
+  "Transpose cell with cell with mark and change point to mark."
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (insert "first")
+          (push-mark)
+          (kotl-mode:add-cell)
+          (insert "second")
+          (kotl-mode:add-cell)
+          (insert "third")
+          (kotl-mode:beginning-of-cell)
+          (should (string= (kcell-view:idstamp) "03"))
+          (should (looking-at-p "third"))
+
+          (kotl-mode:transpose-cells 0)
+
+          (should (string= (kcell-view:idstamp) "03"))
+          (should (looking-at-p "third"))
+          (should (kotl-mode:first-cell-p)))
+      (delete-file kotl-file))))
+
+(ert-deftest kotl-mode-transpose-cell-past-multiple-cells ()
+  "Transpose cell past multiple cells."
+  (let ((kotl-file (make-temp-file "hypb" nil ".kotl")))
+    (unwind-protect
+        (progn
+          (find-file kotl-file)
+          (insert "first")
+          (kotl-mode:add-cell)
+          (insert "second")
+          (kotl-mode:add-cell)
+          (insert "third")
+          (kotl-mode:beginning-of-buffer)
+          (should (string= (kcell-view:idstamp) "01"))
+          (should (looking-at-p "first"))
+
+          (kotl-mode:transpose-cells 2)
+
+          ; Point moves to cell two
+          (should (string= (kcell-view:idstamp) "03"))
+          (should (looking-at-p "third"))
+
+          ; Verify first cells was moved last
+          (kotl-mode:end-of-buffer)
+          (should (string= (kcell-view:idstamp) "01"))
+          (kotl-mode:beginning-of-cell)
+          (should (looking-at-p "first")))
+      (delete-file kotl-file))))
+
 (provide 'kotl-mode-tests)
 ;;; kotl-mode-tests.el ends here



reply via email to

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