From 3d69adedc05c1e6e5c94144160ba80b23f174b80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simen=20Heggest=C3=B8yl?= Date: Sat, 12 Nov 2016 12:48:51 +0100 Subject: [PATCH] Add tests for rot13.el * lisp/rot13.el (rot13): Docstring correction. * test/lisp/rot13-tests.el: New file with tests for rot13.el. --- lisp/rot13.el | 3 ++- test/lisp/rot13-tests.el | 54 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 test/lisp/rot13-tests.el diff --git a/lisp/rot13.el b/lisp/rot13.el index ee4f51d..dae1517 100644 --- a/lisp/rot13.el +++ b/lisp/rot13.el @@ -63,7 +63,8 @@ rot13-translate-table ;;;###autoload (defun rot13 (object &optional start end) - "Return ROT13 encryption of OBJECT, a buffer or string." + "ROT13 encrypt OBJECT, a buffer or string. +Return the ROT13 encrypted string when OBJECT is a string." (if (bufferp object) (with-current-buffer object (rot13-region start end)) diff --git a/test/lisp/rot13-tests.el b/test/lisp/rot13-tests.el new file mode 100644 index 0000000..a31dc50 --- /dev/null +++ b/test/lisp/rot13-tests.el @@ -0,0 +1,54 @@ +;;; rot13-tests.el --- Tests for rot13.el -*- lexical-binding: t; -*- + +;; Copyright (C) 2016 Free Software Foundation, Inc. + +;; Author: Simen Heggestøyl +;; Keywords: + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +;; + +;;; Code: + +(require 'ert) +(require 'rot13) + +(ert-deftest rot13-tests-rot13 () + (should (equal (rot13 "Super-secret text") "Fhcre-frperg grkg")) + (with-temp-buffer + (insert "Super-secret text") + (rot13 (current-buffer) (point-min) (point-max)) + (should (equal (buffer-string) "Fhcre-frperg grkg")) + (rot13 (current-buffer) (point-min) (+ (point-min) 5)) + (should (equal (buffer-string) "Super-frperg grkg")))) + +(ert-deftest rot13-tests-rot13-string () + (should (equal (rot13-string "") "")) + (should (equal (rot13-string (rot13-string "foo")) "foo")) + (should (equal (rot13-string "Super-secret text") + "Fhcre-frperg grkg"))) + +(ert-deftest rot13-tests-rot13-region () + (with-temp-buffer + (insert "Super-secret text") + (rot13-region (+ (point-min) 6) (+ (point-min) 12)) + (should (equal (buffer-string) "Super-frperg text")))) + +(provide 'rot13-tests) +;;; rot13-tests.el ends here -- 2.10.2