summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/automated/simple-test.el17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/automated/simple-test.el b/test/automated/simple-test.el
index 86c9fc2e767..07b5eaa93e4 100644
--- a/test/automated/simple-test.el
+++ b/test/automated/simple-test.el
@@ -34,6 +34,17 @@
(buffer-substring (point) (point-max)))))
+(defmacro simple-test--transpositions (&rest body)
+ (declare (indent 0)
+ (debug t))
+ `(with-temp-buffer
+ (emacs-lisp-mode)
+ (insert "(s1) (s2) (s3) (s4) (s5)")
+ (backward-sexp 1)
+ ,@body
+ (cons (buffer-substring (point-min) (point))
+ (buffer-substring (point) (point-max)))))
+
;;; `newline'
(ert-deftest newline ()
@@ -233,6 +244,12 @@
(car buffer-undo-list)
(undo-auto--boundaries 'test))))
+;;; Transposition with negative args (bug#20698, bug#21885)
+(ert-deftest simple-transpose-subr ()
+ (should (equal (simple-test--transpositions (transpose-sexps -1))
+ '("(s1) (s2) (s4)" . " (s3) (s5)")))
+ (should (equal (simple-test--transpositions (transpose-sexps -2))
+ '("(s1) (s4)" . " (s2) (s3) (s5)"))))
(provide 'simple-test)