branch: elpa/casual
commit 439e5c5c8bd753a19c6eb9f830031efd08ba139d
Author: Charles Choi <[email protected]>
Commit: Charles Choi <[email protected]>

    Add delete-duplicate-lines to EditKit Delete menu
    
    - Adds command delete-duplicate-lines to casual-editkit-delete-tmenu.
---
 docs/images/casual-editkit-delete-screenshot.png | Bin 61195 -> 62490 bytes
 lisp/casual-editkit-utils.el                     |   2 ++
 tests/test-casual-editkit-utils.el               |  22 ++++++++++++++++++++--
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/docs/images/casual-editkit-delete-screenshot.png 
b/docs/images/casual-editkit-delete-screenshot.png
index 6aa54ae69e..bb757e913f 100644
Binary files a/docs/images/casual-editkit-delete-screenshot.png and 
b/docs/images/casual-editkit-delete-screenshot.png differ
diff --git a/lisp/casual-editkit-utils.el b/lisp/casual-editkit-utils.el
index dd87e1a662..a0629deba0 100644
--- a/lisp/casual-editkit-utils.el
+++ b/lisp/casual-editkit-utils.el
@@ -408,6 +408,8 @@ Commands pertaining to delete can be accessed here."
     ("p" "Pair" delete-pair)]
 
    [("b" "Blank Lines" delete-blank-lines)
+    ("D" "Duplicate Lines" delete-duplicate-lines
+     :inapt-if-not use-region-p)
     ("w" "Whitespace Cleanup" whitespace-cleanup)
     ("d" "Delete Trailing Whitespace" delete-trailing-whitespace)]
 
diff --git a/tests/test-casual-editkit-utils.el 
b/tests/test-casual-editkit-utils.el
index 7472b463b1..caa13f6fad 100644
--- a/tests/test-casual-editkit-utils.el
+++ b/tests/test-casual-editkit-utils.el
@@ -31,8 +31,7 @@
   (let ((tmpfile "casual-editkit-open-tmenu.txt"))
     (casualt-editkit-setup tmpfile)
 
-    (cl-letf (;; ((symbol-function #'buffer-file-name) (lambda () t))
-              (casualt-mock #'find-file)
+    (cl-letf ((casualt-mock #'find-file)
               (casualt-mock #'rename-visited-file)
               (casualt-mock #'find-file-other-window)
               (casualt-mock #'find-file-other-frame)
@@ -290,6 +289,7 @@
 (ert-deftest test-casual-editkit-delete-tmenu ()
   (let ((tmpfile "casual-editkit-delete-tmenu.txt"))
     (casualt-editkit-setup tmpfile)
+
     (cl-letf ((casualt-mock #'just-one-space)
               (casualt-mock #'join-line)
               (casualt-mock #'delete-horizontal-space)
@@ -316,6 +316,24 @@
                                         '(lambda () (random 5000)))))
     (casualt-editkit-breakdown tmpfile)))
 
+(ert-deftest test-casual-editkit-delete-tmenu-region ()
+  (let ((tmpfile "casual-editkit-delete-tmenu.txt"))
+    (casualt-editkit-setup tmpfile)
+    (goto-char (point-max))
+    (insert "\nHello there\nHi There\nYet another.")
+    (set-mark (point-min))
+    (forward-line 2)
+
+    (cl-letf ((casualt-mock #'delete-duplicate-lines))
+
+      (let ((test-vectors
+             '((:binding "D" :command delete-duplicate-lines))))
+
+        (casualt-suffix-testcase-runner test-vectors
+                                        #'casual-editkit-delete-tmenu
+                                        '(lambda () (random 5000)))))
+    (casualt-editkit-breakdown tmpfile)))
+
 (ert-deftest test-casual-editkit-move-text-tmenu ()
   (let ((tmpfile "casual-editkit-move-text-tmenu.txt"))
     (casualt-editkit-setup tmpfile)

Reply via email to