(import (scheme base) (only (csc testing) assert assert-equal test) (csc strings)) (test prefix?-good (assert-equal #t (prefix? "asdf" "asdfjkl;"))) (test prefix?-bad (assert-equal #f (prefix? "asdf" "asdbjkl;"))) (test prefix?-too-long (assert-equal #f (prefix? "asdf" "as"))) (test str-quote-simple (assert-equal "\"hello\"" (str-quote "hello"))) (test str-quote-escape (assert-equal "\"this string \\\" has a quote\"" (str-quote "this string \" has a quote"))) (test find-ok (assert-equal 8 (find "abc" "dabsadfdabcdfdfd"))) (test find-one-letter (assert-equal 8 (find "a" "sdfdfdfsasdfe"))) (test find-notfound (let* ((match "a") (str "def") (got-exception '())) (guard (e ((not-found-error? e) (set! got-exception e))) (find match str)) (assert (not-found-error? got-exception)))) (test contains (assert-equal #t (contains "abc" "b"))) (test doesnt-contain (assert-equal #f (contains "abc" "d"))) (test contains-empty (assert-equal #t (contains "" ""))) (test empty-contains (assert-equal #f (contains "" "a"))) (test join-, (assert-equal "a,b,c" (join "," "a" "b" "c"))) (test join-none (assert-equal "" (join ","))) (test join-singleton (assert-equal "x" (join "," "x"))) (test join-empty (assert-equal "abc" (join "" "a" "b" "c"))) (test split-empty (assert-equal '("") (split "" " "))) (test split (assert-equal '("a" "b") (split "a b" " "))) (test split-trailing-empty (assert-equal '("a" "") (split "a " " ")))