--- 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
"