aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimen Heggestøyl2016-11-17 19:19:59 +0100
committerSimen Heggestøyl2016-11-17 19:19:59 +0100
commitedda93cfb1a1da27adbda6bf43d826e492a135e5 (patch)
tree7bab19d098ce8d8b7eb69efc1bc821f22bb67fb0
parent6653bb45d3697c9372cc77773c49f52399740b51 (diff)
downloademacs-edda93cfb1a1da27adbda6bf43d826e492a135e5.tar.gz
emacs-edda93cfb1a1da27adbda6bf43d826e492a135e5.zip
Add tests for rot13.el
* lisp/rot13.el (rot13): Docstring correction. * test/lisp/rot13-tests.el: New file with tests for rot13.el.
-rw-r--r--lisp/rot13.el5
-rw-r--r--test/lisp/rot13-tests.el54
2 files changed, 58 insertions, 1 deletions
diff --git a/lisp/rot13.el b/lisp/rot13.el
index ee4f51d7ff3..55725473eaa 100644
--- a/lisp/rot13.el
+++ b/lisp/rot13.el
@@ -63,7 +63,10 @@
63 63
64;;;###autoload 64;;;###autoload
65(defun rot13 (object &optional start end) 65(defun rot13 (object &optional start end)
66 "Return ROT13 encryption of OBJECT, a buffer or string." 66 "ROT13 encrypt OBJECT, a buffer or string.
67If OBJECT is a buffer, encrypt the region between START and END.
68If OBJECT is a string, encrypt it in its entirety, ignoring START
69and END, and return the encrypted string."
67 (if (bufferp object) 70 (if (bufferp object)
68 (with-current-buffer object 71 (with-current-buffer object
69 (rot13-region start end)) 72 (rot13-region start end))
diff --git a/test/lisp/rot13-tests.el b/test/lisp/rot13-tests.el
new file mode 100644
index 00000000000..a31dc50f8fc
--- /dev/null
+++ b/test/lisp/rot13-tests.el
@@ -0,0 +1,54 @@
1;;; rot13-tests.el --- Tests for rot13.el -*- lexical-binding: t; -*-
2
3;; Copyright (C) 2016 Free Software Foundation, Inc.
4
5;; Author: Simen Heggestøyl <simenheg@gmail.com>
6;; Keywords:
7
8;; This file is part of GNU Emacs.
9
10;; GNU Emacs is free software: you can redistribute it and/or modify
11;; it under the terms of the GNU General Public License as published by
12;; the Free Software Foundation, either version 3 of the License, or
13;; (at your option) any later version.
14
15;; GNU Emacs is distributed in the hope that it will be useful,
16;; but WITHOUT ANY WARRANTY; without even the implied warranty of
17;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;; GNU General Public License for more details.
19
20;; You should have received a copy of the GNU General Public License
21;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
22
23;;; Commentary:
24
25;;
26
27;;; Code:
28
29(require 'ert)
30(require 'rot13)
31
32(ert-deftest rot13-tests-rot13 ()
33 (should (equal (rot13 "Super-secret text") "Fhcre-frperg grkg"))
34 (with-temp-buffer
35 (insert "Super-secret text")
36 (rot13 (current-buffer) (point-min) (point-max))
37 (should (equal (buffer-string) "Fhcre-frperg grkg"))
38 (rot13 (current-buffer) (point-min) (+ (point-min) 5))
39 (should (equal (buffer-string) "Super-frperg grkg"))))
40
41(ert-deftest rot13-tests-rot13-string ()
42 (should (equal (rot13-string "") ""))
43 (should (equal (rot13-string (rot13-string "foo")) "foo"))
44 (should (equal (rot13-string "Super-secret text")
45 "Fhcre-frperg grkg")))
46
47(ert-deftest rot13-tests-rot13-region ()
48 (with-temp-buffer
49 (insert "Super-secret text")
50 (rot13-region (+ (point-min) 6) (+ (point-min) 12))
51 (should (equal (buffer-string) "Super-frperg text"))))
52
53(provide 'rot13-tests)
54;;; rot13-tests.el ends here