emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 18d4a5e: * packages/test-simple/test-simple.el: Use cl-lib


From: Stefan Monnier
Subject: [elpa] master 18d4a5e: * packages/test-simple/test-simple.el: Use cl-lib
Date: Mon, 27 Apr 2015 01:26:38 +0000

branch: master
commit 18d4a5e7e202dba4fb9e8a0351ed09f415c679eb
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    * packages/test-simple/test-simple.el: Use cl-lib
    
    (test-simple-msg): Let-bind inhibit-read-only directly.
    (test-simple--ok-msg, test-simple--not-ok-msg): Rename from ok-msg and
    not-ok-msg.
    * packages/test-simple/ChangeLog: Remove empty file.
---
 packages/test-simple/test-simple.el |   93 ++++++++++++++++-------------------
 1 files changed, 42 insertions(+), 51 deletions(-)

diff --git a/packages/test-simple/ChangeLog b/packages/test-simple/ChangeLog
deleted file mode 100644
index e69de29..0000000
diff --git a/packages/test-simple/test-simple.el 
b/packages/test-simple/test-simple.el
index 351a60b..e7e4164 100644
--- a/packages/test-simple/test-simple.el
+++ b/packages/test-simple/test-simple.el
@@ -6,6 +6,7 @@
 ;; Author: Rocky Bernstein <address@hidden>
 ;; URL: http://github.com/rocky/emacs-test-simple
 ;; Keywords: unit-test
+;; Package-Requires: ((cl-lib "0"))
 ;; Version: 1.1
 
 ;; This program is free software: you can redistribute it and/or
@@ -26,7 +27,7 @@
 
 ;; test-simple.el is:
 ;;
-;; * Simple. No need for
+;; * Simple.  No need for
 ;;   - context macros,
 ;;   - enclosing specifications,
 ;;   - required test tags.
@@ -37,7 +38,7 @@
 ;;
 ;; * Accomodates both interactive and non-interactive use.
 ;;    - For interactive use, one can use `eval-last-sexp', `eval-region',
-;;      and `eval-buffer'. One can `edebug' the code.
+;;      and `eval-buffer'.  One can `edebug' the code.
 ;;    -  For non-interactive use, run:
 ;;        emacs --batch --no-site-file --no-splash --load <test-lisp-code.el>
 ;;
@@ -81,21 +82,14 @@
 
 ;;; To do:
 
