projects
/
cl-mock.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2bc17f6
)
Add some docstrings.
author
Olof-Joachim Frahm
<olof@macrolet.net>
Thu, 6 Jun 2013 21:42:01 +0000
(23:42 +0200)
committer
Olof-Joachim Frahm
<olof@macrolet.net>
Thu, 6 Jun 2013 21:42:01 +0000
(23:42 +0200)
src/mock.lisp
patch
|
blob
|
history
diff --git
a/src/mock.lisp
b/src/mock.lisp
index
481de12
..
33b4ba2
100644
(file)
--- a/
src/mock.lisp
+++ b/
src/mock.lisp
@@
-11,9
+11,13
@@
(defvar *arguments*)
(defun call-previous (&rest args)
(defvar *arguments*)
(defun call-previous (&rest args)
+ "Invokes the previous binding either with the current arguments or with
+the given ones. Use *PREVIOUS*/*ARGUMENTS* directly in edge cases."
(apply *previous* (or args *arguments*)))
(defun find-and-invoke-mock (*previous* cases *arguments*)
(apply *previous* (or args *arguments*)))
(defun find-and-invoke-mock (*previous* cases *arguments*)
+ "Looks for a compatible mock (i.e. calls the TEST until one returns true)
+and executes it. If no mock was found, no values are returned instead."
(dolist (case cases (values))
(when (ignore-errors (apply (car case) *arguments*))
(return (apply (cdr case) *arguments*)))))
(dolist (case cases (values))
(when (ignore-errors (apply (car case) *arguments*))
(return (apply (cdr case) *arguments*)))))
@@
-41,6
+45,8
@@
be recorded and returned as the second return value, else NIL."
previous)))
(defun register-mock (mock-bindings name)
previous)))
(defun register-mock (mock-bindings name)
+ "Registers a mocked function under NAME. The mocked function will
+return no values. See IF-CALLED to add some behaviour to it."
(let ((found (member name (mock-bindings-mocks mock-bindings) :key #'car :test #'eq)))
(or (car found)
(let ((binding (list name)))
(let ((found (member name (mock-bindings-mocks mock-bindings) :key #'car :test #'eq)))
(or (car found)
(let ((binding (list name)))
@@
-48,6
+54,9
@@
be recorded and returned as the second return value, else NIL."
binding))))
(defun if-called (mock-bindings name test function &key at-start)
binding))))
(defun if-called (mock-bindings name test function &key at-start)
+ "Registers a new binding to be called when the TEST function returns
+true. If AT-START is set, the binding is put at the start of the bindings
+list instead. Calls REGISTER-MOCK automatically."
(let ((binding (register-mock mock-bindings name))
(case (cons test function)))
(if at-start
(let ((binding (register-mock mock-bindings name))
(case (cons test function)))
(if at-start