diff options
| author | Mistivia <i@mistivia.com> | 2025-06-21 17:19:11 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-21 17:19:11 +0800 |
| commit | fec7a34cdc55f226e69d98267e42fa4b52b0193c (patch) | |
| tree | 8ac2bc5f7c6372a722a080757c2b6f0f6ed12fc1 /tests/control-flow.lisp | |
| parent | 1de8cda84460198e764a94c1f0f106ecaf001331 (diff) | |
move test files
Diffstat (limited to 'tests/control-flow.lisp')
| -rw-r--r-- | tests/control-flow.lisp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/control-flow.lisp b/tests/control-flow.lisp new file mode 100644 index 0000000..75095ec --- /dev/null +++ b/tests/control-flow.lisp @@ -0,0 +1,36 @@ +(assert-error (if (error "") 1 2)) + +(defmacro inmacro x (progn ,@x)) + +(let ((i 0)) + (while #t + (if (> i 4) + (break) + nil) + (incq i)) + (assert (= i 5))) + +(let ((i 0)) + (while #t + (if (> i 4) + (let () (break)) + nil) + (incq i)) + (assert (= i 5))) + +(let ((flag 0) + (i 0)) + (while (< i 10) + (incq i) + (continue) + (setq flag 1)) + (assert (= i 10)) + (assert (= flag 0))) + +(assert-error (funcall (lambda () (break)))) +(assert-error (funcall (lambda () (continue)))) +(assert (= 1 (funcall (lambda () (return 1))))) +(assert (= 1 (funcall (lambda () (inmacro (return 1) (return 2)))))) +(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)))))) |
