X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcondition.impure.lisp;h=4cb5abe2440c146168683fdfdccc529be0933e26;hb=41d822d26e0ffee4be348ebf35e19caff0c858e1;hp=07b41e01051f632056427fc3d966c8e083304c8b;hpb=0af996ffd49f08b71ba071c6d69dd2b465b4202f;p=sbcl.git diff --git a/tests/condition.impure.lisp b/tests/condition.impure.lisp index 07b41e0..4cb5abe 100644 --- a/tests/condition.impure.lisp +++ b/tests/condition.impure.lisp @@ -54,7 +54,19 @@ (assert (eq (car (compute-restarts)) (car (compute-restarts c)))))) (picky-restart () :report "Do nothing." - :test (lambda (c) (typep c 'picky-condition)) + :test (lambda (c) + (typep c '(or null picky-condition))) 'ok)) +;;; adapted from Helmut Eller on cmucl-imp +(assert (eq 'it + (restart-case + (handler-case + (error 'picky-condition) + (picky-condition (c) + (invoke-restart (find-restart 'give-it c)))) + (give-it () + :test (lambda (c) (typep c 'picky-condition)) + 'it)))) + ;;; success