*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Wed, 11 Feb 2004 18:32:02 +0100
changeset 231 c79339643624
parent 230 4cfe3e0aa415
child 232 7bb8b3e1de1d
*** empty log message ***
RegressionTests__CharacterEncoderTests.st
--- a/RegressionTests__CharacterEncoderTests.st	Wed Feb 11 17:32:45 2004 +0100
+++ b/RegressionTests__CharacterEncoderTests.st	Wed Feb 11 18:32:02 2004 +0100
@@ -39,24 +39,87 @@
     "
 !
 
-xTestReversability:encoderClass skip:skippedCodes
+xTestReversability:encoderClass ignoreInvalid:ignoreInvalid
+    self xTestReversability:encoderClass skip:#() ignoreInvalid:ignoreInvalid
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
+    "
+!
+
+xTestReversability:encoderClass range:range skip:skippedCodes
+    self
+        xTestReversability:encoderClass 
+        range:range 
+        skip:skippedCodes 
+        ignoreInvalid:false
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
+    "
+!
+
+xTestReversability:encoderClass range:range skip:skippedCodes ignoreInvalid:ignoreInvalid
     |encoder|
 
     encoder := encoderClass new.
-    encoderClass minCode to:encoderClass maxCode do:[:code |
-        |unicode code2|
+    range do:[:code |
+        |unicode code2 invalid|
 
         (skippedCodes includes:code) ifTrue:[
             self should:[ encoder decode:code ] raise:CharacterEncoderError.
         ] ifFalse:[
-            unicode := encoder decode:code.
-            code2 := encoder encode:unicode.
-            self assert:(code == code2).
+            ignoreInvalid ifTrue:[
+                invalid := false.
+                CharacterEncoderError handle:[:ex |
+                    invalid := true.
+                ] do:[
+                    unicode := encoder decode:code.
+                ].
+                invalid ifFalse:[
+                    code2 := encoder encode:unicode.
+                    self assert:(code == code2).
+                ].
+            ] ifFalse:[
+                unicode := encoder decode:code.
+                code2 := encoder encode:unicode.
+                self assert:(code == code2).
+            ]
         ]
     ].
 
     "
      self new xTestReversability: (CharacterEncoder::ISO8859_1)
+
+     self new 
+        xTestReversability:(CharacterEncoder::JIS0208)
+        range:(16r8140 to:16rEAA4)
+        skip:#()
+        ignoreInvalid:true
+    "
+!
+
+xTestReversability:encoderClass skip:skippedCodes
+    self 
+        xTestReversability:encoderClass 
+        range:(encoderClass minCode to:encoderClass maxCode) 
+        skip:skippedCodes
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
+     self new xTestReversability: (CharacterEncoder::JIS0208)
+    "
+!
+
+xTestReversability:encoderClass skip:skippedCodes ignoreInvalid:ignoreInvalid
+    self 
+        xTestReversability:encoderClass 
+        range:(encoderClass minCode to:encoderClass maxCode) 
+        skip:skippedCodes
+        ignoreInvalid:ignoreInvalid
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
      self new xTestReversability: (CharacterEncoder::JIS0208)
     "
 ! !
@@ -112,6 +175,8 @@
 
      self xTestReversability: (CharacterEncoder::GSM0338) skip:( 16r80 to: 16rFF).
 
+     self xTestReversability: (CharacterEncoder::JIS0208) ignoreInvalid:true.
+
     "
      self new test1
     "