From c00b93eaa4ec01355475ab5065765bb7fece3c8b Mon Sep 17 00:00:00 2001 From: Mikael Djurfeldt Date: Mon, 6 Sep 1999 18:41:03 +0000 Subject: [PATCH] * tests/interp.test: Added tests for evaluation of closure bodies. --- test-suite/tests/interp.test | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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))))))) -- 2.20.1