<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>package.lisp</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -19,6 +19,11 @@ the condition text is not very useful).
 See the Lisp files in the examples directory for some very simple
 examples of specifications.
 
+== Loading
+
+(asdf:oos 'asdf:load-op :cl-spec)
+
+
 == Usage
 
 There are three ways to run a spec.</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -11,6 +11,7 @@
 - mocks
 - more matchers
 - groups
+- integrate with clickcheck
 
 * Literacy
 - should it expand to defclass, with an initarg of tests?</diff>
      <filename>TODO</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,8 @@
 ;;; ows 2008-01-05 -- fixed compiler errors and warnings
 ;;; ows 2008-01-08 -- eval -&gt; funcall, to capture lexical scope
 
+(in-package #:cl-spec)
+
 ;; Utilities
 (eval-when (:compile-toplevel :load-toplevel :execute)
   (defmethod obj-&gt;string ((s string))
@@ -164,5 +166,3 @@
 (defmacro specify (name &amp;body body)
   `(let ((*spec-specification* ,name))
      ,@body))
-
-(provide 'bdd)</diff>
      <filename>bdd.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,19 +1,26 @@
-;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+#|
+Copyright 2008 by Oliver Steele.  All rights reserved.
 
-(defpackage #:cl-spec-asd (:use :cl :asdf))
+This code is available under the MIT License.
+|#
+
+(defpackage #:cl-spec-asd (:use #:cl #:asdf))
 (in-package #:cl-spec-asd)
 
-(defsystem &quot;cl-spec&quot;
+(asdf:defsystem &quot;cl-spec&quot;
     :description &quot;Behavioral Testing for Common Lisp.&quot;
-    :version &quot;0.1&quot;
-    :author &quot;Oliver Steele &lt;steele@osteele.com&gt;&quot;
+    :version &quot;0.1.6&quot;
+    :author &quot;Oliver Steele &lt;steele@osteele.com&gt;, Yurii Rashkovskii&quot;
+    :maintainer &quot;Oliver Steele &lt;steele@osteele.com&gt;&quot;
     :licence &quot;MIT License&quot;
-    :components ((:file &quot;formatters&quot;
-                        :depends-on (&quot;specify&quot; &quot;utilities&quot; &quot;templates&quot;))
-                 (:file &quot;runners&quot;)
-                 (:file &quot;specify&quot; :depends-on (&quot;bdd&quot; &quot;utilities&quot;))
-                 (:file &quot;templates&quot;); :depends-on (&quot;utilities&quot;))
+    :serial t
+    :components ((:file &quot;package&quot;)
                  (:file &quot;utilities&quot;)
-                 (:file &quot;bdd&quot;))
+                 (:file &quot;templates&quot;); :depends-on (&quot;utilities&quot;))
+                 (:file &quot;bdd&quot;)
+                 (:file &quot;specify&quot; :depends-on (&quot;bdd&quot; &quot;utilities&quot;))
+                 (:file &quot;formatters&quot;
+                        :depends-on (&quot;specify&quot; &quot;utilities&quot; &quot;templates&quot;))
+                 (:file &quot;runners&quot;))
     ;:depends-on (:lexicons)
     )</diff>
      <filename>cl-spec.asd</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,12 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
-(define-specification &quot;an empty dictionary&quot; ((dict {}))
+(cl-spec:specify &quot;an empty dictionary&quot; ((dict {}))
   (&quot;should have no keys&quot;
    (=&gt; (length (keys dict)) should be zero))
   (&quot;should not have an entry for :key&quot;
    (=&gt; (ref1 dict :key) should eq nil)))
 
-(define-specification &quot;a dictionary with one entry&quot; ((dict {a-key 'a-value}))
+(cl-spec:specify &quot;a dictionary with one entry&quot; ((dict {a-key 'a-value}))
   (&quot;should have one key&quot;
    (=&gt; (length (keys dict)) should eq 1))
   (&quot;should have a set of keys that contains its key&quot;</diff>
      <filename>examples/dictionary-spec.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
-(define-specification &quot;a spec with some failing examples&quot; ()
+(in-package #:cl-user)
+
+(cl-spec:specify &quot;a spec with some failing examples&quot; ()
   (&quot;should pass&quot;
    (=&gt; (+ 1 2) should = 3))
   (&quot;should fail&quot;
@@ -8,7 +10,7 @@
   (&quot;should also fail&quot;
    (=&gt; (+ 1 2) should = 4)))
 
-(define-specification &quot;a spec with all passing example&quot; ()
+(cl-spec:specify &quot;a spec with all passing examples&quot; ()
   (&quot;first example should pass&quot;
    (=&gt; (+ 1 2) should = 3))
   (&quot;second example should also pass&quot;</diff>
      <filename>examples/failing-spec.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
+(in-package #:cl-spec)
 
 (defclass specification-formatter ()
   ())</diff>
      <filename>formatters.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,15 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
+(in-package #:cl-spec)
+
 ;;;
 ;;; Running
 ;;;
 
+(defun run-spec (&amp;rest rest)
+  &quot;An abbreviation for run-specification.&quot;
+  (apply #'run-specification rest))
+
 (defmethod run-specification ((self specification) &amp;key onsuccess onerror)
   &quot;Run all the examples.  Returns a SPECIFICATION-RESULTS.
 </diff>
      <filename>runners.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,8 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
+(in-package #:cl-spec)
+
 (require 'dictionary)
-(require 'bdd)
 
 (defvar *collect-specifications* nil
   &quot;If true, DEFINE-SPECIFICATION collects specifications into
@@ -28,7 +29,7 @@ for DEFINE-SPECIFICATION to collect into.&quot;)
 of named examples.&quot;))
 
 (defmethod print-object ((self specification) stream)
-  (format stream &quot;#&lt;specification ~S&gt;&quot; (specification-name name)))
+  (format stream &quot;#&lt;specification ~S&gt;&quot; (specification-name specification)))
 
 (defmacro define-specification (name bindings &amp;body body)
   &quot;Define a SPECIFICATION, with a name, variables, and a list of examples.
@@ -66,6 +67,8 @@ subdirectory for examples in Lisp syntax.&quot;
               (run-specification spec))
              spec)))))
 
+(defmacro specify (name bindings &amp;rest examples)
+  `(define-specification ,name ,bindings ,@examples))
 
 ;;;
 ;;; Specification results
@@ -79,6 +82,11 @@ subdirectory for examples in Lisp syntax.&quot;
 (defclass abstract-specification-results ()
   ())
 
+(dolist (name '(examples failures examples-count failures-count elapsed-time))
+  (ensure-generic-function (intern (format nil &quot;SPECIFICATION-RESULTS-~A&quot; name))
+                           :argument-precedence-order '(specification-results)))
+
+
 (defclass specification-results-group (abstract-specification-results)
   ((children :initarg :children
              :reader specification-results-children</diff>
      <filename>specify.lisp</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,7 @@
 ;;; Copyright 2008 by Oliver Steele.  Released under the MIT License.
 
+(in-package #:cl-spec)
+
 ;; A quick and dirty template facilityq that does just enough to
 ;; enable HTML output from cl-spec.  A proper implementation would
 ;; compile to a function, as well as use a proper parser.</diff>
      <filename>templates.lisp</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>90633abd1672f695d57edb3e1e06830213ac1a7f</id>
    </parent>
  </parents>
  <author>
    <name>Oliver Steele</name>
    <email>steele@osteele.com</email>
  </author>
  <url>http://github.com/osteele/cl-spec/commit/86ec419166158682ab6de9dbe6e4d8458435ddca</url>
  <id>86ec419166158682ab6de9dbe6e4d8458435ddca</id>
  <committed-date>2008-01-15T07:31:35-08:00</committed-date>
  <authored-date>2008-01-15T07:31:35-08:00</authored-date>
  <message>add package</message>
  <tree>98705085f67e3a78d86bbd57d4313892bb1eb478</tree>
  <committer>
    <name>Oliver Steele</name>
    <email>steele@osteele.com</email>
  </committer>
</commit>
