1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 03:30:24 +02:00

(string<?, string-ci<?, string<=?, string-ci<=?,

string>?, string-ci>?, string>=?, string-ci>=?): Check ordering is the
same as char<? etc.  Use a define-module to keep private test bits
private.
This commit is contained in:
Kevin Ryde 2006-02-25 20:42:13 +00:00
parent 170a4f8c2a
commit 4c2dc0f0b5

View file

@ -18,11 +18,22 @@
;;;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;;;; Boston, MA 02110-1301 USA
(use-modules (test-suite lib))
(define-module (test-strings)
#:use-module (test-suite lib))
(define exception:read-only-string
(cons 'misc-error "^string is read-only"))
;; Create a string from integer char values, eg. (string-ints 65) => "A"
(define (string-ints . args)
(apply string (map integer->char args)))
;;
;; string=?
;;
(with-test-prefix "string=?"
(pass-if "respects 1st parameter's string length"
@ -41,6 +52,10 @@
exception:wrong-type-arg
(string=? "a" 'b))))
;;
;; string<?
;;
(with-test-prefix "string<?"
(pass-if "respects string length"
@ -55,7 +70,15 @@
(pass-if-exception "2nd argument symbol"
exception:wrong-type-arg
(string<? "a" 'b))))
(string<? "a" 'b)))
(pass-if "same as char<?"
(eq? (char<? (integer->char 0) (integer->char 255))
(string<? (string-ints 0) (string-ints 255)))))
;;
;; string-ci<?
;;
(with-test-prefix "string-ci<?"
@ -71,7 +94,75 @@
(pass-if-exception "2nd argument symbol"
exception:wrong-type-arg
(string-ci<? "a" 'b))))
(string-ci<? "a" 'b)))
(pass-if "same as char-ci<?"
(eq? (char-ci<? (integer->char 0) (integer->char 255))
(string-ci<? (string-ints 0) (string-ints 255)))))
;;
;; string<=?
;;
(with-test-prefix "string<=?"
(pass-if "same as char<=?"
(eq? (char<=? (integer->char 0) (integer->char 255))
(string<=? (string-ints 0) (string-ints 255)))))
;;
;; string-ci<=?
;;
(with-test-prefix "string-ci<=?"
(pass-if "same as char-ci<=?"
(eq? (char-ci<=? (integer->char 0) (integer->char 255))
(string-ci<=? (string-ints 0) (string-ints 255)))))
;;
;; string>?
;;
(with-test-prefix "string>?"
(pass-if "same as char>?"
(eq? (char>? (integer->char 0) (integer->char 255))
(string>? (string-ints 0) (string-ints 255)))))
;;
;; string-ci>?
;;
(with-test-prefix "string-ci>?"
(pass-if "same as char-ci>?"
(eq? (char-ci>? (integer->char 0) (integer->char 255))
(string-ci>? (string-ints 0) (string-ints 255)))))
;;
;; string>=?
;;
(with-test-prefix "string>=?"
(pass-if "same as char>=?"
(eq? (char>=? (integer->char 0) (integer->char 255))
(string>=? (string-ints 0) (string-ints 255)))))
;;
;; string-ci>=?
;;
(with-test-prefix "string-ci>=?"
(pass-if "same as char-ci>=?"
(eq? (char-ci>=? (integer->char 0) (integer->char 255))
(string-ci>=? (string-ints 0) (string-ints 255)))))
;;
;; string-set!
;;
(with-test-prefix "string-set!"