diff options
| author | Dmitry Antipov | 2014-05-15 18:59:02 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-05-15 18:59:02 +0400 |
| commit | ddc30c996a3d14e0163df6946ba96c9bcf73bd2f (patch) | |
| tree | 6c0a2fafa8a124e0c6e12174321dc012226bb7a9 /test | |
| parent | 92491099f710794ee2be60721fae50d68c5ca162 (diff) | |
| download | emacs-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/ChangeLog | 2 | ||||
| -rw-r--r-- | test/automated/fns-tests.el | 32 |
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 @@ | |||
| 1 | 2014-05-15 Dmitry Antipov <dmantipov@yandex.ru> | 1 | 2014-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 | ||
| 5 | 2014-05-08 Glenn Morris <rgm@gnu.org> | 7 | 2014-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)))))) | ||