Fix typo
[fiveam.git] / src / suite.lisp
index 505a66f..003f873 100644 (file)
@@ -1,6 +1,6 @@
-;; -*- lisp -*-
+;;;; -*- Mode: Lisp; indent-tabs-mode: nil -*-
 
-(in-package :it.bese.FiveAM)
+(in-package :it.bese.fiveam)
 
 ;;;; * Test Suites
 
@@ -34,14 +34,14 @@ named NAME."
      (def-suite ,name ,@def-suite-args)
      (in-suite ,name)))
 
-(defun make-suite (name &key description in)
+(defun make-suite (name &key description ((:in parent-suite)))
   "Create a new test suite object.
 
-Overides any existing suite named NAME."
+Overrides any existing suite named NAME."
   (let ((suite (make-instance 'test-suite :name name)))
     (when description
       (setf (description suite) description))
-    (loop for i in (ensure-list in)
+    (loop for i in (ensure-list parent-suite)
           for in-suite = (get-test i)
           do (progn
                (when (null in-suite)
@@ -52,6 +52,10 @@ Overides any existing suite named NAME."
     (setf (get-test name) suite)
     suite))
 
+(defun list-all-suites ()
+  "Returns an unordered LIST of all suites."
+  (hash-table-values *suite*))
+
 ;;;; ** Managing the Current Suite
 
 (defvar *suite* (setf (get-test 'NIL)
@@ -72,14 +76,14 @@ See also: DEF-SUITE *SUITE*"
   `(%in-suite ,suite-name :in ,in :fail-on-error nil))
 
 (defmacro %in-suite (suite-name &key (fail-on-error t) in)
-  (with-unique-names (suite)
+  (with-gensyms (suite)
     `(progn
-       (if-bind ,suite (get-test ',suite-name)
+       (if-let (,suite (get-test ',suite-name))
          (setf *suite* ,suite)
          (progn
            (when ,fail-on-error
              (cerror "Create a new suite named ~A."
-                     "Unkown suite ~A." ',suite-name))
+                     "Unknown suite ~A." ',suite-name))
            (setf (get-test ',suite-name) (make-suite ',suite-name :in ',in)
                  *suite* (get-test ',suite-name))))
        ',suite-name)))