diff --git a/test-suite/tests/strings.test b/test-suite/tests/strings.test index b57379903..aa9196e68 100644 --- a/test-suite/tests/strings.test +++ b/test-suite/tests/strings.test @@ -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)))) +;; +;; stringchar 0) (integer->char 255)) + (stringchar 0) (integer->char 255)) + (string-cichar 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!"