diff --git a/test-suite/tests/foreign.test b/test-suite/tests/foreign.test index 14fad09e4..60d8630fc 100644 --- a/test-suite/tests/foreign.test +++ b/test-suite/tests/foreign.test @@ -167,15 +167,22 @@ (with-fluids ((%default-port-conversion-strategy 'error)) (string->pointer s "ISO-8859-1")))) - (pass-if "%default-port-conversion-strategy is soft" + (pass-if "%default-port-conversion-strategy is escape" (let ((s "teĥniko")) - (equal? (map (lambda (strategy) - (with-fluids ((%default-port-conversion-strategy strategy)) - (pointer->string (string->pointer s "ISO-8859-1")))) - '(substitute escape)) - (list "te?niko" - (format #f "te\\u~4,'0xniko" - (char->integer #\ĥ)))))) + (equal? (with-fluids ((%default-port-conversion-strategy 'escape)) + (pointer->string (string->pointer s "ISO-8859-1"))) + (format #f "te\\u~4,'0xniko" + (char->integer #\ĥ))))) + + (pass-if "%default-port-conversion-strategy is substitute" + (let ((s "teĥniko") + (member (negate (negate member)))) + (member (with-fluids ((%default-port-conversion-strategy 'substitute)) + (pointer->string (string->pointer s "ISO-8859-1"))) + '("te?niko" + + ;; This form is found on FreeBSD 8.2 and Darwin 10.8.0. + "te^hniko")))) (pass-if "bijection" (let ((s "hello, world"))