summaryrefslogtreecommitdiff
path: root/test-suite/tests/srfi-4.test
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-07-25 18:26:37 +0200
committerAndy Wingo <wingo@pobox.com>2011-07-25 18:26:37 +0200
commitab4bc85398a14b62b58694bab83c63be286b2fd5 (patch)
tree84bfe7b0b6064016bcfadb76ec95d07410654fe8 /test-suite/tests/srfi-4.test
parentf29c300507da21a667f5b82e75300f8009eab9cc (diff)
parentf4b7d918eff9770f09893b023fd834f5c0bc33d1 (diff)
downloadguile-ab4bc85398a14b62b58694bab83c63be286b2fd5.tar.gz
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts: GUILE-VERSION test-suite/tests/srfi-4.test
Diffstat (limited to 'test-suite/tests/srfi-4.test')
-rw-r--r--test-suite/tests/srfi-4.test42
1 files changed, 40 insertions, 2 deletions
diff --git a/test-suite/tests/srfi-4.test b/test-suite/tests/srfi-4.test
index 3a0710222..2e7f0d5f5 100644
--- a/test-suite/tests/srfi-4.test
+++ b/test-suite/tests/srfi-4.test
@@ -436,7 +436,26 @@
(make-c32vector 4 7)))
(pass-if "+inf.0, -inf.0, +nan.0 in c32vector"
- (c32vector? #c32(+inf.0 -inf.0 +nan.0))))
+ (c32vector? #c32(+inf.0 -inf.0 +nan.0)))
+
+ (pass-if "generalized-vector-ref"
+ (let ((v (c32vector 1+1i)))
+ (= (c32vector-ref v 0)
+ (generalized-vector-ref v 0))))
+
+ (pass-if "generalized-vector-set!"
+ (let ((x 1+1i)
+ (v (c32vector 0)))
+ (generalized-vector-set! v 0 x)
+ (= x (generalized-vector-ref v 0))))
+
+ (pass-if-exception "generalized-vector-ref, out-of-range"
+ exception:out-of-range
+ (generalized-vector-ref (c32vector 1.0) 1))
+
+ (pass-if-exception "generalized-vector-set!, out-of-range"
+ exception:out-of-range
+ (generalized-vector-set! (c32vector 1.0) 1 2.0)))
(with-test-prefix "c64 vectors"
@@ -476,4 +495,23 @@
(make-c64vector 4 7)))
(pass-if "+inf.0, -inf.0, +nan.0 in c64vector"
- (c64vector? #c64(+inf.0 -inf.0 +nan.0))))
+ (c64vector? #c64(+inf.0 -inf.0 +nan.0)))
+
+ (pass-if "generalized-vector-ref"
+ (let ((v (c64vector 1+1i)))
+ (= (c64vector-ref v 0)
+ (generalized-vector-ref v 0))))
+
+ (pass-if "generalized-vector-set!"
+ (let ((x 1+1i)
+ (v (c64vector 0)))
+ (generalized-vector-set! v 0 x)
+ (= x (generalized-vector-ref v 0))))
+
+ (pass-if-exception "generalized-vector-ref, out-of-range"
+ exception:out-of-range
+ (generalized-vector-ref (c64vector 1.0) 1))
+
+ (pass-if-exception "generalized-vector-set!, out-of-range"
+ exception:out-of-range
+ (generalized-vector-set! (c64vector 1.0) 1 2.0)))