aboutsummaryrefslogtreecommitdiff
path: root/tests/test/let.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-03-07 15:31:00 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-03-07 20:29:14 +0100
commitf7716ac1a87649cad96242f2d5bf0a987d7f430c (patch)
treeb4b84951ef468fd644c42e9e0fee535d879f0387 /tests/test/let.scm
parentCleanup in (hnh util path). (diff)
downloadcalp-f7716ac1a87649cad96242f2d5bf0a987d7f430c.tar.gz
calp-f7716ac1a87649cad96242f2d5bf0a987d7f430c.tar.xz
Add new tests.
Diffstat (limited to 'tests/test/let.scm')
-rw-r--r--tests/test/let.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test/let.scm b/tests/test/let.scm
new file mode 100644
index 00000000..5312409e
--- /dev/null
+++ b/tests/test/let.scm
@@ -0,0 +1,45 @@
+;;; Commentary:
+;; Tests my custom let*.
+;;; Code:
+
+(define-module (test let)
+ :use-module (srfi srfi-64)
+ :use-module (srfi srfi-88)
+ :use-module ((hnh util) :select (let*)))
+
+(test-assert (let* ((a #t)) a))
+
+(test-assert (let* (((a . b) (cons #t #f))) a))
+
+(test-assert (let* (((a . b) (cons* #f #t))) b))
+
+(test-assert
+ (let* ((a b c (values #f #t #f))) b))
+
+(test-assert
+ (let* (((a b c) (list #f #t #f))) b))
+
+(test-assert (let* (((a) '(#t))) a))
+
+(test-equal '(2) (let* (((a . b) '(1 2))) b))
+
+(test-equal
+ '(3 4)
+ (let* (((a b . c) '(1 2 3 4))) c))
+
+(test-equal 10 (let* (x) (set! x 10) x))
+
+(test-equal
+ 30
+ (let* (x y) (set! x 10) (set! y 20) (+ x y)))
+
+(test-assert (let* (x) (not x)))
+
+(test-equal
+ 6
+ (let* ((x 1) y z)
+ (set! y 2)
+ (set! z 3)
+ (+ x y z)))
+
+