bkyk8rc3zvpnsf5inmcqq4n3k98cv6hj-my-site-hyper-literate-git.test.suzanne.soy-0.0.1

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit f33e8c07468a31b3e869062fe4e507ad98288809
parent 1a6f1b593e9a516860341994405612558fe64ea7
Author: Alexis King <lexi.lambda@gmail.com>
Date:   Mon,  6 Jul 2015 23:00:35 -0700

Fix eval:check in interaction to properly validate its arguments

Diffstat:
Mscribble-lib/scribble/eval.rkt | 14++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/scribble-lib/scribble/eval.rkt b/scribble-lib/scribble/eval.rkt @@ -264,12 +264,12 @@ (get-outputs)))]) (cons (render-value (do-plain-eval ev s #t)) (get-outputs)))) (define (do-ev/expect s expect) - (define r (do-ev s)) (when expect - (let ([expect (do-plain-eval ev (car expect) #t)]) - (unless (equal? (car r) expect) + (let ([r (do-plain-eval ev s #t)] + [expect (do-plain-eval ev (car expect) #t)]) + (unless (equal? r expect) (raise-syntax-error 'eval "example result check failed" s)))) - r) + (do-ev s)) (lambda (str) (if (eval-results? str) (list (map formatted-result (eval-results-contents str)) @@ -280,6 +280,12 @@ (list (list (void)) "" "") (do-ev/expect s expect)))))) +(module+ test + (require rackunit) + (test-case + "eval:check in interaction" + (check-not-exn (λ () (interaction (eval:check #t #t)))))) + (define scribble-exn->string (make-parameter (λ (e)