diff options
author | Michael Gran <spk121@yahoo.com> | 2009-08-30 16:51:30 -0700 |
---|---|---|
committer | Michael Gran <spk121@yahoo.com> | 2009-08-30 16:55:48 -0700 |
commit | bda0d85f0c550eeb4182de0fb6051fc51d0b25ce (patch) | |
tree | a4558a2b426547e6d39b7488739f996cb88d9c84 | |
parent | 5f5920e012d953def86a1c04a8e8d1a14b85f1a5 (diff) | |
download | guile-bda0d85f0c550eeb4182de0fb6051fc51d0b25ce.tar.gz |
Tests for display and writing of characters
* test-suite/tests/encoding-iso88591.test: tests for writing and display
of characters
* test-suite/tests/encoding-iso88597.test: tests for writing and display
of characters
* test-suite/tests/encoding-utf8.test: tests for writing and display
of characters
-rw-r--r-- | test-suite/tests/encoding-iso88591.test | 61 | ||||
-rw-r--r-- | test-suite/tests/encoding-iso88597.test | 59 | ||||
-rw-r--r-- | test-suite/tests/encoding-utf8.test | 82 |
3 files changed, 202 insertions, 0 deletions
diff --git a/test-suite/tests/encoding-iso88591.test b/test-suite/tests/encoding-iso88591.test index d4de5e534..8e85436f9 100644 --- a/test-suite/tests/encoding-iso88591.test +++ b/test-suite/tests/encoding-iso88591.test @@ -33,6 +33,67 @@ (if (defined? 'setlocale) (set! oldlocale (setlocale LC_ALL ""))) +(define ascii-a (integer->char 65)) ; LATIN CAPITAL LETTER A +(define a-acute (integer->char #x00c1)) ; LATIN CAPITAL LETTER A WITH ACUTE +(define alpha (integer->char #x03b1)) ; GREEK SMALL LETTER ALPHA +(define cherokee-a (integer->char #x13a0)) ; CHEROKEE LETTER A + +(with-test-prefix "characters" + (pass-if "input A" + (char=? ascii-a #\A)) + + (pass-if "input A acute" + (char=? a-acute #\)) + + (pass-if "display A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (display ascii-a pt) + (string=? "A" + (get-output-string pt)))) + + (pass-if "display A acute" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (display a-acute pt) + (string=? "" + (get-output-string pt)))) + + (pass-if "display alpha" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (display alpha pt) + (string-ci=? "\\u03b1" + (get-output-string pt)))) + + (pass-if "display Cherokee a" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (display cherokee-a pt) + (string-ci=? "\\u13a0" + (get-output-string pt)))) + + (pass-if "write A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (write ascii-a pt) + (string=? "#\\A" + (get-output-string pt)))) + + (pass-if "write A acute" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-1") + (set-port-conversion-strategy! pt 'escape) + (write a-acute pt) + (string=? "#\\" + (get-output-string pt))))) + + (define s1 "ltima") (define s2 "cdula") (define s3 "aos") diff --git a/test-suite/tests/encoding-iso88597.test b/test-suite/tests/encoding-iso88597.test index 22212690c..9f278f11c 100644 --- a/test-suite/tests/encoding-iso88597.test +++ b/test-suite/tests/encoding-iso88597.test @@ -31,6 +31,65 @@ (define oldlocale #f) (if (defined? 'setlocale) (set! oldlocale (setlocale LC_ALL ""))) +(define ascii-a (integer->char 65)) ; LATIN CAPITAL LETTER A +(define a-acute (integer->char #x00c1)) ; LATIN CAPITAL LETTER A WITH ACUTE +(define alpha (integer->char #x03b1)) ; GREEK SMALL LETTER ALPHA +(define cherokee-a (integer->char #x13a0)) ; CHEROKEE LETTER A + +(with-test-prefix "characters" + (pass-if "input A" + (char=? ascii-a #\A)) + + (pass-if "input alpha" + (char=? alpha #\)) + + (pass-if "display A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (display ascii-a pt) + (string=? "A" + (get-output-string pt)))) + + (pass-if "display A acute" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (display a-acute pt) + (string-ci=? "\\xc1" + (get-output-string pt)))) + + (pass-if "display alpha" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (display alpha pt) + (string-ci=? "" + (get-output-string pt)))) + + (pass-if "display Cherokee A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (display cherokee-a pt) + (string-ci=? "\\u13a0" + (get-output-string pt)))) + + (pass-if "write A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (write ascii-a pt) + (string=? "#\\A" + (get-output-string pt)))) + + (pass-if "write alpha" + (let ((pt (open-output-string))) + (set-port-encoding! pt "ISO-8859-7") + (set-port-conversion-strategy! pt 'escape) + (write alpha pt) + (string=? "#\\" + (get-output-string pt))))) (define s1 "") (define s2 "") diff --git a/test-suite/tests/encoding-utf8.test b/test-suite/tests/encoding-utf8.test index a2613f1d7..d2bdb6901 100644 --- a/test-suite/tests/encoding-utf8.test +++ b/test-suite/tests/encoding-utf8.test @@ -32,6 +32,88 @@ (if (defined? 'setlocale) (set! oldlocale (setlocale LC_ALL ""))) +(define ascii-a (integer->char 65)) ; LATIN CAPITAL LETTER A +(define a-acute (integer->char #x00c1)) ; LATIN CAPITAL LETTER A WITH ACUTE +(define alpha (integer->char #x03b1)) ; GREEK SMALL LETTER ALPHA +(define cherokee-a (integer->char #x13a0)) ; CHEROKEE LETTER A + +(with-test-prefix "characters" + (pass-if "input A" + (char=? ascii-a #\A)) + + (pass-if "input A acute" + (char=? a-acute #\Á)) + + (pass-if "input alpha" + (char=? alpha #\α)) + + (pass-if "input Cherokee A" + (char=? cherokee-a #\Ꭰ)) + + (pass-if "display A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'substitute) + (display ascii-a pt) + (string=? "A" + (get-output-string pt)))) + + (pass-if "display A acute" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'substitute) + (display a-acute pt) + (string=? "Á" + (get-output-string pt)))) + + (pass-if "display alpha" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'substitute) + (display alpha pt) + (string-ci=? "α" + (get-output-string pt)))) + + (pass-if "display Cherokee A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'substitute) + (display cherokee-a pt) + (string-ci=? "Ꭰ" + (get-output-string pt)))) + + (pass-if "write A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'escape) + (write ascii-a pt) + (string=? "#\\A" + (get-output-string pt)))) + + (pass-if "write A acute" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'escape) + (write a-acute pt) + (string=? "#\\Á" + (get-output-string pt)))) + + (pass-if "write alpha" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'escape) + (write alpha pt) + (string=? "#\\α" + (get-output-string pt)))) + + (pass-if "write Cherokee A" + (let ((pt (open-output-string))) + (set-port-encoding! pt "UTF-8") + (set-port-conversion-strategy! pt 'escape) + (write cherokee-a pt) + (string=? "#\\Ꭰ" + (get-output-string pt))))) + (define s1 "última") (define s2 "cédula") (define s3 "años") |