From b81ea02cabbe8959f792850a84da9487d0e271ac Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Fri, 16 Jan 2009 05:18:37 +0000 Subject: [PATCH] add more tests, mainly for catching exceptions and other raised values svn: r13159 --- collects/tests/mzscheme/promise.ss | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/collects/tests/mzscheme/promise.ss b/collects/tests/mzscheme/promise.ss index a7611de434..51e011e383 100644 --- a/collects/tests/mzscheme/promise.ss +++ b/collects/tests/mzscheme/promise.ss @@ -70,4 +70,19 @@ (t (force (lazy (lazy (lazy (force (delay (delay _)))))))) (t (force (lazy (lazy (delay (force (lazy (delay _))))))))) +;; more tests +(let () + (define (force+catch x) + (with-handlers ([void (lambda (x) (cons 'catch x))]) (force x))) + ;; results are cached + (let ([x (delay (random 10000))]) + (test #t equal? (force x) (force x))) + ;; errors are cached + (let ([x (delay (error 'foo "blah"))]) + (test #t equal? (force+catch x) (force+catch x))) + ;; other raised values are cached + (let ([x (delay (raise (random 10000)))]) + (test #t equal? (force+catch x) (force+catch x))) + ) + (report-errs)