CL-MOCK - Mocking functions.
-Copyright (C) 2013-14 Olof-Joachim Frahm
+Copyright (C) 2013-15 Olof-Joachim Frahm
Release under a Simplified BSD license.
Working, but unfinished.
-Should be portable.
+[![Build Status](https://travis-ci.org/Ferada/cl-mock.svg?branch=master)](https://travis-ci.org/Ferada/cl-mock)
+
+Portable to at least ABCL, Allegro CL (with one problem with inlining
+settings), SBCL, CCL and CLISP. CMUCL possibly, but not tested on
+Travis CI. ECL fails on Travis CI ([`OPTIMA`][3] fails there as well),
+but runs successfully on my own machine, so YMMV. See the detailed
+reports at
+[https://travis-ci.org/Ferada/cl-mock](https://travis-ci.org/Ferada/cl-mock)
+for more information and [`CL-TRAVIS`][5], and [`.travis.yml`][6] for the
+setup.
# INTRODUCTION
> (declaim (notinline foo bar))
> (defun foo () 'foo)
- > (defun bar () 'bar)
+ > (defun bar (&rest args)
+ > (declare (ignore args))
+ > 'bar)
> (with-mocks ()
> (answer (foo 1) 42)
> (answer foo 23)
the list, which (as of now) isn't available via `ANSWER` (and should be
treated as subject to change anyway).
+Should you wish to run the previously defined function, use the function
+`CALL-PREVIOUS`. If no arguments are passed it will use the current
+arguments from `*ARGUMENTS*`, if any. Otherwise it will be called with
+the passed arguments instead. For cases where explicitely calling it
+with no arguments is necessary, using `(funcall *previous*)` is still
+possible as well.
+
+ > (with-mocks ()
+ > (answer foo `(was originally ,(funcall *previous*)))
+ > (answer bar `(was originally ,(call-previous)))
+ > (values
+ > (foo "hello")
+ > (bar "hello")))
+ > => (WAS ORIGINALLY FOO) (WAS ORIGINALLY BAR)
+
The function `INVOCATIONS` may be used to retrieve all recorded
invocations of mocks (so far); the optional argument can be used to
filter for a particular name:
[2]: http://common-lisp.net/project/fiveam/
[3]: https://github.com/m2ym/optima
[4]: https://github.com/gschjetne/eclastic
+[5]: https://github.com/luismbo/cl-travis
+[6]: https://raw.githubusercontent.com/Ferada/cl-mock/master/.travis.yml