From: Mikael Djurfeldt Date: Mon, 6 Sep 1999 18:41:03 +0000 (+0000) Subject: * tests/interp.test: Added tests for evaluation of closure bodies. X-Git-Url: https://git.hcoop.net/bpt/guile.git/commitdiff_plain/c00b93eaa4ec01355475ab5065765bb7fece3c8b * tests/interp.test: Added tests for evaluation of closure bodies. --- diff --git a/test-suite/tests/interp.test b/test-suite/tests/interp.test index 18218d6d3..db3f63494 100644 --- a/test-suite/tests/interp.test +++ b/test-suite/tests/interp.test @@ -14,3 +14,24 @@ (retfoo (lambda () foo))) (define baz (retfoo)) (retfoo))) + +;; Test that evaluation of closure bodies works as it should + +(with-test-prefix "closure bodies" + (with-test-prefix "eval" + (pass-if "expansion" + ;; we really want exactly #f back from the closure + (not ((lambda () (define ret #f) ret)))) + (pass-if "iloc escape" + (not (let* ((x #f) + (foo (lambda () x))) + (foo) ; causes memoization of x + (foo))))) + (with-test-prefix "apply" + (pass-if "expansion" + (not (catch #t (lambda () (define ret #f) ret) (lambda a #t)))) + (pass-if "iloc escape" + (not (let* ((x #f) + (foo (lambda () x))) + (foo) + (catch #t foo (lambda a #t)))))))