diff options
Diffstat (limited to 'csc/strings-test.csc')
| -rw-r--r-- | csc/strings-test.csc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/csc/strings-test.csc b/csc/strings-test.csc new file mode 100644 index 0000000..2e6d240 --- /dev/null +++ b/csc/strings-test.csc @@ -0,0 +1,60 @@ +(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 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"))) |
