aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDmitry Antipov <[email protected]>2014-05-15 18:59:02 +0400
committerDmitry Antipov <[email protected]>2014-05-15 18:59:02 +0400
commitddc30c996a3d14e0163df6946ba96c9bcf73bd2f (patch)
tree6c0a2fafa8a124e0c6e12174321dc012226bb7a9 /test
parent92491099f710794ee2be60721fae50d68c5ca162 (diff)
* src/fns.c (Fnreverse): Allow vectors and bool vectors.
* doc/lispref/lists.texi (Building Cons Cells and Lists): Remove description of `nreverse' and generalize it... * doc/lispref/sequences.texi (Sequences): ...for sequences here. * tests/automated/fns-tests.el (fns-tests-nreverse) (fns-tests-nreverse-bool-vector): New tests.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog2
-rw-r--r--test/automated/fns-tests.el32
2 files changed, 34 insertions, 0 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index cd5398e9b9..3fed9759ca 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,6 +1,8 @@
2014-05-15 Dmitry Antipov <[email protected]>
* automated/fns-tests.el: New file.
+ * automated/fns-tests.el (fns-tests-nreverse)
+ (fns-tests-nreverse-bool-vector): New tests.
2014-05-08 Glenn Morris <[email protected]>
diff --git a/test/automated/fns-tests.el b/test/automated/fns-tests.el
index 2e71854261..577298cddf 100644
--- a/test/automated/fns-tests.el
+++ b/test/automated/fns-tests.el
@@ -28,12 +28,44 @@
(should-error (reverse))
(should-error (reverse 1))
(should-error (reverse (make-char-table 'foo)))
+ (should (equal [] (reverse [])))
+ (should (equal [0] (reverse [0])))
(should (equal [1 2 3 4] (reverse (reverse [1 2 3 4]))))
+ (should (equal '(a b c d) (reverse (reverse '(a b c d)))))
(should (equal "xyzzy" (reverse (reverse "xyzzy"))))
(should (equal "こんにちは / コンニチハ" (reverse (reverse "こんにちは / コンニチハ")))))
+(ert-deftest fns-tests-nreverse ()
+ (should-error (nreverse))
+ (should-error (nreverse 1))
+ (should-error (nreverse (make-char-table 'foo)))
+ (should-error (nreverse "xyzzy"))
+ (let ((A []))
+ (nreverse A)
+ (should (equal A [])))
+ (let ((A [0]))
+ (nreverse A)
+ (should (equal A [0])))
+ (let ((A [1 2 3 4]))
+ (nreverse A)
+ (should (equal A [4 3 2 1])))
+ (let ((A [1 2 3 4]))
+ (nreverse A)
+ (nreverse A)
+ (should (equal A [1 2 3 4])))
+ (let* ((A [1 2 3 4])
+ (B (nreverse (nreverse A))))
+ (should (equal A B))))
+
(ert-deftest fns-tests-reverse-bool-vector ()
(let ((A (make-bool-vector 10 nil)))
(dotimes (i 5) (aset A i t))
(should (equal [nil nil nil nil nil t t t t t] (vconcat (reverse A))))
(should (equal A (reverse (reverse A))))))
+
+(ert-deftest fns-tests-nreverse-bool-vector ()
+ (let ((A (make-bool-vector 10 nil)))
+ (dotimes (i 5) (aset A i t))
+ (nreverse A)
+ (should (equal [nil nil nil nil nil t t t t t] (vconcat A)))
+ (should (equal [t t t t t nil nil nil nil nil] (vconcat (nreverse A))))))