From 485e25312d56b6bdf59da6ade1ec08f8caaa240a Mon Sep 17 00:00:00 2001 From: Mark Oteiza Date: Tue, 5 Sep 2017 12:03:10 -0400 Subject: [PATCH] Move soundex.el test to a proper test * test/lisp/soundex-tests.el: New file. * lisp/soundex.el: Use lexical-binding. Remove commented test. --- lisp/soundex.el | 13 ++---------- test/lisp/soundex-tests.el | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 test/lisp/soundex-tests.el diff --git a/lisp/soundex.el b/lisp/soundex.el index e0d83303e34..a83bab8a910 100644 --- a/lisp/soundex.el +++ b/lisp/soundex.el @@ -1,4 +1,4 @@ -;;; soundex.el --- implement Soundex algorithm +;;; soundex.el --- implement Soundex algorithm -*- lexical-binding: t -*- ;; Copyright (C) 1993, 2001-2017 Free Software Foundation, Inc. @@ -29,7 +29,7 @@ ;;; Code: -(defvar soundex-alist +(defconst soundex-alist '((?B . "1") (?F . "1") (?P . "1") (?V . "1") (?C . "2") (?G . "2") (?J . "2") (?K . "2") (?Q . "2") (?S . "2") (?X . "2") (?Z . "2") (?D . "3") (?T . "3") (?L . "4") (?M . "5") @@ -60,15 +60,6 @@ and Searching\", Addison-Wesley (1973), pp. 391-392." (substring (concat key "000") 0 4) key))) -;(defvar soundex-test -; '("Euler" "Gauss" "Hilbert" "Knuth" "Lloyd" "Lukasiewicz" -; "Ellery" "Ghosh" "Heilbronn" "Kant" "Ladd" "Lissajous") -; "\n Knuth's names to demonstrate the Soundex algorithm.") -; -;(mapcar 'soundex soundex-test) -;("E460" "G200" "H416" "K530" "L300" "L222" -; "E460" "G200" "H416" "K530" "L300" "L222") - (provide 'soundex) ;;; soundex.el ends here diff --git a/test/lisp/soundex-tests.el b/test/lisp/soundex-tests.el new file mode 100644 index 00000000000..d1bc99d8113 --- /dev/null +++ b/test/lisp/soundex-tests.el @@ -0,0 +1,43 @@ +;;; soundex-tests.el --- tests for soundex.el -*- lexical-binding: t -*- + +;; Copyright (C) 2017 Free Software Foundation, Inc. + +;; Maintainer: emacs-devel@gnu.org + +;; 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: + +;; Test `soundex-test-names' originally adapted from code in +;; soundex.el by Christian Plaunt + +;;; Code: + +(require 'ert) +(require 'soundex) + +(defconst soundex-test-name-list + '("Euler" "Gauss" "Hilbert" "Knuth" "Lloyd" "Lukasiewicz" + "Ellery" "Ghosh" "Heilbronn" "Kant" "Ladd" "Lissajous") + "Knuth's names to demonstrate the Soundex algorithm.") + +(ert-deftest soundex-test-names () + (should + (equal (mapcar #'soundex soundex-test-name-list) + '("E460" "G200" "H416" "K530" "L300" "L222" + "E460" "G200" "H416" "K530" "L300" "L222")))) + +;;; soundex-tests.el ends here -- 2.39.2