mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-28 22:10:29 +02:00
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts: libguile/deprecated.c libguile/ports.c libguile/ports.h libguile/strports.c test-suite/tests/cse.test
This commit is contained in:
commit
0dd7c54075
26 changed files with 343 additions and 158 deletions
|
@ -25,6 +25,7 @@
|
|||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (test-suite lib))
|
||||
|
||||
|
||||
|
@ -160,6 +161,29 @@
|
|||
|
||||
(with-test-prefix "pointer<->string"
|
||||
|
||||
(pass-if-exception "%default-port-conversion-strategy is error"
|
||||
exception:encoding-error
|
||||
(let ((s "χαοσ"))
|
||||
(with-fluids ((%default-port-conversion-strategy 'error))
|
||||
(string->pointer s "ISO-8859-1"))))
|
||||
|
||||
(pass-if "%default-port-conversion-strategy is escape"
|
||||
(let ((s "teĥniko"))
|
||||
(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"))
|
||||
(string=? s (pointer->string (string->pointer s)))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue