commit 8a8557267960b42a66cd850697cf21ff1f79da6b parent 6587e4f5eab343cb34270aa4727e36703570c491 Author: Ben Greenman <benjaminlgreenman@gmail.com> Date: Tue, 1 Aug 2017 22:29:44 -0400 scribble/eval: fix contract for scribble-exn->string Diffstat:
| M | scribble-lib/scribble/eval.rkt | | | 2 | +- |
| M | scribble-test/tests/scribble/example.rkt | | | 17 | +++++++++++++++++ |
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/scribble-lib/scribble/eval.rkt b/scribble-lib/scribble/eval.rkt @@ -44,7 +44,7 @@ (-> any/c any)] [scribble-exn->string - (-> any/c string?)] + (parameter/c (-> any/c string?))] [scribble-eval-handler (parameter/c (-> (-> any/c any) boolean? any/c any))] [make-log-based-eval diff --git a/scribble-test/tests/scribble/example.rkt b/scribble-test/tests/scribble/example.rkt @@ -33,9 +33,26 @@ (λ () (make-eval-factory '() #:lang '(+ 2 2)))) (check-exn blames-this-module? + (λ () (scribble-exn->string #f))) + (check-exn blames-this-module? + (λ () (scribble-exn->string (λ (a b c) a)))) + (check-not-exn + (λ () (scribble-exn->string))) + (check-not-exn + (λ () + (parameterize ((scribble-exn->string (λ (a) "hello"))) + ((scribble-exn->string) "error")))) + + (check-exn blames-this-module? (λ () (scribble-eval-handler #f))) (check-exn blames-this-module? (λ () (scribble-eval-handler (λ (ev t) t)))) + (check-not-exn + (λ () (scribble-eval-handler))) + (check-not-exn + (λ () + (parameterize ((scribble-eval-handler (λ (a b c) c))) + ((scribble-eval-handler) (λ (x) x) #f #true)))) (check-exn blames-this-module? (λ () (make-log-based-eval #f 'record)))