RegressionTests__CharacterEncoderTests.st
changeset 229 de65129066f8
child 230 4cfe3e0aa415
equal deleted inserted replaced
228:435158e920b8 229:de65129066f8
       
     1 "{ Package: 'exept:regression' }"
       
     2 
       
     3 TestCase subclass:#CharacterEncoderTests
       
     4 	instanceVariableNames:''
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'Collections-Text-Encodings'
       
     8 !
       
     9 
       
    10 !CharacterEncoderTests class methodsFor:'documentation'!
       
    11 
       
    12 documentation
       
    13 "
       
    14     documentation to be added.
       
    15 
       
    16     [author:]
       
    17         Claus Gittinger (cg@alan)
       
    18 
       
    19     [instance variables:]
       
    20 
       
    21     [class variables:]
       
    22 
       
    23     [see also:]
       
    24 
       
    25 "
       
    26 !
       
    27 
       
    28 history
       
    29     "Created: / 11.2.2004 / 12:25:54 / cg"
       
    30 ! !
       
    31 
       
    32 !CharacterEncoderTests methodsFor:'helpers'!
       
    33 
       
    34 xTestReversability:encoderClass
       
    35     self xTestReversability:encoderClass skip:#()
       
    36 
       
    37     "
       
    38      self new xTestReversability: (CharacterEncoder::ISO8859_1)
       
    39     "
       
    40 !
       
    41 
       
    42 xTestReversability:encoderClass skip:skippedCodes
       
    43     |encoder|
       
    44 
       
    45     encoder := encoderClass new.
       
    46     0 to:255 do:[:code |
       
    47         |unicode code2|
       
    48 
       
    49         (skippedCodes includes:code) ifTrue:[
       
    50             self should:[ encoder decode:code ] raise:CharacterEncoderError.
       
    51         ] ifFalse:[
       
    52             unicode := encoder decode:code.
       
    53             code2 := encoder encode:unicode.
       
    54             self assert:(code == code2).
       
    55         ]
       
    56     ].
       
    57 
       
    58     "
       
    59      self new xTestReversability: (CharacterEncoder::ISO8859_1)
       
    60     "
       
    61 ! !
       
    62 
       
    63 !CharacterEncoderTests methodsFor:'initialize / release'!
       
    64 
       
    65 setUp
       
    66     "common setup - invoked before testing."
       
    67 
       
    68     super setUp
       
    69 !
       
    70 
       
    71 tearDown
       
    72     "common cleanup - invoked after testing."
       
    73 
       
    74     super tearDown
       
    75 ! !
       
    76 
       
    77 !CharacterEncoderTests methodsFor:'tests'!
       
    78 
       
    79 test1
       
    80      self xTestReversability: (CharacterEncoder::ISO8859_1).
       
    81      self xTestReversability: (CharacterEncoder::ISO8859_2).
       
    82      self xTestReversability: (CharacterEncoder::ISO8859_3) skip:#( 16rA5 16rAE 16rBE 16rC3 16rD0 16rE3 16rF0 ).
       
    83      self xTestReversability: (CharacterEncoder::ISO8859_4).
       
    84      self xTestReversability: (CharacterEncoder::ISO8859_5).
       
    85      self xTestReversability: (CharacterEncoder::ISO8859_6) skip:#(       16rA1 16rA2 16rA3       16rA5 16rA6 16rA7 
       
    86                                                                     16rA8 16rA9 16rAA 16rAB             16rAE 16rAF
       
    87                                                                     16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7 
       
    88                                                                     16rB8 16rB9 16rBA       16rBC 16rBD 16rBE
       
    89                                                                     16rC0  
       
    90                                                                                       16rDB 16rDC 16rDD 16rDE 16rDF
       
    91                                                                                       16rF3 16rF4 16rF5 16rF6 16rF7 
       
    92                                                                     16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF
       
    93                                                                   ).
       
    94      self xTestReversability: (CharacterEncoder::ISO8859_7) skip:#( 16rAE 16rD2 16rFF ).
       
    95      self xTestReversability: (CharacterEncoder::ISO8859_8) skip:#( 16rA1 16rBF 
       
    96                                                                     16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7 
       
    97                                                                     16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF
       
    98                                                                     16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7 
       
    99                                                                     16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE 
       
   100                                                                     16rFB 16rFC 16rFF
       
   101                                                                   ).
       
   102      self xTestReversability: (CharacterEncoder::ISO8859_9).
       
   103      self xTestReversability: (CharacterEncoder::ISO8859_10).
       
   104      self xTestReversability: (CharacterEncoder::ISO8859_11) skip:#( 16rDB 16rDC 16rDD 16rDE 16rFC 16rFD 16rFE 16rFF ).
       
   105      self xTestReversability: (CharacterEncoder::ISO8859_13).
       
   106      self xTestReversability: (CharacterEncoder::ISO8859_14).
       
   107      self xTestReversability: (CharacterEncoder::ISO8859_15).
       
   108      self xTestReversability: (CharacterEncoder::ISO8859_16).
       
   109      self xTestReversability: (CharacterEncoder::KOI8_U).
       
   110      self xTestReversability: (CharacterEncoder::KOI8_R).
       
   111 
       
   112      self xTestReversability: (CharacterEncoder::GSM0338) skip:( 16r80 to: 16rFF).
       
   113 
       
   114     "
       
   115      self new test1
       
   116     "
       
   117 ! !
       
   118 
       
   119 !CharacterEncoderTests class methodsFor:'documentation'!
       
   120 
       
   121 version
       
   122     ^ '$Header$'
       
   123 ! !