summaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorThien-Thi Nguyen <ttn@gnuvola.org>2001-08-24 22:06:05 +0000
committerThien-Thi Nguyen <ttn@gnuvola.org>2001-08-24 22:06:05 +0000
commite5c5ac9240fd6d08f364f240c803565b1f48a332 (patch)
treee86c81b2d3351c8b31bd62fab796b2c248bed5f4 /test-suite
parent4cf7528804e08fa92c05c0c5ac5ae2eeaed0c48e (diff)
downloadguile-e5c5ac9240fd6d08f364f240c803565b1f48a332.tar.gz
(string-for-each, string-for-each-index): Add tests.
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/tests/srfi-13.test26
1 files changed, 22 insertions, 4 deletions
diff --git a/test-suite/tests/srfi-13.test b/test-suite/tests/srfi-13.test
index 37ecfa5af..bb2d0e24b 100644
--- a/test-suite/tests/srfi-13.test
+++ b/test-suite/tests/srfi-13.test
@@ -2,17 +2,17 @@
;;;; Martin Grabmueller, 2001-05-07
;;;;
;;;; Copyright (C) 2001 Free Software Foundation, Inc.
-;;;;
+;;;;
;;;; This program is free software; you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
;;;; the Free Software Foundation; either version 2, or (at your option)
;;;; any later version.
-;;;;
+;;;;
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
-;;;;
+;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this software; see the file COPYING. If not, write to
;;;; the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
@@ -161,7 +161,7 @@
(string=? "bla|delim|fasel" (string-join '("bla" "fasel") "|delim|"
'infix)))
- (pass-if-exception "empty list, strict infix"
+ (pass-if-exception "empty list, strict infix"
exception:strict-infix-grammar
(string-join '() "|delim|" 'strict-infix))
@@ -1021,3 +1021,21 @@
(pass-if "upcase"
(string=? "FOO" (string-map char-upcase "foo"))))
+
+(with-test-prefix "string-for-each"
+
+ (pass-if "copy"
+ (let* ((foo "foo")
+ (bar (make-string (string-length foo)))
+ (i 0))
+ (string-for-each
+ (lambda (c) (string-set! bar i c) (set! i (1+ i))) foo)
+ (string=? foo bar)))
+
+ (pass-if "index"
+ (let* ((foo "foo")
+ (bar (make-string (string-length foo))))
+ (string-for-each-index
+ (lambda (i) (string-set! bar i (string-ref foo i))) foo)
+ (string=? foo bar))))
+