summaryrefslogtreecommitdiffstats
path: root/tests/012/iter.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2024-06-26 02:07:15 -0700
committerKaz Kylheku <kaz@kylheku.com>2024-06-26 02:07:15 -0700
commit7412b622b495b22ccb39233ad1819ea0cdf3d167 (patch)
tree30db5ca8dc2e4ca9d98709b3349fbcad51d979b9 /tests/012/iter.tl
parent48c84a2269b55a87b48031c8eb0f09cb827d34f7 (diff)
downloadtxr-7412b622b495b22ccb39233ad1819ea0cdf3d167.tar.gz
txr-7412b622b495b22ccb39233ad1819ea0cdf3d167.tar.bz2
txr-7412b622b495b22ccb39233ad1819ea0cdf3d167.zip
copy-iter: test for common types.
* tests/012/iter.tl: Test copy-iter for lists, vectors, integers, characters, strings, string ranges, numeric ranges.
Diffstat (limited to 'tests/012/iter.tl')
-rw-r--r--tests/012/iter.tl18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/012/iter.tl b/tests/012/iter.tl
index 96bcabbd..67e9875e 100644
--- a/tests/012/iter.tl
+++ b/tests/012/iter.tl
@@ -99,3 +99,21 @@
"abcdefghijklmnopqrstuvwxyz"
(iter-cat) nil
(list-seq (iter-cat nil)) nil)
+
+(mtest
+ (copy-iter nil) nil
+ (copy-iter '(1 2 3)) (1 2 3)
+ (copy-iter 42) 42
+ (copy-iter #\a) #\a)
+
+(each ((obj '("abcde" #(0 1 2 3 4) "a".."z" 0..9 1.0..10.0)))
+ (let* ((i0 (iter-begin obj))
+ (i1 (copy-iter i0))
+ (i2 (iter-step (copy-iter i1)))
+ (l0 (list-seq i0))
+ (l1 (list-seq i1))
+ (l2 (list-seq i2)))
+ (mtest
+ (equal l0 l1) t
+ (equal l1 l2) nil
+ (equal (cdr l1) l2) t)))