Test output for utf8 [ok]

Testing time: 1s

'/usr/home/chicken/salmonella/build/salmonella-run-publish/chicken/bin/csi' -script run.scm < /dev/null 2>&1

-- testing  ------------------------------------------------------------------
(string-length "漢字") ............................................. [ PASS]
(char->integer (string-ref "漢字" 0)) .............................. [ PASS]
(begin (string-set! str 0 (string-ref "赤" 0)) str) ................. [ PASS]
(begin (string-set! str 1 (string-ref "外" 0)) str) ................. [ PASS]
(begin (string-set! str 1 #\x) str) .................................. [ PASS]
(begin (string-set! str 1 (string-ref "々" 0)) str) ................. [ PASS]
(substring "文字列" 0) ............................................ [ PASS]
(substring "文字列" 1) ............................................ [ PASS]
(substring "文字列" 2) ............................................ [ PASS]
(substring "文字列" 0 1) .......................................... [ PASS]
(substring "文字列" 1 2) .......................................... [ PASS]
(substring "文字列" 0 2) .......................................... [ PASS]
(map char->integer (string->list "文字列")) ....................... [ PASS]
(map string (map integer->char *chars*)) ............................. [ PASS]
(list->string (map integer->char '(25991 23383 21015))) .............. [ PASS]
(make-string 3 (string-ref "列" 0)) ................................. [ PASS]
...s ................................................................. [ PASS]
(with-input-from-string "全角ハンカク" (lambda () (read-c... ... [ PASS]
(with-output-to-string (lambda () (write-char (string-ref "個"... ... [ PASS]
(with-output-to-string (lambda () (print "出" (string-ref "力... ... [ PASS]
(with-output-to-string (lambda () (print* "出" (string-ref "... ... [ PASS]
(reverse-list->string (map (cut string-ref <> 0) '("列" "字" ... ... [ PASS]
(with-input-from-string "这是中文" (cut read-string 2)) .......... [ PASS]
(with-output-to-string (cut write-string "这是中文" 2)) .......... [ PASS]
(conc (with-input-from-string "我爱你" (cut read-token (lamb... ... [ PASS]
(string-chop "第一第二第三" 2) ................................. [ PASS]
(string-chop "第一第二第三…" 2) .............................. [ PASS]
(string-split "a,bc、第,f几" ",、") .............................. [ PASS]
(string-translate "the quick brown fox jumped over the lazy sle... ... [ PASS]
(string-translate "/foo/bar/baz" "/" ":") ............................ [ PASS]
(string-translate "我爱你" "我你" "你我") ..................... [ PASS]
(string-translate "我爱你" '(#\x6211 #\x4f60) '(#\x4f60 #\x6... ... [ PASS]
(string-translate "我爱你" "爱") ................................. [ PASS]
(string-translate "我爱你" #\x7231) ............................... [ PASS]
(substring=? "日本語" "日本語") ................................ [ PASS]
(substring=? "日本語" "日本") ................................... [ PASS]
(substring=? "日本" "日本語") ................................... [ PASS]
(substring=? "日本語" "本語" 1) ................................. [ PASS]
(substring=? "日本語" "本" 1 0 1) ................................ [ PASS]
(substring=? "听说上海的东西很贵" "上海的东西很... ... [ PASS]
(substring-index "上海" "听说上海的东西很贵") ............. [ PASS]
(string-match "a.c" "abc") ........................................... [ PASS]
(string-match "a.c" "aうc") ......................................... [ PASS]
(not (string-match "a.c" "ac")) ...................................... [ PASS]
(string-match "a.*c" "aうc") ........................................ [ PASS]
(string-match "a[あい0-9えお]c" "a0c") ........................... [ PASS]
(string-match "a[あい0-9えお]c" "aいc") ......................... [ PASS]
(not (string-match "a[あい0-9えお]c" "aうc")) ................... [ PASS]
(string-search-positions "a" "b" 0) .................................. [ PASS]
(string-search-positions "a" "a" 0) .................................. [ PASS]
(string-null? "") .................................................... [ PASS]
(string-every (lambda (c) (not (char-alphabetic? c))) "日本... ... [ PASS]
(string-any (lambda (c) (eqv? c (string-ref "白" 0))) "black: ... ... [ PASS]
(string-tabulate (lambda (i) (integer->char (inexact->exact (+ ... ... [ PASS]
(string-copy "春夏秋冬") ......................................... [ PASS]
(string-copy "春夏秋冬" 2) ....................................... [ PASS]
(string-copy "春夏秋冬" 1 3) ..................................... [ PASS]
(begin (string-copy! a 0 b) a) ....................................... [ PASS]
(begin (string-copy! a 0 b 3) a) ..................................... [ PASS]
(begin (string-copy! a 0 b 0 2) a) ................................... [ PASS]
(begin (string-copy! b 0 a) b) ....................................... [ PASS]
(begin (string-copy! b 0 a 1) b) ..................................... [ PASS]
(begin (string-copy! b 0 a 2 4) b) ................................... [ PASS]
a .................................................................... [ PASS]
(string-take "春夏秋冬" 1) ....................................... [ PASS]
(string-take "春夏秋冬" 2) ....................................... [ PASS]
(string-drop "春夏秋冬" 1) ....................................... [ PASS]
(string-drop "春夏秋冬" 2) ....................................... [ PASS]
(string-take-right "春夏秋冬" 1) ................................. [ PASS]
(string-take-right "春夏秋冬" 2) ................................. [ PASS]
(string-drop-right "春夏秋冬" 1) ................................. [ PASS]
(string-drop-right "春夏秋冬" 2) ................................. [ PASS]
(string-pad "弱肉強食" 2 pad-char) ............................... [ PASS]
(string-pad "弱肉強食" 4 pad-char) ............................... [ PASS]
(string-pad "弱肉強食" 5 pad-char) ............................... [ PASS]
(string-pad "弱肉強食" 7 pad-char) ............................... [ PASS]
(string-pad "弱肉強食" 4 pad-char 1) ............................. [ PASS]
(string-pad "弱肉強食" 4 pad-char 1 3) ........................... [ PASS]
(string-pad-right "弱肉強食" 2 pad-char) ......................... [ PASS]
(string-pad-right "弱肉強食" 4 pad-char) ......................... [ PASS]
(string-pad-right "弱肉強食" 5 pad-char) ......................... [ PASS]
(string-pad-right "弱肉強食" 7 pad-char) ......................... [ PASS]
(string-pad-right "弱肉強食" 4 pad-char 1) ....................... [ PASS]
(string-pad-right "弱肉強食" 4 pad-char 1 3) ..................... [ PASS]
(string-trim "\n\t 弱肉強食 \t\n") ............................... [ PASS]
(string-trim-right "\n\t 弱肉強食 \t\n") ......................... [ PASS]
(string-trim-both "\n\t 弱肉強食 \t\n") .......................... [ PASS]
(string-trim "……弱肉強食……" trim-char) ................... [ PASS]
(string-trim-right "……弱肉強食……" trim-char) ............. [ PASS]
(string-trim-both "……弱肉強食……" trim-char) .............. [ PASS]
(string-compare s1 s2 proc< proc= proc>) ............................. [ PASS]
(string-compare s1 s2 proc< proc= proc> 1 7 1) ....................... [ PASS]
(string-compare s1 s2 proc< proc= proc> 1 3 1 3) ..................... [ PASS]
(and (string= "麻布" "麻布") #t) ................................. [ PASS]
(not (and (string= "麻布" "麻布十番") #t)) ..................... [ PASS]
(and (string= "西麻布" "麻布" 1) #t) ............................ [ PASS]
(and (string= "西麻布の辺" "麻布" 1 3) #t) .................... [ PASS]
(and (string= "西麻布の辺" "元麻布に" 1 3 1 3) #t) .......... [ PASS]
(and (string<> "西麻布の辺" "元麻布に" 1 3) #t) ............. [ PASS]
(not (and (string< "あいうえお" "あいうえお") #t)) ......... [ PASS]
(not (and (string< "あいうえお" "あいうえお" 1) #t)) ....... [ PASS]
(and (string< "あいうえお" "あいうえお" 0 3) #t) ........... [ PASS]
(and (string< "あいうえお" "あいうえお" 0 3 1) #t) ......... [ PASS]
(and (string< "あいうえお" "あいうえお" 0 3 1 4) #t) ....... [ PASS]
(and (string<= "あいうえお" "あいうえお") #t) .............. [ PASS]
(not (and (string<= "あいうえお" "あいうえお" 1) #t)) ...... [ PASS]
(not (and (string> "あいうえお" "あいうえお") #t)) ......... [ PASS]
(and (string> "あいうえお" "あいうえお" 1) #t) ............. [ PASS]
(and (string>= "あいうえお" "あいうえお") #t) .............. [ PASS]
(not (and (string>= "あいうえお" "あいうえお" 1 3 2) ... ... [ PASS]
(integer? (string-hash "abc")) ....................................... [ PASS]
(integer? (string-ci-hash "abc")) .................................... [ PASS]
(not (= (string-hash "abc") (string-hash "abd"))) .................... [ PASS]
(= (string-ci-hash "abc") (string-ci-hash "aBc") (string-ci-has... ... [ PASS]
(= (string-hash "いうえ" 65535) (string-hash "あいうえ" ... ... [ PASS]
(string-prefix? "麻布" "麻布十番") ............................. [ PASS]
(not (string-prefix? "元麻布" "麻布十番")) .................... [ PASS]
(not (string-prefix? "麻布十番" "麻布")) ....................... [ PASS]
(string-prefix? "元麻布" "麻布十番" 1) ........................ [ PASS]
(string-prefix? "元麻布" "麻" 1 2) ............................... [ PASS]
(string-suffix? "十番" "麻布十番") ............................. [ PASS]
(not (string-suffix? "九番" "麻布十番")) ....................... [ PASS]
(not (string-suffix? "麻布十番" "十番")) ....................... [ PASS]
(string-suffix? "元麻布" "東麻布" 1) ........................... [ PASS]
(string-suffix? "元麻布" "東麻布" 1 3) ......................... [ PASS]
(string-prefix-length "麻布" "麻布十番") ....................... [ PASS]
(string-prefix-length "元麻布" "麻布十番") .................... [ PASS]
(string-prefix-length "元麻布" "麻布十番" 1) .................. [ PASS]
(string-prefix-length "元麻布" "麻" 1 2) ......................... [ PASS]
(string-suffix-length "十番" "麻布十番") ....................... [ PASS]
(string-suffix-length "九番" "麻布十番") ....................... [ PASS]
(string-suffix-length "元麻布" "東麻布" 1) ..................... [ PASS]
(string-suffix-length "元麻布" "東麻布" 1 3) ................... [ PASS]
(string-index "" #\@) ................................................ [ PASS]
(string-index "foo" #\@) ............................................. [ PASS]
(string-index "foo" #\@ 0 0) ......................................... [ PASS]
(string-index-right "" #\@) .......................................... [ PASS]
(string-index-right "foo" #\@) ....................................... [ PASS]
(string-index-right "foo" #\@ 0 0) ................................... [ PASS]
(string-index "文字列の文字検索" (string-ref "字" 0)) ....... [ PASS]
(string-index-right "文字列の文字検索" (string-ref "字... ... [ PASS]
(string-skip "文字列no関数kensaku" (lambda (c) (not (char-... ... [ PASS]
(string-skip "文字列no関数kensaku" (lambda (c) (not (char-... ... [ PASS]
(string-skip-right "文字列no関数kensaku" (lambda (c) (not ... ... [ PASS]
(string-skip-right "文字列no関数kensaku" (lambda (c) (not ... ... [ PASS]
(string-count "aびcでぃeえふgえち" (lambda (c) (not (cha... ... [ PASS]
(string-contains "eek -- what a geek." "ee" 12 18) ................... [ PASS]
(string-contains-ci "eek -- what a gEek." "ee" 12 18) ................ [ PASS]
(string-contains "この釘は引き抜き難い釘だ" "釘") ....... [ PASS]
(string-contains "この釘は引き抜き難い釘だ" "釘" 4) ..... [ PASS]
(string-titlecase "英語でsundayの最初の文字をtitlecas... ... [ PASS]
(string-upcase "英語でufoはupcaseと書く") ..................... [ PASS]
(string-downcase "英語でAPPLEはDOWNCASEと書く") ............... [ PASS]
(string-upcase "ελληνικά") ................................... [ PASS]
(string-downcase "ΕΛΛΗΝΙΚΆ") ................................. [ PASS]
(string-upcase "русский язык") ............................ [ PASS]
(string-downcase "РУССКИЙ ЯЗЫК") .......................... [ PASS]
(string-upcase "teşekkür ederim") .................................. [ PASS]
(string-downcase "TEŞEKKÜR EDERIM") ................................ [ PASS]
(string-upcase "teşekkür ederım") ................................. [ PASS]
(string-downcase "TEŞEKKÜR EDERİM") ............................... [ PASS]
(string-upcase "teşekkür ederim" "tr") ............................. [ PASS]
(string-downcase "TEŞEKKÜR EDERIM" "tr") ........................... [ PASS]
(string-downcase "TEŞEKKÜR EDERİM" "tr") .......................... [ PASS]
(string-map char-upcase "文x字x列") ............................... [ PASS]
(string-map! char-upcase (string-copy "文x字x列")) ................ [ PASS]
(string-map (lambda (c) (if (char-alphabetic? c) (string-ref "... ... [ PASS]
(map string (string-fold cons '() "東京特許許可局今日... ... [ PASS]
(map string (string-fold-right cons '() "東京特許許可局... ... [ PASS]
(string-unfold (cut = <> 5) (lambda (i) (integer->char (+ i 123... ... [ PASS]
(string-unfold-right (cut = <> 5) (lambda (i) (integer->char (+... ... [ PASS]
(string-reverse "一a二b三c") ...................................... [ PASS]
(let ((s (string-copy "一a二b三c"))) (string-reverse! s) s) ....... [ PASS]
...(map string ls) ................................................... [ PASS]
...sum ............................................................... [ PASS]
(xsubstring "abcdef" 2) .................................. [ PASS]
(xsubstring "abcdef" -2) ................................. [ PASS]
(xsubstring "abc" 0 7) ......................................... [ PASS]
...s1 ................................................................ [ PASS]
(string-replace "英語" "日本" 0 1) ............................... [ PASS]
(string-replace "英語" "日本語" 0 1 0 2) ........................ [ PASS]
(string-tokenize "文字列を引き裂く" (string->char-set "... ... [ PASS]
(string-filter (lambda (c) (not (char-set-contains? (string->ch... ... [ PASS]
(string-delete (string->char-set "きくを") "文字列を引... ... [ PASS]
(string-join '("foo" "bar" "baz") ":") ............................... [ PASS]
(string-join '("foo" "bar" "baz") ":" 'infix) ........................ [ PASS]
(string-join '("foo" "bar" "baz") ":" 'strict-infix) ................. [ PASS]
(string-join '("foo" "bar" "baz") ":" 'prefix) ....................... [ PASS]
(string-join '("foo" "bar" "baz") ":" 'suffix) ....................... [ PASS]
(string-join '() ":") ................................................ [ PASS]
(string-join '("") ":") .............................................. [ PASS]
(string-join '() ":" 'prefix) ........................................ [ PASS]
(string-join '("") ":" 'prefix) ...................................... [ PASS]
(string-join '() ":" 'suffix) ........................................ [ PASS]
(string-join '("") ":" 'suffix) ...................................... [ PASS]
(char-set? (->char-set "あいうえお")) ........................... [ PASS]
(char-set-empty? (char-set)) ......................................... [ PASS]
(char-set-size (char-set)) ........................................... [ PASS]
(char-set-size (->char-set "あいうえお")) ....................... [ PASS]
(char-set-count (lambda (c) (not (eqv? c (string-ref "う" 0)))... ... [ PASS]
...(char-set= cs (char-set-copy cs)) ................................. [ PASS]
(char-set= (->char-set "あいうえお") (->char-set "おえ... ... [ PASS]
(char-set<= (->char-set "あいうえお") (->char-set "おえ... ... [ PASS]
(char-set<= (->char-set "あおい") (->char-set "おえうい... ... [ PASS]
(not (char-set<= (->char-set "おえういあ") (->char-set "... ... [ PASS]
(char-set>= (->char-set "おえういあ") (->char-set "あい... ... [ PASS]
(char-set>= (->char-set "おえういあ") (->char-set "あお... ... [ PASS]
(not (char-set>= (->char-set "あおい") (->char-set "おえ... ... [ PASS]
...(char-set-every (cut char-set-contains? cs <>) cs) ................ [ PASS]
(not (let ((cs1 (->char-set "あおい")) (cs2 (->char-set "あ... ... [ PASS]
...(char-set-any (cut char-set-contains? cs1 <>) cs2) ................ [ PASS]
(not (char-set-any char-alphabetic? (->char-set "あいうえ... ... [ PASS]
(char-set-contains? (->char-set "あa字") (string-ref "あ" 0)) ..... [ PASS]
(char-set-contains? (->char-set "あa字") (string-ref "a" 0)) ....... [ PASS]
(char-set-contains? (->char-set "あa字") (string-ref "字" 0)) ..... [ PASS]
(not (char-set-contains? (->char-set "あa字") (string-ref "... ... [ PASS]
(char-set= (->char-set "a") (char-set-filter char-alphabetic? (... ... [ PASS]
(char-set= (->char-set "あa字") (char-set-adjoin (->char-set ... ... [ PASS]
(char-set= (->char-set "あ字") (char-set-delete (->char-set "... ... [ PASS]
(map string (sort (char-set-fold cons '() (->char-set "あい... ... [ PASS]
(char-set= (->char-set "一二三") (char-set-unfold (lambda (i... ... [ PASS]
(char-set= (->char-set "ABCあ") (char-set-map char-upcase (->c... ... [ PASS]
...sum ............................................................... [ PASS]
(char-set= (->char-set "あいうえお") (char-set-union (->ch... ... [ PASS]
(char-set= (->char-set "あおい") (char-set-intersection (->c... ... [ PASS]
(char-set= (->char-set "あお") (char-set-difference (->char-s... ... [ PASS]
(char-set= (->char-set "あおえかき") (char-set-xor (->char... ... [ PASS]
(char-set= (->char-set "あぃいぅうぇ") (ucs-range->char-s... ... [ PASS]
(not (char-set-contains? cs #\a)) .................................... [ PASS]
(char-set-contains? cs (string-ref "あ" 0)) ......................... [ PASS]
(char-set-contains? cs #\a) .......................................... [ PASS]
(not (char-set-contains? cs (string-ref "あ" 0))) ................... [ PASS]
(char-set-contains? char-set:lower-case #\a) ......................... [ PASS]
(not (char-set-contains? char-set:lower-case #\A)) ................... [ PASS]
(not (char-set-contains? char-set:lower-case (string-ref "あ" ... ... [ PASS]
(not (char-set-contains? char-set:upper-case #\a)) ................... [ PASS]
(char-set-contains? char-set:upper-case #\A) ......................... [ PASS]
(not (char-set-contains? char-set:upper-case (string-ref "あ" ... ... [ PASS]
(not (char-set-contains? char-set:title-case #\a)) ................... [ PASS]
(not (char-set-contains? char-set:title-case #\A)) ................... [ PASS]
(char-set-contains? char-set:letter #\a) ............................. [ PASS]
(not (char-set-contains? char-set:letter #\0)) ....................... [ PASS]
(not (char-set-contains? char-set:letter (string-ref "あ" 0))) ...... [ PASS]
(char-set-contains? char-set:digit #\0) .............................. [ PASS]
(not (char-set-contains? char-set:digit #\a)) ........................ [ PASS]
(not (char-set-contains? char-set:digit (string-ref "あ" 0))) ....... [ PASS]
(char-set-contains? char-set:hex-digit #\f) .......................... [ PASS]
(not (char-set-contains? char-set:hex-digit #\g)) .................... [ PASS]
(not (char-set-contains? char-set:hex-digit (string-ref "あ" 0))) ... [ PASS]
(char-set-contains? char-set:letter+digit #\z) ....................... [ PASS]
(not (char-set-contains? char-set:letter+digit #\.)) ................. [ PASS]
(not (char-set-contains? char-set:letter+digit (string-ref "あ... ... [ PASS]
(char-set-contains? char-set:punctuation #\.) ........................ [ PASS]
(not (char-set-contains? char-set:punctuation #\a)) .................. [ PASS]
(not (char-set-contains? char-set:punctuation (string-ref "あ"... ... [ PASS]
(char-set-contains? char-set:symbol #\+) ............................. [ PASS]
(not (char-set-contains? char-set:symbol #\.)) ....................... [ PASS]
(not (char-set-contains? char-set:symbol (string-ref "あ" 0))) ...... [ PASS]
(char-set-contains? char-set:whitespace #\newline) ................... [ PASS]
(not (char-set-contains? char-set:whitespace #\_)) ................... [ PASS]
(not (char-set-contains? char-set:whitespace (string-ref " " ... ... [ PASS]
(char-set-contains? char-set:blank #\space) .......................... [ PASS]
(not (char-set-contains? char-set:blank #\newline)) .................. [ PASS]
(not (char-set-contains? char-set:blank (string-ref " " 0))) ....... [ PASS]
(char-set-contains? char-set:graphic #\a) ............................ [ PASS]
(not (char-set-contains? char-set:graphic #\space)) .................. [ PASS]
(not (char-set-contains? char-set:graphic (string-ref "あ" 0))) ..... [ PASS]
(char-set-contains? char-set:printing #\space) ....................... [ PASS]
(not (char-set-contains? char-set:printing (integer->char 0))) ....... [ PASS]
(not (char-set-contains? char-set:printing (string-ref "あ" 0))) .... [ PASS]
(char-set-contains? char-set:iso-control (integer->char 0)) .......... [ PASS]
(not (char-set-contains? char-set:iso-control #\a)) .................. [ PASS]
(not (char-set-contains? char-set:iso-control (string-ref "あ"... ... [ PASS]
(char-set-contains? char-set:ascii #\a) .............................. [ PASS]
(not (char-set-contains? char-set:ascii (string-ref "あ" 0))) ....... [ PASS]
(not (char-set-contains? char-set:empty #\a)) ........................ [ PASS]
(not (char-set-contains? char-set:empty (string-ref "あ" 0))) ....... [ PASS]
(char-set-contains? char-set:full #\a) ............................... [ PASS]
(char-set-contains? char-set:full (string-ref "あ" 0)) .............. [ PASS]
stray continuation byte .............................................. [ PASS]
overlong ............................................................. [ PASS]
incomplete ........................................................... [ PASS]
surrogate ............................................................ [ PASS]
out of range ......................................................... [ PASS]
(valid-string? "Є") ................................................. [ PASS]
(valid-string? "☭") ................................................ [ PASS]
(valid-string? "😈") ............................................... [ PASS]
(valid-string? "xЄ☭😈x") ........................................ [ PASS]
288 tests completed in 0.2 seconds.
288 out of 288 (100%) tests passed.
-- done testing  -------------------------------------------------------------