RegressionTests__CharacterEncoderTests.st
changeset 232 7bb8b3e1de1d
parent 231 c79339643624
child 233 1c64c9993f5f
--- a/RegressionTests__CharacterEncoderTests.st	Wed Feb 11 18:32:02 2004 +0100
+++ b/RegressionTests__CharacterEncoderTests.st	Fri Feb 13 11:48:17 2004 +0100
@@ -180,6 +180,36 @@
     "
      self new test1
     "
+!
+
+testUTF8
+    |encoder|
+
+    encoder := CharacterEncoder encoderToEncodeFrom:#unicode into:#utf8.
+
+    (0 to:16r7F) do:[:eachCodePoint |
+        |s1 s2 s3|
+
+        s1 := (Character value:eachCodePoint) asString.
+        s2 := encoder encodeString:s1.
+        s3 := encoder decodeString:s2.
+        self assert:(s1 = s2).
+        self assert:(s2 = s3).
+    ].
+
+    "/ reversibility
+    (0 to:16rFFFF) do:[:eachCodePoint |
+        |s1 s2 s3|
+
+        s1 := (Character value:eachCodePoint) asString.
+        s2 := encoder encodeString:s1.
+        s3 := encoder decodeString:s2.
+        self assert:(s1 = s3).
+    ].
+
+    "
+     self new testUTF8
+    "
 ! !
 
 !CharacterEncoderTests class methodsFor:'documentation'!