Update of /project/cl-utilities/cvsroot/cl-utilities In directory common-lisp.net:/tmp/cvs-serv5591
Modified Files: test.lisp Log Message: Added EVAL-WHEN to make things work better, de-stupidified the COMPOSE unit tests and added a new one.
Date: Tue May 10 21:46:40 2005 Author: pscott
Index: cl-utilities/test.lisp diff -u cl-utilities/test.lisp:1.3 cl-utilities/test.lisp:1.4 --- cl-utilities/test.lisp:1.3 Mon May 9 23:53:33 2005 +++ cl-utilities/test.lisp Tue May 10 21:46:38 2005 @@ -1,6 +1,7 @@ ;; This file requires the FiveAM unit testing framework. -(asdf:oos 'asdf:load-op :fiveam) -(asdf:oos 'asdf:load-op :cl-utilities) +(eval-when (:compile-toplevel :load-toplevel :execute) + (asdf:oos 'asdf:load-op :fiveam) + (asdf:oos 'asdf:load-op :cl-utilities))
;; To run all the tests: ;; (5am:run! 'cl-utilities-tests::cl-utilities-suite) @@ -120,5 +121,11 @@ (test compose (labels ((2* (x) (* 2 x))) (is (= (funcall (compose #'1+ #'1+) 1) 3)) - (is (= (funcall (compose '1+ '2*) 5) 11)) - (is (= (funcall (compose #'1+ '2* '1+) 6) 15)))) \ No newline at end of file + (is (= (funcall (compose '1+ #'2*) 5) 11)) + (is (= (funcall (compose #'1+ #'2* '1+) 6) 15)) + ;; This should signal an undefined function error, since we're + ;; using '2* rather than #'2*, which means that COMPOSE will use + ;; the dynamic binding at the time it is called rather than the + ;; lexical binding here. + (signals undefined-function + (= (funcall (compose #'1+ '2* '1+) 6) 15)))) \ No newline at end of file