aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDmitry Antipov2014-05-15 18:59:02 +0400
committerDmitry Antipov2014-05-15 18:59:02 +0400
commitddc30c996a3d14e0163df6946ba96c9bcf73bd2f (patch)
tree6c0a2fafa8a124e0c6e12174321dc012226bb7a9 /test
parent92491099f710794ee2be60721fae50d68c5ca162 (diff)
downloademacs-ddc30c996a3d14e0163df6946ba96c9bcf73bd2f.tar.gz
emacs-ddc30c996a3d14e0163df6946ba96c9bcf73bd2f.zip
* 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 cd5398e9b99..3fed9759ca7 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,6 +1,8 @@
12014-05-15 Dmitry Antipov <dmantipov@yandex.ru> 12014-05-15 Dmitry Antipov <dmantipov@yandex.ru>
2 2
3 * automated/fns-tests.el: New file. 3 * automated/fns-tests.el: New file.
4 * automated/fns-tests.el (fns-tests-nreverse)
5 (fns-tests-nreverse-bool-vector): New tests.
4 6
52014-05-08 Glenn Morris <rgm@gnu.org> 72014-05-08 Glenn Morris <rgm@gnu.org>
6 8
diff --git a/test/automated/fns-tests.el b/test/automated/fns-tests.el
index 2e71854261e..577298cddf4 100644
--- a/test/automated/fns-tests.el
+++ b/test/automated/fns-tests.el
@@ -28,12 +28,44 @@
28 (should-error (reverse)) 28 (should-error (reverse))
29 (should-error (reverse 1)) 29 (should-error (reverse 1))
30 (should-error (reverse (make-char-table 'foo))) 30 (should-error (reverse (make-char-table 'foo)))
31 (should (equal [] (reverse [])))
32 (should (equal [0] (reverse [0])))
31 (should (equal [1 2 3 4] (reverse (reverse [1 2 3 4])))) 33 (should (equal [1 2 3 4] (reverse (reverse [1 2 3 4]))))
34 (should (equal '(a b c d) (reverse (reverse '(a b c d)))))
32 (should (equal "xyzzy" (reverse (reverse "xyzzy")))) 35 (should (equal "xyzzy" (reverse (reverse "xyzzy"))))
33 (should (equal "こんにちは / コンニチハ" (reverse (reverse "こんにちは / コンニチハ"))))) 36 (should (equal "こんにちは / コンニチハ" (reverse (reverse "こんにちは / コンニチハ")))))
34 37
38(ert-deftest fns-tests-nreverse ()
39 (should-error (nreverse))
40 (should-error (nreverse 1))
41 (should-error (nreverse (make-char-table 'foo)))
42 (should-error (nreverse "xyzzy"))
43 (let ((A []))
44 (nreverse A)
45 (should (equal A [])))
46 (let ((A [0]))
47 (nreverse A)
48 (should (equal A [0])))
49 (let ((A [1 2 3 4]))
50 (nreverse A)
51 (should (equal A [4 3 2 1])))
52 (let ((A [1 2 3 4]))
53 (nreverse A)
54 (nreverse A)
55 (should (equal A [1 2 3 4])))
56 (let* ((A [1 2 3 4])
57 (B (nreverse (nreverse A))))
58 (should (equal A B))))
59
35(ert-deftest fns-tests-reverse-bool-vector () 60(ert-deftest fns-tests-reverse-bool-vector ()
36 (let ((A (make-bool-vector 10 nil))) 61 (let ((A (make-bool-vector 10 nil)))
37 (dotimes (i 5) (aset A i t)) 62 (dotimes (i 5) (aset A i t))
38 (should (equal [nil nil nil nil nil t t t t t] (vconcat (reverse A)))) 63 (should (equal [nil nil nil nil nil t t t t t] (vconcat (reverse A))))
39 (should (equal A (reverse (reverse A)))))) 64 (should (equal A (reverse (reverse A))))))
65
66(ert-deftest fns-tests-nreverse-bool-vector ()
67 (let ((A (make-bool-vector 10 nil)))
68 (dotimes (i 5) (aset A i t))
69 (nreverse A)
70 (should (equal [nil nil nil nil nil t t t t t] (vconcat A)))
71 (should (equal [t t t t t nil nil nil nil nil] (vconcat (nreverse A))))))