+;; FIXME: Namespace is all messed up!
 ;; Main issues: more expect predicates
 
 (require 'time-date)
 
 ;;; Code:
 
-(eval-when-compile
-  (byte-compile-disable-warning 'cl-functions)
-  ;; Somehow disabling cl-functions causes the erroneous message:
-  ;;   Warning: the function `reduce' might not be defined at runtime.
-  ;; FIXME: isolate, fix and/or report back to Emacs developers a bug
-  ;; (byte-compile-disable-warning 'unresolved)
-  (require 'cl)
-  )
-(require 'cl)
+(eval-when-compile (require 'cl-lib))
 
 (defvar test-simple-debug-on-error nil
   "If non-nil raise an error on the first failure.")
@@ -103,7 +97,7 @@
 (defvar test-simple-verbosity 0
   "The greater the number the more verbose output.")
 
-(defstruct test-info
+(cl-defstruct test-info
   description                 ;; description of last group of tests
   (assert-count 0)            ;; total number of assertions run
   (failure-count 0)           ;; total number of failures seen
@@ -114,7 +108,7 @@
   "Variable to store testing information for a buffer.")
 
 (defun note (description &optional test-info)
-  "Adds a name to a group of tests."
+  "Add a name to a group of tests."
   (if (getenv "USE_TAP")
     (test-simple-msg (format "# %s" description) 't)
     (if (> test-simple-verbosity 0)
@@ -135,15 +129,13 @@
 
 ;;;###autoload
 (defun test-simple-clear (&optional test-info test-start-msg)
-  "Initializes and resets everything to run tests. You should run
-this before running any assertions. Running more than once clears
-out information from the previous run."
+  "Initialize and reset everything to run tests.
+You should run this before running any assertions.  Running more than once
+clears out information from the previous run."
 
   (interactive)
 
   (unless test-info
-    (unless test-simple-info
-      (make-variable-buffer-local (defvar test-simple-info (make-test-info))))
     (setq test-info test-simple-info))
 
   (setf (test-info-description test-info) "none set")
@@ -174,9 +166,9 @@ out information from the previous run."
          (list error-condition '(assert-t t)))))
 
 (defun assert-op (op expected actual &optional fail-message test-info)
-  "expectation is that ACTUAL should be equal to EXPECTED."
+  "Expectation is that ACTUAL should be equal to EXPECTED."
   (unless test-info (setq test-info test-simple-info))
-  (incf (test-info-assert-count test-info))
+  (cl-incf (test-info-assert-count test-info))
   (if (not (funcall op actual expected))
       (let* ((fail-message
              (if fail-message
@@ -188,26 +180,26 @@ out information from the previous run."
              (if (boundp 'test-info)
                  (test-info-description test-info)
                "unset")))
-       (add-failure (format "assert-%s" op) test-info-mess
-                    (concat fail-message expect-message)))
-    (ok-msg fail-message)))
+       (test-simple--add-failure (format "assert-%s" op) test-info-mess
+                                  (concat fail-message expect-message)))
+    (test-simple--ok-msg fail-message)))
 
 (defun assert-equal (expected actual &optional fail-message test-info)
-  "expectation is that ACTUAL should be equal to EXPECTED."
+  "Expectation is that ACTUAL should be equal to EXPECTED."
   (assert-op 'equal expected actual fail-message test-info))
 
 (defun assert-eq (expected actual &optional fail-message test-info)
-  "expectation is that ACTUAL should be EQ to EXPECTED."
+  "Expectation is that ACTUAL should be EQ to EXPECTED."
   (assert-op 'eql expected actual fail-message test-info))
 
 (defun assert-eql (expected actual &optional fail-message test-info)
-  "expectation is that ACTUAL should be EQL to EXPECTED."
+  "Expectation is that ACTUAL should be EQL to EXPECTED."
   (assert-op 'eql expected actual fail-message test-info))
 
 (defun assert-matches (expected-regexp actual &optional fail-message test-info)
-  "expectation is that ACTUAL should match EXPECTED-REGEXP."
+  "Expectation is that ACTUAL should match EXPECTED-REGEXP."
   (unless test-info (setq test-info test-simple-info))
-  (incf (test-info-assert-count test-info))
+  (cl-incf (test-info-assert-count test-info))
   (if (not (string-match expected-regexp actual))
       (let* ((fail-message
              (if fail-message
@@ -220,20 +212,21 @@ out information from the previous run."
              (if (boundp 'test-info)
                  (test-info-description test-info)
                "unset")))
-       (add-failure "assert-equal" test-info-mess
-                    (concat expect-message fail-message)))
+       (test-simple--add-failure "assert-equal" test-info-mess
+                                  (concat expect-message fail-message)))
     (progn (test-simple-msg ".") t)))
 
 (defun assert-t (actual &optional fail-message test-info)
-  "expectation is that ACTUAL is not nil."
+  "Expectation is that ACTUAL is not nil."
   (assert-nil (not actual) fail-message test-info "assert-t"))
 
-(defun assert-nil (actual &optional fail-message test-info assert-type)
-  "expectation is that ACTUAL is nil. FAIL-MESSAGE is an optional
-additional message to be displayed. Since several assertions
-funnel down to this one, ASSERT-TYPE is an optional type."
+(defun assert-nil (actual &optional fail-message test-info _assert-type)
+  "Expectation is that ACTUAL is nil.
+FAIL-MESSAGE is an optional additional message to be displayed.
+Since several assertions funnel down to this one, ASSERT-TYPE is an
+optional type."
   (unless test-info (setq test-info test-simple-info))
-  (incf (test-info-assert-count test-info))
+  (cl-incf (test-info-assert-count test-info))
   (if actual
       (let* ((fail-message
              (if fail-message
@@ -243,18 +236,19 @@ funnel down to this one, ASSERT-TYPE is an optional type."
              (if (boundp 'test-simple-info)
                  (test-info-description test-simple-info)
                "unset")))
-       (add-failure "assert-nil" test-info-mess fail-message test-info))
-    (ok-msg fail-message)))
+       (test-simple--add-failure "assert-nil" test-info-mess
+                                  fail-message test-info))
+    (test-simple--ok-msg fail-message)))
 
-(defun add-failure(type test-info-msg fail-msg &optional test-info)
+(defun test-simple--add-failure (type test-info-msg fail-msg
+                                      &optional test-info)
   (unless test-info (setq test-info test-simple-info))
-  (incf (test-info-failure-count test-info))
+  (cl-incf (test-info-failure-count test-info))
   (let ((failure-msg
         (format "\nDescription: %s, type %s\n%s" test-info-msg type fail-msg))
-       (old-read-only inhibit-read-only)
        )
     (save-excursion
-      (not-ok-msg fail-msg)
+      (test-simple--not-ok-msg fail-msg)
       (test-simple-msg failure-msg 't)
       (unless noninteractive
        (if test-simple-debug-on-error
@@ -263,7 +257,7 @@ funnel down to this one, ASSERT-TYPE is an optional type."
          )))))
 
 (defun end-tests (&optional test-info)
-  "Give a tally of the tests run"
+  "Give a tally of the tests run."
   (interactive)
   (unless test-info (setq test-info test-simple-info))
   (test-simple-describe-failures test-info)
@@ -281,15 +275,12 @@ funnel down to this one, ASSERT-TYPE is an optional type."
 
 (defun test-simple-msg(msg &optional newline)
   (switch-to-buffer "*test-simple*")
-  (let ((old-read-only inhibit-read-only))
-    (setq inhibit-read-only 't)
+  (let ((inhibit-read-only t))
     (insert msg)
-    (if newline (insert "\n"))
-    (setq inhibit-read-only old-read-only)
-    (switch-to-buffer nil)
-  ))
+    (if newline (insert "\n")))
+  (switch-to-buffer nil))
 
-(defun ok-msg(fail-message &optional test-info)
+(defun test-simple--ok-msg (fail-message &optional test-info)
   (unless test-info (setq test-info test-simple-info))
   (let ((msg (if (getenv "USE_TAP")
                 (if (equal fail-message "")
@@ -301,7 +292,7 @@ funnel down to this one, ASSERT-TYPE is an optional type."
       (test-simple-msg msg))
   't)
 
-(defun not-ok-msg(fail-message &optional test-info)
+(defun test-simple--not-ok-msg (_fail-message &optional test-info)
   (unless test-info (setq test-info test-simple-info))
   (let ((msg (if (getenv "USE_TAP")
                 (format "not ok %d\n" (test-info-assert-count test-info))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]