"{ Package: 'exept:regression' }"
TestCase subclass:#CharacterEncoderTests
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
category:'Collections-Text-Encodings'
!
!CharacterEncoderTests class methodsFor:'documentation'!
documentation
"
documentation to be added.
[author:]
Claus Gittinger (cg@alan)
[instance variables:]
[class variables:]
[see also:]
"
!
history
"Created: / 11.2.2004 / 12:25:54 / cg"
! !
!CharacterEncoderTests methodsFor:'helpers'!
xTestReversability:encoderClass
self xTestReversability:encoderClass skip:#()
"
self new xTestReversability: (CharacterEncoder::ISO8859_1)
"
!
xTestReversability:encoderClass skip:skippedCodes
|encoder|
encoder := encoderClass new.
0 to:255 do:[:code |
|unicode code2|
(skippedCodes includes:code) ifTrue:[
self should:[ encoder decode:code ] raise:CharacterEncoderError.
] ifFalse:[
unicode := encoder decode:code.
code2 := encoder encode:unicode.
self assert:(code == code2).
]
].
"
self new xTestReversability: (CharacterEncoder::ISO8859_1)
"
! !
!CharacterEncoderTests methodsFor:'initialize / release'!
setUp
"common setup - invoked before testing."
super setUp
!
tearDown
"common cleanup - invoked after testing."
super tearDown
! !
!CharacterEncoderTests methodsFor:'tests'!
test1
self xTestReversability: (CharacterEncoder::ISO8859_1).
self xTestReversability: (CharacterEncoder::ISO8859_2).
self xTestReversability: (CharacterEncoder::ISO8859_3) skip:#( 16rA5 16rAE 16rBE 16rC3 16rD0 16rE3 16rF0 ).
self xTestReversability: (CharacterEncoder::ISO8859_4).
self xTestReversability: (CharacterEncoder::ISO8859_5).
self xTestReversability: (CharacterEncoder::ISO8859_6) skip:#( 16rA1 16rA2 16rA3 16rA5 16rA6 16rA7
16rA8 16rA9 16rAA 16rAB 16rAE 16rAF
16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7
16rB8 16rB9 16rBA 16rBC 16rBD 16rBE
16rC0
16rDB 16rDC 16rDD 16rDE 16rDF
16rF3 16rF4 16rF5 16rF6 16rF7
16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF
).
self xTestReversability: (CharacterEncoder::ISO8859_7) skip:#( 16rAE 16rD2 16rFF ).
self xTestReversability: (CharacterEncoder::ISO8859_8) skip:#( 16rA1 16rBF
16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7
16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF
16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7
16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE
16rFB 16rFC 16rFF
).
self xTestReversability: (CharacterEncoder::ISO8859_9).
self xTestReversability: (CharacterEncoder::ISO8859_10).
self xTestReversability: (CharacterEncoder::ISO8859_11) skip:#( 16rDB 16rDC 16rDD 16rDE 16rFC 16rFD 16rFE 16rFF ).
self xTestReversability: (CharacterEncoder::ISO8859_13).
self xTestReversability: (CharacterEncoder::ISO8859_14).
self xTestReversability: (CharacterEncoder::ISO8859_15).
self xTestReversability: (CharacterEncoder::ISO8859_16).
self xTestReversability: (CharacterEncoder::KOI8_U).
self xTestReversability: (CharacterEncoder::KOI8_R).
self xTestReversability: (CharacterEncoder::GSM0338) skip:( 16r80 to: 16rFF).
"
self new test1
"
! !
!CharacterEncoderTests class methodsFor:'documentation'!
version
^ '$Header$'
! !