aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-28 15:49:31 +0800
committerMistivia <i@mistivia.com>2025-06-28 15:51:04 +0800
commit0633c6c2797bc9182b2c1888385eac6cb6caed10 (patch)
treee920255dda5b6fea67f3eef91b27c4dae069c63e /tests
parent9efc0e78ad1609217752b5aa02fbb389d726e9c7 (diff)
add unwind-protect
Diffstat (limited to 'tests')
-rw-r--r--tests/control-flow.lisp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/control-flow.lisp b/tests/control-flow.lisp
index 965213e..2b4f6f1 100644
--- a/tests/control-flow.lisp
+++ b/tests/control-flow.lisp
@@ -70,3 +70,22 @@
(assert (= 1 (funcall (lambda () (while #t (return 1))))))
(assert (= 1 (funcall (lambda () (let () (return 1))))))
(assert (= 1 (funcall (lambda () (let ((x (return 1))) (return 2))))))
+
+(defvar flag 0)
+
+(assert-error
+ (unwind-protect
+ (progn
+ (+ 1 1)
+ (error "err"))
+ (setq flag 1)))
+
+(assert (= flag 1))
+
+(assert (= 2
+ (unwind-protect
+ (progn
+ (+ 1 1))
+ (setq flag 1))))
+
+(assert (= flag 1))